Commit graph

22 commits

Author SHA1 Message Date
bunnei
aaa3d91e7c gl_shader_decompiler: Partially implement I2I_R, and I2F_R. 2018-04-28 20:03:19 -04:00
bunnei
8c6970d20d shader_bytecode: Add decodings for i2i instructions. 2018-04-28 20:03:18 -04:00
bunnei
f252169fa6 gl_shader_decompiler: Implement MOV32_IMM instruction. 2018-04-28 20:03:18 -04:00
bunnei
8e661859a8 gl_shader_decompiler: Boilerplate for handling integer instructions. 2018-04-26 14:38:42 -04:00
Subv
1755d4bec3 Shaders: Added bit decodings for the I2I instruction. 2018-04-25 12:52:55 -05:00
Subv
74c89df1c8 Shaders: Added decodings for the FSET instructions. 2018-04-24 22:42:54 -05:00
bunnei
f66098bd37 shader_bytecode: Add several more instruction decodings. 2018-04-20 22:30:56 -04:00
bunnei
d2302ee79f shader_bytecode: Decode instructions based on bit strings. 2018-04-20 22:30:56 -04:00
Subv
2fbb91a6b6 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.
2018-04-20 21:09:33 -05:00
Subv
31de416fc0 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.
2018-04-20 21:09:33 -05:00
Subv
601c5d9d93 ShaderGen: Register id 255 is special and is hardcoded to return 0 (SR_ZERO). 2018-04-20 14:57:40 -05:00
Subv
4ca65f10b1 ShaderGen: Implemented the fmul32i shader instruction. 2018-04-19 13:46:32 -05:00
bunnei
797267eb58 shader_bytecode: Make ctor's constexpr and explicit. 2018-04-17 21:27:07 -04:00
bunnei
c1408040a6 gl_shader_decompiler: Implement FMUL/FADD/FFMA immediate instructions. 2018-04-17 16:36:42 -04:00
bunnei
05305422e1 gl_shader_decompiler: Add support for TEXS instruction. 2018-04-17 16:36:38 -04:00
bunnei
538322ec1f shaders: Add NumTextureSamplers const, remove unused #pragma. 2018-04-14 18:50:06 -04:00
bunnei
f48c229f0e shaders: Address PR review feedback. 2018-04-14 16:01:41 -04:00
bunnei
47bf0b0094 shaders: Fix GCC and clang build issues. 2018-04-14 16:01:40 -04:00
bunnei
d166a50ded gl_shader_decompiler: Implement negate, abs, etc. and lots of cleanup. 2018-04-14 16:01:40 -04:00
bunnei
a859a70da1 shader_bytecode: Add FSETP and KIL to GetInfo. 2018-04-14 16:01:40 -04:00
bunnei
6fe96737a1 shader_bytecode: Add SubOp decoding. 2018-04-14 16:01:40 -04:00
bunnei
0b49a74e19 shader_bytecode: Add initial module for shader decoding. 2018-04-13 23:48:19 -04:00