Subv
0cad310e12
GPU: Corrected the decoding of FFMA for immediate operands.
8 years ago
Subv
9f6a5660e8
GPU: Allow using the old NV04 values for the depth test function.
These seem to be just a valid as the GL token values. Thanks @ReinUsesLisp
This restores graphical output to Disgaea 5
8 years ago
Subv
b0c92b80b1
GPU: Implemented the IMNMX shader instruction.
It's similar to the FMNMX instruction but it works on integers.
8 years ago
Subv
77cfe4f027
GPU: Stub the shader SYNC and DEPBAR instructions.
It is unknown at this moment if we actually need to do something with these instructions or if the GLSL compiler takes care of that for us.
8 years ago
Subv
c42b818cf9
GPU: Corrected the decoding for the TEX shader instruction.
8 years ago
Subv
53a55bd751
GPU: Implemented the PSETP shader instruction.
It's similar to the isetp and fsetp instructions but it works on predicates instead.
8 years ago
Subv
c1bebdef5e
GPU: Flip the triangle front face winding if the GPU is configured to not flip the triangles.
OpenGL's default behavior is already correct when the GPU is configured to flip the triangles.
This fixes 1-2 Switch's splash screen.
8 years ago
Subv
c1811ed3d1
GPU: Support clears that don't clear the color buffer.
8 years ago
Subv
be51120d23
GPU: Bind and clear the render target when the CLEAR_BUFFERS register is written to.
8 years ago
Subv
827bb08c91
GPU: Added registers for the CLEAR_BUFFERS and CLEAR_COLOR methods.
8 years ago
Subv
6e0eba9917
GPU: Use only the least significant 3 bits when reading the depth test func.
Some games set the full GL define value here (including nouveau), but others just seem to set those last 3 bits.
8 years ago
James Rowe
0d46f0df12
Update clang format
8 years ago
James Rowe
638956aa81
Rename logging macro back to LOG_*
8 years ago
Subv
6e4e0b2b41
GPU: Implemented MUFU suboperation 8, sqrt.
8 years ago
Subv
c1f55c32c8
GPU: Added registers for depth test and cull mode.
8 years ago
Subv
0f929762b3
GPU: Implemented the Z24S8 depth format and load the depth framebuffer.
8 years ago
Subv
cc73bad293
GPU: Added register definitions for the vertex buffer base element.
8 years ago
Subv
ca633a5a3c
GPU: Directly copy the pixels when performing a same-layout DMA.
8 years ago
Subv
f33e406ff2
GPU: Corrected the size of the MUFU subop field, and removed incorrect "min" operation.
8 years ago
bunnei
c96da97630
gl_shader_decompiler: Implement predicate NotEqualWithNan.
8 years ago
bunnei
6a28a66832
maxwell_3d: Add a struct for RenderTargetConfig.
8 years ago
Subv
a3d82ef5d9
Build: Fixed some MSVC warnings in various parts of the code.
8 years ago
Subv
eab7457c00
GPU: Don't mark uniform buffers and registers as used for instructions which don't have them.
Like the MOV32I and FMUL32I instructions.
This fixes a potential crash when using these instructions.
8 years ago
bunnei
afdd657d30
gl_shader_decompiler: Implement LOP instructions.
8 years ago
bunnei
5673ce39c7
gl_shader_decompiler: Refactor LOP32I instruction a bit in support of LOP.
8 years ago
bunnei
d383043e07
gl_shader_decompiler: Implement integer size conversions for I2I/I2F/F2I.
8 years ago
Subv
db0497b808
GPU: Implemented the iadd32i shader instruction.
8 years ago
Subv
987a170665
GPU: Partially implemented the Maxwell DMA engine.
Only tiled->linear and linear->tiled copies that aren't offsetted are supported for now. Queries are not supported. Swizzled copies are not supported.
8 years ago
bunnei
5f3d6c85db
gl_shader_decompiler: Implement saturate for float instructions.
8 years ago
Subv
b366b885a1
GPU: Implement the iset family of shader instructions.
8 years ago
Subv
3cb753eeb1
GPU: Added decodings for the ISET family of instructions.
8 years ago
bunnei
5440b9c634
gl_shader_decompiler: Implement SHR instruction.
8 years ago
Subv
abec5f82e2
GPU: Stub the SSY shader instruction.
This instruction tells the GPU where the flow reconverges in a non-uniform control flow scenario, we can ignore this when generating GLSL code.
8 years ago
bunnei
bbc4f369ed
gl_shader_decompiler: Implement IADD instruction.
8 years ago
bunnei
79e9c2e237
gl_shader_decompiler: Add missing asserts for saturate_a instructions.
8 years ago
Subv
c712dafaee
GPU: Added registers for normal and independent blending.
8 years ago
bunnei
92209f905f
gl_shader_decompiler: Implement BFE_IMM instruction.
8 years ago
bunnei
128aeba0f3
gl_shader_decompiler: F2F: Implement rounding modes.
8 years ago
bunnei
4b114e1b8a
shader_bytecode: Add instruction decodings for BFE, IMNMX, and XMAD.
8 years ago
bunnei
4669f15f8b
gl_shader_decompiler: Implement LD_C instruction.
8 years ago
bunnei
6e386a334b
gl_shader_decompiler: Refactor uniform handling to allow different decodings.
8 years ago
Subv
dbfc39d214
GPU: Implement sampling multiple textures in the generated glsl shaders.
All tested games that use a single texture show no regression.
Only Texture2D textures are supported right now, each shader gets its own "tex_fs/vs/gs" sampler array to maintain independent textures between shader stages, the textures themselves are reused if possible.
8 years ago
Subv
e7dfcdde74
GPU: Corrected the branch targets for the shader bra instruction.
8 years ago
Subv
4b89348c00
GPU: Implemented the F2I_R shader instruction.
8 years ago
bunnei
c23c30c76f
gl_shader_decompiler: Implement SHL instruction.
8 years ago
Subv
23b1e6eded
GPU: Implement the ISCADD shader instructions.
8 years ago
Subv
438a9b70cc
GPU: Added decodings for the ISCADD instructions.
8 years ago
Subv
2933521a08
GPU: Use the bf bit in FSET to determine whether to write 0xFFFFFFFF or 1.0f.
8 years ago
Subv
5d55403f94
GPU: Calculate the correct viewport dimensions based on the scale and translate registers.
This is how nouveau calculates the viewport width and height. For some reason some games set 0xFFFF in the VIEWPORT_HORIZ and VIEWPORT_VERT registers, maybe those are a misnomer and actually refer to something else?
8 years ago
Subv
0c688b421c
GPU: Implemented the LOP32I instruction.
8 years ago