ReinUsesLisp
13b83e6e0f
shader/track: Search inside of conditional nodes
Some games search conditionally use global memory instructions. This
allows the heuristic to search inside conditional nodes for the source
constant buffer.
7 years ago
ReinUsesLisp
92c948999b
shader_ir: Rename BasicBlock to NodeBlock
It's not always used as a basic block. Rename it for consistency.
7 years ago
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.
7 years ago
ReinUsesLisp
0b57f33fdf
shader_ir/memory: Add LD_L 128 bits loads
7 years ago
ReinUsesLisp
5ae8a056fe
shader_bytecode: Rename BytesN enums to BitsN
7 years ago
ReinUsesLisp
a8cbcb1210
shader_ir/memory: Add LD_L 64 bits loads
7 years ago
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.
7 years ago
ReinUsesLisp
d516c50fe2
shader_decode: Implement LDG and basic cbuf tracking
7 years ago
Lioncash
4addab6160
shader/shader_ir: Amend three comment typos
Given we're in the area, these are three trivial typos that can be
corrected.
7 years ago
Lioncash
a7de39a6ba
shader/shader_ir: Amend constructor initializer ordering for AbufNode
Orders the class members in the same order that they would actually be
initialized in. Gets rid of two compiler warnings.
7 years ago
Lioncash
980ea9cfb1
shader/decode: Avoid a pessimizing std::move within DecodeRange()
std::moveing a local variable in a return statement has the potential to
prevent copy elision from occurring, so this can just be converted into
a regular return.
7 years ago
ReinUsesLisp
c5c75bc21a
shader_ir: Fixup clang build
7 years ago
ReinUsesLisp
53c06f089d
shader_decode: Fixup XMAD
7 years ago
ReinUsesLisp
1be12d5819
shader_ir: Pass to decoder functions basic block's code
7 years ago
ReinUsesLisp
719c83a4c2
shader_decode: Improve zero flag implementation
7 years ago
ReinUsesLisp
c75f5c634a
shader_ir: Remove composite primitives and use temporals instead
7 years ago
ReinUsesLisp
92610e9705
shader_decode: Use proper primitive names
7 years ago
ReinUsesLisp
44fce20a01
shader_decode: Use BitfieldExtract instead of shift + and
7 years ago
ReinUsesLisp
26d519c0f6
shader_ir: Remove Ipa primitive
7 years ago
ReinUsesLisp
685996eabb
video_core: Rename glsl_decompiler to gl_shader_decompiler
7 years ago
ReinUsesLisp
8df3fb8b1e
shader_ir: Remove RZ and use Register::ZeroIndex instead
7 years ago
ReinUsesLisp
35724f3435
shader_decode: Implement TEXS.F16
7 years ago
ReinUsesLisp
afa9967c4a
shader_decode: Fixup R2P
7 years ago
ReinUsesLisp
be9d40cf0d
glsl_decompiler: Fixup TLDS
7 years ago
ReinUsesLisp
d08982ed56
glsl_decompiler: Fixup geometry shaders
7 years ago
ReinUsesLisp
a90860a63a
shader_decode: Fixup WriteLogicOperation zero comparison
7 years ago
ReinUsesLisp
afbbc154d0
glsl_decompiler: Fixup permissive member function declarations
7 years ago
ReinUsesLisp
1314fd5277
shader_decode: Fixup PSET
7 years ago
ReinUsesLisp
495fbb2096
shader_decode: Fixup clang-format
7 years ago
ReinUsesLisp
0b1a2a74b6
video_core: Implement IR based geometry shaders
7 years ago
ReinUsesLisp
095b8f822b
shader_decode: Implement VMAD and VSETP
7 years ago
ReinUsesLisp
a71ce91f9b
shader_decode: Implement HSET2
7 years ago
ReinUsesLisp
5896358e4a
shader_decode: Rework HSETP2
7 years ago
ReinUsesLisp
e0971b5f9c
shader_decode: Implement R2P
7 years ago
ReinUsesLisp
8f2327d84b
shader_decode: Implement CSETP
7 years ago
ReinUsesLisp
da25db6829
shader_decode: Implement PSET
7 years ago
ReinUsesLisp
54bffa5381
shader_decode: Implement HFMA2
7 years ago
ReinUsesLisp
17b2a1d2b0
glsl_decompiler: Remove HNegate inlining
7 years ago
ReinUsesLisp
9cf3fe7511
shader_decode: Implement POPC
7 years ago
ReinUsesLisp
43dffc4afc
shader_decode: Implement TLDS (untested)
7 years ago
ReinUsesLisp
8e4e4c60cd
shader_decode: Update TLD4 reflecting #1862 changes
7 years ago
ReinUsesLisp
fb53e79b7f
shader_ir: Fixup TEX and TEXS and partially fix TLD4 decompiling
7 years ago
ReinUsesLisp
8664c00a2e
shader_decode: Fixup FSET
7 years ago
ReinUsesLisp
bdfa3b5fe9
shader_decode: Implement IADD32I
7 years ago
ReinUsesLisp
dc93729f47
video_core: Return safe values after an assert hits
7 years ago
ReinUsesLisp
dbf4c5264b
shader_decode: Implement FFMA
7 years ago
ReinUsesLisp
568d9a2a7b
video_core: Address feedback
7 years ago
ReinUsesLisp
8ef8fd8188
shader_ir: Fixup file inclusions and clang-format
7 years ago
Mat M
15a03ee53f
shader_ir: Move comment node string
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
7 years ago
ReinUsesLisp
4e8b1bf07a
shader_ir: Address feedback to avoid UB in bit casting
7 years ago