Subv
9ba997d4f0
GPU: Implemented the PSETP shader instruction.
...
It's similar to the isetp and fsetp instructions but it works on predicates instead.
2018-07-04 15:15:03 -05:00
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.
2018-07-04 10:26:46 -05:00
bunnei
3c4a5817c2
Merge pull request #609 from Subv/clear_buffers
...
GPU: Implemented the CLEAR_BUFFERS register.
2018-07-03 19:34:34 -04:00
Subv
20afd1187d
GPU: Support clears that don't clear the color buffer.
2018-07-03 16:56:47 -05:00
Subv
fd4699c84f
GPU: Bind and clear the render target when the CLEAR_BUFFERS register is written to.
2018-07-03 16:56:44 -05:00
Subv
be5f1dde73
GPU: Added registers for the CLEAR_BUFFERS and CLEAR_COLOR methods.
2018-07-03 16:56:31 -05:00
bunnei
1a67d370cf
Merge pull request #607 from jroweboy/logging
...
Logging - Customizable backends
2018-07-03 00:26:45 -04:00
bunnei
616c64f56d
Merge pull request #611 from Subv/enabled_depth_test
...
GPU: Don't try to parse the depth test function if the depth test is disabled and use only the least significant 3 bits in the depth test func
2018-07-02 23:47:11 -04:00
bunnei
0dcdf918d9
Merge pull request #610 from Subv/mufu_8
...
GPU: Implemented MUFU suboperation 8, sqrt.
2018-07-02 22:26:42 -04:00
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.
2018-07-02 21:06:36 -05:00
James Rowe
d74d2a77cb
Update clang format
2018-07-02 21:45:47 -04:00
James Rowe
e159c550d8
Rename logging macro back to LOG_*
2018-07-02 21:45:47 -04:00
bunnei
0b05c9abc8
Merge pull request #608 from Subv/depth
...
GPU: Implemented the depth buffer and depth test + culling
2018-07-02 21:24:43 -04:00
Subv
6880dd7352
GPU: Implemented MUFU suboperation 8, sqrt.
2018-07-02 19:48:15 -05:00
Sebastian Valle
5809a9bc82
Merge pull request #606 from Subv/base_vertex
...
GPU: Fixed the index offset and implement BaseVertex when doing indexed rendering.
2018-07-02 14:07:38 -05:00
Sebastian Valle
8bb96959c0
Merge pull request #605 from Subv/dma_copy
...
GPU: Directly copy the pixels when performing a same-layout DMA.
2018-07-02 14:06:56 -05:00
Subv
dfe650f7bd
GPU: Added registers for depth test and cull mode.
2018-07-02 13:31:20 -05:00
Subv
62068f723a
GPU: Implemented the Z24S8 depth format and load the depth framebuffer.
2018-07-02 12:42:04 -05:00
Subv
270358e666
GPU: Added register definitions for the vertex buffer base element.
2018-07-02 11:21:23 -05:00
Subv
70196aa935
GPU: Directly copy the pixels when performing a same-layout DMA.
2018-07-02 09:46:33 -05:00
bunnei
eac897d583
Merge pull request #602 from Subv/mufu_subop
...
GPU: Corrected the size of the MUFU subop field, and removed incorrect "min" operation.
2018-07-01 11:06:04 -04:00
Subv
b9e6f48dbb
GPU: Corrected the size of the MUFU subop field, and removed incorrect "min" operation.
2018-06-30 14:48:25 -05:00
bunnei
4406d9b84c
gl_shader_decompiler: Implement predicate NotEqualWithNan.
2018-06-30 03:01:25 -04:00
bunnei
1576d41c0f
maxwell_3d: Add a struct for RenderTargetConfig.
2018-06-27 00:08:04 -04:00
Subv
cb4ff57322
Build: Fixed some MSVC warnings in various parts of the code.
2018-06-20 11:39:10 -05:00
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.
2018-06-18 19:50:35 -05:00
bunnei
a72b4c358d
gl_shader_decompiler: Implement LOP instructions.
2018-06-17 15:27:48 -04:00
bunnei
b071232a75
gl_shader_decompiler: Refactor LOP32I instruction a bit in support of LOP.
2018-06-17 13:31:39 -04:00
bunnei
dc1808fa4a
gl_shader_decompiler: Implement integer size conversions for I2I/I2F/F2I.
2018-06-15 22:42:02 -04:00
bunnei
84e9756197
Merge pull request #556 from Subv/dma_engine
...
GPU: Partially implemented the Maxwell DMA engine.
2018-06-12 14:25:17 -04:00
bunnei
e11428e17e
Merge pull request #558 from Subv/iadd32i
...
GPU: Implemented the iadd32i shader instruction.
2018-06-12 14:19:25 -04:00
Subv
1a0c6910ce
GPU: Implemented the iadd32i shader instruction.
2018-06-12 11:46:45 -05:00
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.
2018-06-12 11:27:36 -05:00
bunnei
37110bbc02
gl_shader_decompiler: Implement saturate for float instructions.
2018-06-11 21:46:34 -04:00
Subv
297a99944e
GPU: Implement the iset family of shader instructions.
2018-06-09 16:19:13 -05:00
Subv
f387d11882
GPU: Added decodings for the ISET family of instructions.
2018-06-09 15:56:50 -05:00
bunnei
ede185a446
Merge pull request #550 from Subv/ssy
...
GPU: Stub the SSY shader instruction.
2018-06-09 00:42:53 -04:00
bunnei
5f2f250915
Merge pull request #551 from bunnei/shr
...
gl_shader_decompiler: Implement SHR instruction.
2018-06-09 00:42:44 -04:00
bunnei
9c12d989c3
gl_shader_decompiler: Implement SHR instruction.
2018-06-09 00:01:17 -04:00
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.
2018-06-08 22:46:10 -05:00
bunnei
179623a99c
gl_shader_decompiler: Implement IADD instruction.
2018-06-08 23:25:22 -04:00
bunnei
54408c16a8
gl_shader_decompiler: Add missing asserts for saturate_a instructions.
2018-06-08 23:24:10 -04:00
Subv
3e48928bf2
GPU: Added registers for normal and independent blending.
2018-06-08 17:04:41 -05:00
bunnei
221a29f0fd
gl_shader_decompiler: Implement BFE_IMM instruction.
2018-06-07 00:58:12 -04:00
bunnei
1586ee87ae
gl_shader_decompiler: F2F: Implement rounding modes.
2018-06-06 22:21:29 -04:00
bunnei
8160467a6d
shader_bytecode: Add instruction decodings for BFE, IMNMX, and XMAD.
2018-06-06 19:47:34 -04:00
bunnei
1a47f755f3
Merge pull request #534 from Subv/multitexturing
...
GPU: Implement sampling multiple textures in the generated glsl shaders.
2018-06-06 19:12:52 -04:00
bunnei
8ff7558d0c
gl_shader_decompiler: Implement LD_C instruction.
2018-06-06 18:09:06 -04:00
bunnei
dbdf703c20
gl_shader_decompiler: Refactor uniform handling to allow different decodings.
2018-06-06 17:57:15 -04:00
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.
2018-06-06 12:58:16 -05:00