aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2018-08-08Merge pull request #982 from bunnei/stub-unk-63bunnei
gl_shader_decompiler: Stub input attribute Unknown_63.
2018-08-08gl_rasterizer: Do not render when no render target is configured.bunnei
- Used by Super Mario Odyssey.
2018-08-08Merge pull request #976 from bunnei/shader-immbunnei
gl_shader_decompiler: Let OpenGL interpret floats.
2018-08-08Merge pull request #981 from bunnei/cbuf-corruptbunnei
maxwell_3d: Use correct const buffer size and check bounds.
2018-08-08Merge pull request #985 from bunnei/rt-r11g11b10bunnei
gpu: Add R11G11B10_FLOAT to RenderTargetBytesPerPixel.
2018-08-08Merge pull request #979 from bunnei/vtx88bunnei
maxwell_to_gl: Implement VertexAttribute::Size::Size_8_8.
2018-08-08gpu: Add R11G11B10_FLOAT to RenderTargetBytesPerPixel.bunnei
- Used by Super Mario Odyssey.
2018-08-08gl_shader_decompiler: Stub input attribute Unknown_63.bunnei
2018-08-08maxwell_3d: Use correct const buffer size and check bounds.bunnei
- Fixes mem corruption with Super Mario Odyssey and Pokkén Tournament DX.
2018-08-08renderer_opengl: Use trace log in a few places.bunnei
2018-08-08maxwell_to_gl: Implement VertexAttribute::Size::Size_8_8.bunnei
2018-08-08gl_rasterizer_cached: Implement RenderTargetFormat::B5G6R5_UNORM.bunnei
- Used by Super Mario Odyssey.
2018-08-08gl_shader_decompiler: Let OpenGL interpret floats.bunnei
- Accuracy is lost in translation to string, e.g. with NaN. - Needed for Super Mario Odyssey.
2018-08-07Merge pull request #964 from Hexagon12/lower-logsbunnei
Lowered down the logging for command processor methods
2018-08-07Fixed the sRGB pixel format (#963)Hexagon12
* Changed the sRGB pixel format return * Add a message about SRGBA -> RGBA conversion
2018-08-07Lowered down the logging for methodsHexagon12
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.