53a55bd751
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
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.
2018-07-04 10:26:46 -05:00
c996787d84
Merge pull request #609 from Subv/clear_buffers
...
GPU: Implemented the CLEAR_BUFFERS register.
2018-07-03 19:34:34 -04:00
c1811ed3d1
GPU: Support clears that don't clear the color buffer.
2018-07-03 16:56:47 -05:00
be51120d23
GPU: Bind and clear the render target when the CLEAR_BUFFERS register is written to.
2018-07-03 16:56:44 -05:00
827bb08c91
GPU: Added registers for the CLEAR_BUFFERS and CLEAR_COLOR methods.
2018-07-03 16:56:31 -05:00
15e68cdbaa
Merge pull request #607 from jroweboy/logging
...
Logging - Customizable backends
2018-07-03 00:26:45 -04:00
ddb767f1b6
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
5410b4659d
Merge pull request #610 from Subv/mufu_8
...
GPU: Implemented MUFU suboperation 8, sqrt.
2018-07-02 22:26:42 -04:00
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.
2018-07-02 21:06:36 -05:00
0d46f0df12
Update clang format
2018-07-02 21:45:47 -04:00
638956aa81
Rename logging macro back to LOG_*
2018-07-02 21:45:47 -04:00
92c7135065
Merge pull request #608 from Subv/depth
...
GPU: Implemented the depth buffer and depth test + culling
2018-07-02 21:24:43 -04:00
6e4e0b2b41
GPU: Implemented MUFU suboperation 8, sqrt.
2018-07-02 19:48:15 -05:00
055f1546d7
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
9685dd5840
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
c1f55c32c8
GPU: Added registers for depth test and cull mode.
2018-07-02 13:31:20 -05:00
0f929762b3
GPU: Implemented the Z24S8 depth format and load the depth framebuffer.
2018-07-02 12:42:04 -05:00
cc73bad293
GPU: Added register definitions for the vertex buffer base element.
2018-07-02 11:21:23 -05:00
ca633a5a3c
GPU: Directly copy the pixels when performing a same-layout DMA.
2018-07-02 09:46:33 -05:00
066d6184d4
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
f33e406ff2
GPU: Corrected the size of the MUFU subop field, and removed incorrect "min" operation.
2018-06-30 14:48:25 -05:00
c96da97630
gl_shader_decompiler: Implement predicate NotEqualWithNan.
2018-06-30 03:01:25 -04:00
6a28a66832
maxwell_3d: Add a struct for RenderTargetConfig.
2018-06-27 00:08:04 -04:00
a3d82ef5d9
Build: Fixed some MSVC warnings in various parts of the code.
2018-06-20 11:39:10 -05:00
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.
2018-06-18 19:50:35 -05:00
afdd657d30
gl_shader_decompiler: Implement LOP instructions.
2018-06-17 15:27:48 -04:00
5673ce39c7
gl_shader_decompiler: Refactor LOP32I instruction a bit in support of LOP.
2018-06-17 13:31:39 -04:00
d383043e07
gl_shader_decompiler: Implement integer size conversions for I2I/I2F/F2I.
2018-06-15 22:42:02 -04:00
019d7208c8
Merge pull request #556 from Subv/dma_engine
...
GPU: Partially implemented the Maxwell DMA engine.
2018-06-12 14:25:17 -04:00
2015a1b180
Merge pull request #558 from Subv/iadd32i
...
GPU: Implemented the iadd32i shader instruction.
2018-06-12 14:19:25 -04:00
db0497b808
GPU: Implemented the iadd32i shader instruction.
2018-06-12 11:46:45 -05:00
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.
2018-06-12 11:27:36 -05:00
5f3d6c85db
gl_shader_decompiler: Implement saturate for float instructions.
2018-06-11 21:46:34 -04:00
b366b885a1
GPU: Implement the iset family of shader instructions.
2018-06-09 16:19:13 -05:00
3cb753eeb1
GPU: Added decodings for the ISET family of instructions.
2018-06-09 15:56:50 -05:00
d81aaa3ed3
Merge pull request #550 from Subv/ssy
...
GPU: Stub the SSY shader instruction.
2018-06-09 00:42:53 -04:00
e2176dc7ce
Merge pull request #551 from bunnei/shr
...
gl_shader_decompiler: Implement SHR instruction.
2018-06-09 00:42:44 -04:00
5440b9c634
gl_shader_decompiler: Implement SHR instruction.
2018-06-09 00:01:17 -04:00
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.
2018-06-08 22:46:10 -05:00
bbc4f369ed
gl_shader_decompiler: Implement IADD instruction.
2018-06-08 23:25:22 -04:00
79e9c2e237
gl_shader_decompiler: Add missing asserts for saturate_a instructions.
2018-06-08 23:24:10 -04:00
c712dafaee
GPU: Added registers for normal and independent blending.
2018-06-08 17:04:41 -05:00
92209f905f
gl_shader_decompiler: Implement BFE_IMM instruction.
2018-06-07 00:58:12 -04:00
128aeba0f3
gl_shader_decompiler: F2F: Implement rounding modes.
2018-06-06 22:21:29 -04:00
4b114e1b8a
shader_bytecode: Add instruction decodings for BFE, IMNMX, and XMAD.
2018-06-06 19:47:34 -04:00
0ff2929644
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
4669f15f8b
gl_shader_decompiler: Implement LD_C instruction.
2018-06-06 18:09:06 -04:00
6e386a334b
gl_shader_decompiler: Refactor uniform handling to allow different decodings.
2018-06-06 17:57:15 -04:00
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.
2018-06-06 12:58:16 -05:00