aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/engines
AgeCommit message (Collapse)Author
2018-08-22Merge pull request #1124 from Subv/logic_opsbunnei
GPU: Implemented logic ops.
2018-08-21shader_bytecode: Parenthesize conditional expression within GetTextureType()Lioncash
Resolves a -Wlogical-op-parentheses warning.
2018-08-20shader_bytecode: Replace some UNIMPLEMENTED logs.bunnei
2018-08-20GPU: Added registers for the logicop functionality.Subv
2018-08-20Merge pull request #1104 from Subv/instanced_arraysbunnei
GLRasterizer: Implemented instanced vertex arrays.
2018-08-20Merge pull request #1112 from Subv/sampler_typesbunnei
Shaders: Use the correct shader type when sampling textures.
2018-08-19Merge pull request #1089 from Subv/neg_bitsbunnei
Shaders: Corrected the 'abs' and 'neg' bit usage in the float arithmetic instructions.
2018-08-19Shaders/TEXS: Fixed the component mask in the TEXS instruction.Subv
Previously we could end up with a TEXS that didn't write any outputs, this was wrong.
2018-08-19Shader: Added bitfields for the texture type of the various sampling ↵Subv
instructions.
2018-08-19Shaders: Added decodings for TLD4 and TLD4SSubv
2018-08-19Merge pull request #1109 from Subv/ldg_decodebunnei
Shaders: Added decodings for the LDG and STG instructions.
2018-08-19Merge pull request #1108 from Subv/front_facingbunnei
Shaders: Implemented the gl_FrontFacing input attribute (attr 63).
2018-08-19Shaders: Added decodings for the LDG and STG instructions.Subv
2018-08-19Shaders: Implemented the gl_FrontFacing input attribute (attr 63).Subv
2018-08-18GLRasterizer: Implemented instanced vertex arrays.Subv
Before each draw call, for every enabled vertex array configured as instanced, we take the current instance id and divide it by its configured divisor, then we multiply that by the corresponding stride and increment the start address by the resulting amount. This way we can simulate the vertex array being incremented once per instance without actually using OpenGL's instancing functions.
2018-08-18Shader: Implemented the predicate and mode arguments of LOP.Subv
The mode can be used to set the predicate to true depending on the result of the logic operation. In some cases, this means discarding the result (writing it to register 0xFF (Zero)). This is used by Super Mario Odyssey.
2018-08-18Shaders: Corrected the 'abs' and 'neg' bit usage in the float arithmetic ↵Subv
instructions. We should definitely audit our shader generator for more errors like this.
2018-08-18Added predcondition GreaterThanWithNanDavid Marcec
2018-08-14Rasterizer: Implemented instanced rendering.Subv
We keep track of the current instance and update an uniform in the shaders to let them know which instance they are. Instanced vertex arrays are not yet implemented.
2018-08-12gl_shader_decompiler: Implement XMAD instruction.bunnei
2018-08-11Merge pull request #1024 from Subv/blend_glbunnei
GPU/Maxwell3D: Implemented an alternative set of blend factors.
2018-08-11GPU/Maxwell3D: Implemented an alternative set of blend factors.Subv
These are used by nouveau and some games like SMO.
2018-08-11RasterizerGL: Ignore invalid/unset vertex attributes.Subv
This should make the es2gears example not crash anymore.
2018-08-11Merge pull request #1010 from bunnei/unk-vert-attrib-shaderbunnei
gl_shader_decompiler: Improve handling of unknown input/output attributes.
2018-08-11gl_shader_decompiler: Improve handling of unknown input/output attributes.bunnei
2018-08-11Merge pull request #1018 from Subv/ssy_syncbunnei
GPU/Shader: Implemented SSY and SYNC as a set_target/jump pair.
2018-08-11GPU/Shader: Don't predicate instructions that don't have a predicate field ↵Subv
(SSY).
2018-08-09video_core: Use variable template variants of type_traits interfaces where ↵Lioncash
applicable
2018-08-08maxwell_3d: Ignore macros that have not been uploaded yet.bunnei
- Used by Super Mario Odyssey (in game).
2018-08-08Merge pull request #982 from bunnei/stub-unk-63bunnei
gl_shader_decompiler: Stub input attribute Unknown_63.
2018-08-08Merge pull request #976 from bunnei/shader-immbunnei
gl_shader_decompiler: Let OpenGL interpret floats.
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-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-05maxwell_3d: Remove outdated assert.bunnei
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-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-22shader_bytecode: Implement other TEXS masks.bunnei
2018-07-22gl_shader_decompiler: Implement SEL instruction.bunnei
2018-07-21maxwell_3d: Add depth buffer enable, width, and height registers.bunnei
2018-07-20video_core: Use nested namespaces where applicableLioncash
Compresses a few namespace specifiers to be more compact.
2018-07-19maxwell_3d: Remove unused variable within GetStageTextures()Lioncash
2018-07-17GPU: Added register definitions for the stencil parameters.Subv
2018-07-12gl_rasterizer: Fix check for if a shader stage is enabled.bunnei
2018-07-12Merge pull request #655 from bunnei/pred-lt-nanbunnei
gl_shader_decompiler: Implement PredCondition::LessThanWithNan.
2018-07-12gl_shader_decompiler: Implement PredCondition::LessThanWithNan.bunnei
2018-07-12gl_shader_decompiler: Use FlowCondition field in EXIT instruction.bunnei
2018-07-12Merge pull request #652 from Subv/fadd32iSebastian Valle
GPU: Implement the FADD32I shader instruction.
2018-07-12Merge pull request #651 from Subv/ffma_decodebunnei
GPU: Corrected the decoding of FFMA for immediate operands.
2018-07-12GPU: Implement the FADD32I shader instruction.Subv