Commit graph

97 commits

Author SHA1 Message Date
bunnei
6f3f5f5d99 Merge pull request #2083 from ReinUsesLisp/shader-ir-cbuf-tracking
shader/track: Add a more permissive global memory tracking
2019-02-06 21:56:14 -05:00
bunnei
38df722dc7 Merge pull request #2081 from ReinUsesLisp/lmem-64
shader_ir/memory: Add LD_L 64 bits loads
2019-02-05 09:17:48 -05:00
bunnei
66514e4190 Merge pull request #2082 from FernandoS27/txq-stl
Fix TXQ not using the component mask.
2019-02-04 20:22:32 -05:00
Fernando Sahmkow
4133c86d71 Fix TXQ not using the component mask. 2019-02-03 18:17:18 -04:00
ReinUsesLisp
a6c3180b68 shader_ir/memory: Add ST_L 64 and 128 bits stores 2019-02-03 19:08:10 -03:00
ReinUsesLisp
92c948999b shader_ir: Rename BasicBlock to NodeBlock
It's not always used as a basic block. Rename it for consistency.
2019-02-03 17:21:20 -03:00
ReinUsesLisp
e3c0f29a4d shader_ir: Pass decoded nodes as a whole instead of per basic blocks
Some games call LDG at the top of a basic block, making the tracking
heuristic to fail. This commit lets the heuristic the decoded nodes as a
whole instead of per basic blocks.

This may lead to some false positives but allows it the heuristic to
track cases it previously couldn't.
2019-02-03 17:21:20 -03:00
ReinUsesLisp
0b57f33fdf shader_ir/memory: Add LD_L 128 bits loads 2019-02-03 00:35:34 -03:00
ReinUsesLisp
5ae8a056fe shader_bytecode: Rename BytesN enums to BitsN 2019-02-03 00:25:40 -03:00
ReinUsesLisp
a8cbcb1210 shader_ir/memory: Add LD_L 64 bits loads 2019-02-03 00:25:40 -03:00
ReinUsesLisp
12fbe5dcf8 shader_ir: Unify constant buffer offset values
Constant buffer values on the shader IR were using different offsets if
the access direct or indirect. cbuf34 has a non-multiplied offset while
cbuf36 does. On shader decoding this commit multiplies it by four on
cbuf34 queries.
2019-01-30 02:45:50 -03:00
ReinUsesLisp
d516c50fe2 shader_decode: Implement LDG and basic cbuf tracking 2019-01-30 00:00:15 -03:00
ReinUsesLisp
c5c75bc21a shader_ir: Fixup clang build 2019-01-15 21:06:05 -03:00
ReinUsesLisp
53c06f089d shader_decode: Fixup XMAD 2019-01-15 17:54:53 -03:00
ReinUsesLisp
1be12d5819 shader_ir: Pass to decoder functions basic block's code 2019-01-15 17:54:53 -03:00
ReinUsesLisp
719c83a4c2 shader_decode: Improve zero flag implementation 2019-01-15 17:54:53 -03:00
ReinUsesLisp
c75f5c634a shader_ir: Remove composite primitives and use temporals instead 2019-01-15 17:54:53 -03:00
ReinUsesLisp
92610e9705 shader_decode: Use proper primitive names 2019-01-15 17:54:53 -03:00
ReinUsesLisp
44fce20a01 shader_decode: Use BitfieldExtract instead of shift + and 2019-01-15 17:54:53 -03:00
ReinUsesLisp
26d519c0f6 shader_ir: Remove Ipa primitive 2019-01-15 17:54:53 -03:00
ReinUsesLisp
8df3fb8b1e shader_ir: Remove RZ and use Register::ZeroIndex instead 2019-01-15 17:54:53 -03:00
ReinUsesLisp
35724f3435 shader_decode: Implement TEXS.F16 2019-01-15 17:54:53 -03:00
ReinUsesLisp
afa9967c4a shader_decode: Fixup R2P 2019-01-15 17:54:53 -03:00
ReinUsesLisp
a90860a63a shader_decode: Fixup WriteLogicOperation zero comparison 2019-01-15 17:54:53 -03:00
ReinUsesLisp
1314fd5277 shader_decode: Fixup PSET 2019-01-15 17:54:53 -03:00
ReinUsesLisp
495fbb2096 shader_decode: Fixup clang-format 2019-01-15 17:54:53 -03:00
ReinUsesLisp
0b1a2a74b6 video_core: Implement IR based geometry shaders 2019-01-15 17:54:53 -03:00
ReinUsesLisp
095b8f822b shader_decode: Implement VMAD and VSETP 2019-01-15 17:54:53 -03:00
ReinUsesLisp
a71ce91f9b shader_decode: Implement HSET2 2019-01-15 17:54:53 -03:00
ReinUsesLisp
5896358e4a shader_decode: Rework HSETP2 2019-01-15 17:54:53 -03:00
ReinUsesLisp
e0971b5f9c shader_decode: Implement R2P 2019-01-15 17:54:53 -03:00
ReinUsesLisp
8f2327d84b shader_decode: Implement CSETP 2019-01-15 17:54:52 -03:00
ReinUsesLisp
da25db6829 shader_decode: Implement PSET 2019-01-15 17:54:52 -03:00
ReinUsesLisp
54bffa5381 shader_decode: Implement HFMA2 2019-01-15 17:54:52 -03:00
ReinUsesLisp
9cf3fe7511 shader_decode: Implement POPC 2019-01-15 17:54:52 -03:00
ReinUsesLisp
43dffc4afc shader_decode: Implement TLDS (untested) 2019-01-15 17:54:52 -03:00
ReinUsesLisp
8e4e4c60cd shader_decode: Update TLD4 reflecting #1862 changes 2019-01-15 17:54:52 -03:00
ReinUsesLisp
fb53e79b7f shader_ir: Fixup TEX and TEXS and partially fix TLD4 decompiling 2019-01-15 17:54:52 -03:00
ReinUsesLisp
8664c00a2e shader_decode: Fixup FSET 2019-01-15 17:54:52 -03:00
ReinUsesLisp
bdfa3b5fe9 shader_decode: Implement IADD32I 2019-01-15 17:54:52 -03:00
ReinUsesLisp
dc93729f47 video_core: Return safe values after an assert hits 2019-01-15 17:54:52 -03:00
ReinUsesLisp
dbf4c5264b shader_decode: Implement FFMA 2019-01-15 17:54:52 -03:00
ReinUsesLisp
8ef8fd8188 shader_ir: Fixup file inclusions and clang-format 2019-01-15 17:54:52 -03:00
ReinUsesLisp
6e4aad30c9 shader_decode: Fixup clang-format 2019-01-15 17:54:52 -03:00
ReinUsesLisp
497d16bdf1 shader_decode: Implement LEA 2019-01-15 17:54:52 -03:00
ReinUsesLisp
368b588c7f shader_decode: Implement IADD3 2019-01-15 17:54:52 -03:00
ReinUsesLisp
37de0d1560 shader_decode: Implement LOP3 2019-01-15 17:54:52 -03:00
ReinUsesLisp
40e9335807 shader_decode: Implement ST_L 2019-01-15 17:54:52 -03:00
ReinUsesLisp
af828ce72c shader_decode: Implement LD_L 2019-01-15 17:54:52 -03:00
ReinUsesLisp
b3c02a5a4e shader_decode: Implement HSETP2 2019-01-15 17:54:52 -03:00