aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2018-08-05maxwell_3d: Remove outdated assert.bunnei
2018-08-05gl_rasterizer_cache: Avoid superfluous surface copies.bunnei
2018-08-05Merge pull request #927 from bunnei/fix-texsbunnei
gl_shader_decompiler: Fix TEXS mask and dest.
2018-08-05Merge pull request #912 from lioncash/global-varbunnei
video_core: Eliminate the g_renderer global variable
2018-08-05gl_shader_decompiler: Fix TEXS mask and dest.bunnei
2018-08-05added braces for conditionsDavid Marcec
2018-08-05fix the attrib format for intsDavid Marcec
2018-08-04Merge pull request #919 from lioncash/signbunnei
gl_shader_manager: Amend sign differences in an assertion comparison in SetShaderUniformBlockBinding()
2018-08-04gl_shader_manager: Invert conditional in SetShaderUniformBlockBinding()Lioncash
This lets us indent the majority of the code and places the error case first.
2018-08-04gl_shader_manager: Amend sign differences in an assertion comparison in ↵Lioncash
SetShaderUniformBlockBinding() Ensures both operands have the same sign in the comparison. While we're at it, we can get rid of the redundant casting of ub_size to an int. This type will always be trivial and alias a built-in type (not doing so would break backwards compatibility at a standard level).
2018-08-04renderer_base: Make Rasterizer() return the rasterizer by referenceLioncash
All calling code assumes that the rasterizer will be in a valid state, which is a totally fine assumption. The only way the rasterizer wouldn't be is if initialization is done incorrectly or fails, which is checked against in System::Init().
2018-08-04video_core: Eliminate the g_renderer global variableLioncash
We move the initialization of the renderer to the core class, while keeping the creation of it and any other specifics in video_core. This way we can ensure that the renderer is initialized and doesn't give unfettered access to the renderer. This also makes dependencies on types more explicit. For example, the GPU class doesn't need to depend on the existence of a renderer, it only needs to care about whether or not it has a rasterizer, but since it was accessing the global variable, it was also making the renderer a part of its dependency chain. By adjusting the interface, we can get rid of this dependency.
2018-08-04Merge pull request #911 from lioncash/prototypebunnei
video_core: Remove unimplemented Start() function prototype
2018-08-03Merge pull request #910 from lioncash/unusedbunnei
gl_shader_decompiler: Remove unused variable in GenerateDeclarations()
2018-08-03video_core: Remove unimplemented Start() function prototypeLioncash
Given this has no definition, we can just remove it entirely.
2018-08-03gl_shader_decompiler: Remove unused variable in GenerateDeclarations()Lioncash
This variable was being incremented, but we were never actually using it.
2018-08-03gl_shader_manager: Make ProgramManager's GetCurrentProgramStage() a const ↵Lioncash
member function This function doesn't modify class state, so it can be made const.
2018-08-03Merge pull request #892 from lioncash/globalbunnei
video_core: Make global EmuWindow instance part of the base renderer …
2018-08-02Merge pull request #901 from lioncash/refbunnei
gl_shader_manager: Take ShaderSetup instances by const reference in UseProgrammableVertexShader() and UseProgrammableFragmentShader()
2018-08-02Merge pull request #902 from lioncash/arraybunnei
gl_state: Make texture_units a std::array
2018-08-02Implement RGB32F PixelFormat (#886) (used by Go Vacation)greggameplayer
2018-08-02gl_state: Make texture_units a std::arrayLioncash
Gets rid of the use of a raw C array.
2018-08-02gl_shader_manager: Take ShaderSetup instances by const reference in ↵Lioncash
UseProgrammableVertexShader() and UseProgrammableFragmentShader() Avoids performing unnecessary copies of 65560 byte sized ShaderSetup instances, considering it's only used as part of lookup and not modified. Given the parameters were already const, it's likely taking these parameters by reference was intended but the ampersand was forgotten.
2018-08-01video_core: Make global EmuWindow instance part of the base renderer classLioncash
Makes the global a member of the RendererBase class. We also change this to be a reference. Passing any form of null pointer to these functions is incorrect entirely, especially given the code itself assumes that the pointer would always be in a valid state. This also makes it easier to follow the lifecycle of instances being used, as we explicitly interact the renderer with the rasterizer, rather than it just operating on a global pointer.
2018-08-01Implement R32_FLOAT RenderTargetFormatUnknown
2018-07-31Merge pull request #869 from Subv/ubsanbunnei
Corrected a few error cases detected by asan/ubsan
2018-07-30MacroInterpreter: Avoid left shifting negative values.Subv
The branch target is signed, so multiply by 4 instead of left shifting by 2
2018-07-26Merge pull request #808 from lioncash/mem-dedupbunnei
video_core/memory_manager: Avoid repeated unnecessary page slot lookups
2018-07-26GPU: Allow using R16F as a render target format.Subv
2018-07-26Implement R16_G16Unknown
correct trailing white spaces Delete tabs correct placement Add RG16F & RG16UI & RG16I & RG16S PixelFormats Return correct data according to changes done previously correct PixelFormat declaration correct coding style error correct coding style error part 2 correct RG16S Declaration error correct alignment
2018-07-25Merge pull request #819 from Subv/srgbbunnei
GPU: Use the right texture format for sRGBA framebuffers.
2018-07-25GPU: Use the right texture format for sRGBA framebuffers.Subv
2018-07-25GPU: Allow the use of Z24S8 as a texture format.Subv
2018-07-25Merge pull request #816 from Subv/z32_s8bunnei
GPU: Implemented the Z32_S8_X24 depth buffer format.
2018-07-25Merge pull request #815 from Subv/z32f_texbunnei
GPU: Allow using Z32 as a texture format.
2018-07-25Merge pull request #814 from Subv/rt_r8bunnei
GPU: Allow the usage of R8 as a render target format.
2018-07-24Merge pull request #809 from lioncash/rasterizerbunnei
gl_rasterizer: Minor cleanup
2018-07-24Merge pull request #811 from Subv/code_address_assertbunnei
GPU: Remove the assert that required the CODE_ADDRESS to be 0.
2018-07-24GPU: Implemented the Z32_S8_X24 depth buffer format.Subv
2018-07-24GPU: Allow using Z32 as a texture format.Subv
2018-07-24GPU: Allow the usage of R8 as a render target format.Subv
2018-07-24GPU: Remove the assert that required the CODE_ADDRESS to be 0.Subv
Games usually just leave it at 0 but nouveau sets it to something else. This already works fine, the assert is useless.
2018-07-24GPU: Implemented the R16 and R16F texture formats.Subv
2018-07-24gl_rasterizer: Replace magic number with GL_INVALID_INDEX in SetupConstBuffers()Lioncash
This is just the named constant that OpenGL provides, so we can use that instead of using a literal -1
2018-07-24gl_rasterizer: Use std::string_view instead of std::string when checking for ↵Lioncash
extensions We can avoid heap allocations here by just using a std::string_view instead of performing unnecessary copying of the string data.
2018-07-24gl_rasterizer: Use in-class member initializers where applicableLioncash
We can just assign to the members directly in these cases.
2018-07-24video_core/memory_manager: Replace a loop with std::array's fill() function ↵Lioncash
in PageSlot() We already have a function that does what this code was doing, so let's use that instead.
2018-07-24video_core/memory_manager: Avoid repeated unnecessary page slot lookupsLioncash
We don't need to keep calling the same function over and over again in a loop, especially when the behavior is slightly non-trivial. We can just keep a reference to the looked up location and do all the checking and assignments based off it instead.
2018-07-24Merge pull request #799 from Subv/tex_r32fbunnei
GPU: Implement texture format R32F.
2018-07-24Merge pull request #796 from bunnei/gl-uintbunnei
maxwell_to_gl: Implement VertexAttribute::Type::UnsignedInt.