Subv
70f55cf738
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
20afd1187d
GPU: Support clears that don't clear the color buffer.
8 years ago
Subv
fd4699c84f
GPU: Bind and clear the render target when the CLEAR_BUFFERS register is written to.
8 years ago
Subv
be5f1dde73
GPU: Added registers for the CLEAR_BUFFERS and CLEAR_COLOR methods.
8 years ago
Subv
40fd6504e2
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
d74d2a77cb
Update clang format
8 years ago
James Rowe
e159c550d8
Rename logging macro back to LOG_*
8 years ago
Subv
6880dd7352
GPU: Implemented MUFU suboperation 8, sqrt.
8 years ago
Subv
dfe650f7bd
GPU: Added registers for depth test and cull mode.
8 years ago
Subv
62068f723a
GPU: Implemented the Z24S8 depth format and load the depth framebuffer.
8 years ago
Subv
270358e666
GPU: Added register definitions for the vertex buffer base element.
8 years ago
Subv
70196aa935
GPU: Directly copy the pixels when performing a same-layout DMA.
8 years ago
Subv
b9e6f48dbb
GPU: Corrected the size of the MUFU subop field, and removed incorrect "min" operation.
8 years ago
bunnei
4406d9b84c
gl_shader_decompiler: Implement predicate NotEqualWithNan.
8 years ago
bunnei
1576d41c0f
maxwell_3d: Add a struct for RenderTargetConfig.
8 years ago
Subv
cb4ff57322
Build: Fixed some MSVC warnings in various parts of the code.
8 years ago
Subv
cd61616ddb
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
a72b4c358d
gl_shader_decompiler: Implement LOP instructions.
8 years ago
bunnei
b071232a75
gl_shader_decompiler: Refactor LOP32I instruction a bit in support of LOP.
8 years ago
bunnei
dc1808fa4a
gl_shader_decompiler: Implement integer size conversions for I2I/I2F/F2I.
8 years ago
Subv
1a0c6910ce
GPU: Implemented the iadd32i shader instruction.
8 years ago
Subv
df214db493
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
37110bbc02
gl_shader_decompiler: Implement saturate for float instructions.
8 years ago
Subv
297a99944e
GPU: Implement the iset family of shader instructions.
8 years ago
Subv
f387d11882
GPU: Added decodings for the ISET family of instructions.
8 years ago
bunnei
9c12d989c3
gl_shader_decompiler: Implement SHR instruction.
8 years ago
Subv
6d7be6fc08
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
179623a99c
gl_shader_decompiler: Implement IADD instruction.
8 years ago
bunnei
54408c16a8
gl_shader_decompiler: Add missing asserts for saturate_a instructions.
8 years ago
Subv
3e48928bf2
GPU: Added registers for normal and independent blending.
8 years ago
bunnei
221a29f0fd
gl_shader_decompiler: Implement BFE_IMM instruction.
8 years ago
bunnei
1586ee87ae
gl_shader_decompiler: F2F: Implement rounding modes.
8 years ago
bunnei
8160467a6d
shader_bytecode: Add instruction decodings for BFE, IMNMX, and XMAD.
8 years ago
bunnei
8ff7558d0c
gl_shader_decompiler: Implement LD_C instruction.
8 years ago
bunnei
dbdf703c20
gl_shader_decompiler: Refactor uniform handling to allow different decodings.
8 years ago
Subv
411f04b5a4
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
18d020ae81
GPU: Corrected the branch targets for the shader bra instruction.
8 years ago
Subv
1476b79308
GPU: Implemented the F2I_R shader instruction.
8 years ago
bunnei
3ffb26b0a6
gl_shader_decompiler: Implement SHL instruction.
8 years ago
Subv
368be6ae32
GPU: Implement the ISCADD shader instructions.
8 years ago
Subv
4e153d2bd6
GPU: Added decodings for the ISCADD instructions.
8 years ago
Subv
3e3e3274c7
GPU: Use the bf bit in FSET to determine whether to write 0xFFFFFFFF or 1.0f.
8 years ago
Subv
a58a06a218
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
7caec68586
GPU: Implemented the LOP32I instruction.
8 years ago
Subv
c330734536
GPU: Implemented the ISETP_R and ISETP_C shader instructions.
8 years ago
Subv
54a12f1b84
GPU: Partially implemented the shader BRA instruction.
8 years ago
Subv
d75c79b61a
GPU: Added decoding for the BRA instruction.
8 years ago
Subv
315e5e6cf3
GPU: Partial implementation of long GPU queries.
Long queries write a 128-bit result value to memory, which consists of a 64 bit query value and a 64 bit timestamp.
In this implementation, only select=Zero of the Crop unit is implemented, this writes the query sequence as a 64 bit value, and a 0u64 value for the timestamp, since we emulate an infinitely fast GPU.
This specific type was hwtested, but more rigorous tests should be performed in the future for the other types.
8 years ago
bunnei
94b620a89e
gl_shader_decompiler: Implement TEXS component mask.
8 years ago
bunnei
76da1f526a
gl_shader_decompiler: Implement RRO as a register move.
8 years ago