aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/renderer_opengl
AgeCommit message (Collapse)Author
2018-08-09Merge pull request #992 from bunnei/declr-predbunnei
gl_shader_decompiler: Declare predicates on use.
2018-08-09Merge pull request #994 from lioncash/constbunnei
gl_rasterizer_cache: Use std::vector::assign vs resize() then copy for the non-tiled case
2018-08-09Merge pull request #993 from bunnei/smo-vtx-ptsbunnei
Implement VertexAttribute::Size::Size_16_16_16_16 and PrimitiveTopology::Points.
2018-08-09Merge pull request #984 from bunnei/rt-nonebunnei
gl_rasterizer: Do not render when no render target is configured.
2018-08-09Implement BC5/DXN2 (#996)Khangaroo
- Used by Kirby Star Allies.
2018-08-08Merge pull request #977 from bunnei/bgr565bunnei
gl_rasterizer_cached: Implement RenderTargetFormat::B5G6R5_UNORM.
2018-08-08gl_rasterizer_cache: Invert conditional in LoadGLBuffer()Lioncash
It's generally easier to follow code using conditionals that operate in terms of the true case followed by the false case (no chance of overlooking the exclamation mark).
2018-08-08gl_rasterizer_cache: Use std::vector::assign in LoadGLBuffer() for the ↵Lioncash
non-tiled case resize() causes the vector to expand and zero out the added members to the vector, however we can avoid this zeroing by using assign(). Given we have the pointer to the data we want to copy, we can calculate the end pointer and directly copy the range of data without the need to perform the resize() beforehand.
2018-08-08maxwell_to_gl: Implement VertexAttribute::Size::Size_16_16_16_16.bunnei
- Used by Super Mario Odyssey (in game).
2018-08-08maxwell_to_gl: Implement PrimitiveTopology::Points.bunnei
- Used by Super Mario Odyssey (in game).
2018-08-08gl_shader_decompiler: Declare predicates on use.bunnei
- Used by Super Mario Odyssey (when going in game).
2018-08-08gl_rasterizer_cache: Make pointer const in LoadGLBuffer()Lioncash
This is only ever read from, so we can make the data it's pointing to const.
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 #979 from bunnei/vtx88bunnei
maxwell_to_gl: Implement VertexAttribute::Size::Size_8_8.
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-07Fixed the sRGB pixel format (#963)Hexagon12
* Changed the sRGB pixel format return * Add a message about SRGBA -> RGBA conversion
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-03Merge pull request #910 from lioncash/unusedbunnei
gl_shader_decompiler: Remove unused variable in GenerateDeclarations()
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-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