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
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
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
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
0c688b421c
GPU: Implemented the LOP32I instruction.
8 years ago
Subv
7c181fd4f4
GPU: Implemented the ISETP_R and ISETP_C shader instructions.
8 years ago
Subv
b481d8a00d
GPU: Partially implemented the shader BRA instruction.
8 years ago
Subv
06c72b4fcf
GPU: Added decoding for the BRA instruction.
8 years ago
bunnei
1efcba346a
gl_shader_decompiler: Implement TEXS component mask.
8 years ago
bunnei
e54ea773fc
gl_shader_decompiler: Implement RRO as a register move.
8 years ago
bunnei
888eb345c0
gl_shader_decompiler: Implement TEX instruction.
8 years ago
bunnei
4c727d0ba8
gl_shader_decompiler: Support multi-destination for TEXS.
8 years ago
Subv
99f12b05fa
Shaders: Implemented reading the gl_InstanceID and gl_VertexID variables in the vertex shader.
8 years ago
bunnei
68937a662d
gl_shader_decompiler: Partially implement F2F_R instruction.
8 years ago
bunnei
ee53688ca7
shader_bytecode: Implement other variants of FMNMX.
8 years ago
Subv
8440cef223
Shaders: Implemented the FMNMX shader instruction.
8 years ago
Subv
a056d5ad8c
ShadersDecompiler: Added decoding for the PSETP instruction.
8 years ago
bunnei
c7ce472eeb
shader_bytecode: Add decoding for FMNMX instruction.
8 years ago
bunnei
0c01c34eff
gl_shader_decompiler: Partially implement I2I_R, and I2F_R.
8 years ago
bunnei
f2dcb39049
shader_bytecode: Add decodings for i2i instructions.
8 years ago
bunnei
a7b5ab4d9a
gl_shader_decompiler: Implement MOV32_IMM instruction.
8 years ago
bunnei
c9d7abe9c9
gl_shader_decompiler: Boilerplate for handling integer instructions.
8 years ago
Subv
e9ad8e9185
Shaders: Added bit decodings for the I2I instruction.
8 years ago
Subv
0369ee7248
Shaders: Added decodings for the FSET instructions.
8 years ago
bunnei
e1630c4d43
shader_bytecode: Add several more instruction decodings.
8 years ago
bunnei
9f6d305eab
shader_bytecode: Decode instructions based on bit strings.
8 years ago
Subv
c3a8ea76f1
ShaderGen: Implemented predicated instruction execution.
Each predicated instruction will be wrapped in an `if (predicate) { instruction_body; }` in the GLSL, where `predicate` is one of the predicate boolean variables previously set by fsetp.
8 years ago
Subv
0a5e01b710
ShaderGen: Implemented the fsetp instruction.
Predicate variables are now added to the generated shader code in the form of 'pX' where X is the predicate id.
These predicate variables are initialized to false on shader startup and are set via the fsetp instructions.
TODO:
* Not all the comparison types are implemented.
* Only the single-predicate version is implemented.
8 years ago
Subv
d03fc77475
ShaderGen: Register id 255 is special and is hardcoded to return 0 (SR_ZERO).
8 years ago
Subv
fe84842137
ShaderGen: Implemented the fmul32i shader instruction.
8 years ago
bunnei
531c25386e
shader_bytecode: Make ctor's constexpr and explicit.
8 years ago
bunnei
5a28dce9eb
gl_shader_decompiler: Implement FMUL/FADD/FFMA immediate instructions.
8 years ago