aboutsummaryrefslogtreecommitdiff
path: root/src/video_core
AgeCommit message (Collapse)Author
2018-08-09Merge pull request #991 from bunnei/ignore-macbunnei
maxwell_3d: Ignore macros that have not been uploaded yet.
2018-08-09Implement SNORM for BC5/DXN2 (#998)Khangaroo
* Implement BC5/DXN2 (#996) - Used by Kirby Star Allies. * Implement BC5/DXN2 SNORM UNORM for Kirby Star Allies SNORM for Super Mario Odyssey
2018-08-09gl_shader_decompiler: Reserve element memory beforehand in BuildRegisterList()Lioncash
Avoids potentially perfoming multiple reallocations when we know the total amount of memory we need beforehand.
2018-08-09gl_rasterizer_cache: Avoid iterator invalidation issues within ↵Lioncash
InvalidateRegion() A range-based for loop can't be used when the container being iterated is also being erased from.
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-08maxwell_3d: Ignore macros that have not been uploaded yet.bunnei
- Used by Super Mario Odyssey (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 #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.