ReinUsesLisp
42b75e8be8
shader_ir: Rename BasicBlock to NodeBlock
It's not always used as a basic block. Rename it for consistency.
7 years ago
ReinUsesLisp
6a6fabea58
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
477d616f7d
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
3b84e04af1
shader_decode: Implement LDG and basic cbuf tracking
7 years ago
Lioncash
b2b98b2f44
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
62e08c30b7
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
ReinUsesLisp
170c8212bb
shader_ir: Pass to decoder functions basic block's code
7 years ago
ReinUsesLisp
2d6c064e66
shader_decode: Improve zero flag implementation
7 years ago
ReinUsesLisp
d911740e5d
shader_ir: Remove composite primitives and use temporals instead
7 years ago
ReinUsesLisp
50195b1704
shader_decode: Use proper primitive names
7 years ago
ReinUsesLisp
2faad9bf23
shader_decode: Use BitfieldExtract instead of shift + and
7 years ago
ReinUsesLisp
52223313b1
shader_ir: Remove Ipa primitive
7 years ago
ReinUsesLisp
d9118d324a
shader_ir: Remove RZ and use Register::ZeroIndex instead
7 years ago
ReinUsesLisp
5af82a8ed4
shader_decode: Implement TEXS.F16
7 years ago
ReinUsesLisp
e1fea1e0c5
video_core: Implement IR based geometry shaders
7 years ago
ReinUsesLisp
a1b845b651
shader_decode: Implement VMAD and VSETP
7 years ago
ReinUsesLisp
b11e0b94c7
shader_decode: Implement HSET2
7 years ago
ReinUsesLisp
2df55985b6
shader_decode: Rework HSETP2
7 years ago
ReinUsesLisp
dd91650aaf
shader_decode: Implement HFMA2
7 years ago
ReinUsesLisp
027f443e69
shader_decode: Implement POPC
7 years ago
ReinUsesLisp
55e6786254
shader_decode: Implement TLDS (untested)
7 years ago
ReinUsesLisp
ec98e4d842
shader_decode: Update TLD4 reflecting #1862 changes
7 years ago
ReinUsesLisp
03e088a4f4
shader_ir: Fixup TEX and TEXS and partially fix TLD4 decompiling
7 years ago
ReinUsesLisp
21aff36459
video_core: Address feedback
7 years ago
ReinUsesLisp
59b34b1d76
shader_ir: Fixup file inclusions and clang-format
7 years ago
Mat M
57a900cc45
shader_ir: Move comment node string
Co-Authored-By: ReinUsesLisp <reinuseslisp@airmail.cc>
7 years ago
ReinUsesLisp
d4fae3a699
shader_ir: Address feedback to avoid UB in bit casting
7 years ago
ReinUsesLisp
a40fd07516
shader_decode: Implement LOP3
7 years ago
ReinUsesLisp
39f1c6246a
shader_decode: Implement LOP32I
7 years ago
ReinUsesLisp
2b90637f4b
shader_decode: Implement TEX and TXQ
7 years ago
ReinUsesLisp
878672f371
shader_decode: Implement TEXS (F32)
7 years ago
ReinUsesLisp
fbc67a0563
shader_ir: Add condition code helper
7 years ago
ReinUsesLisp
a58abbcfc4
shader_ir: Add predicate combiner helper
7 years ago
ReinUsesLisp
bf07272695
shader_ir: Add comparison helpers
7 years ago
ReinUsesLisp
60f044df56
shader_ir: Add half float helpers
7 years ago
ReinUsesLisp
e3c55e31d7
shader_ir: Add integer helpers
7 years ago
ReinUsesLisp
833d0806f9
shader_ir: Add float helpers
7 years ago
ReinUsesLisp
6b9eea3fe5
shader_ir: Add setters
7 years ago
ReinUsesLisp
12a95ff453
shader_ir: Add local memory getters
7 years ago
ReinUsesLisp
2f87fd060d
shader_ir: Add internal flag getters
7 years ago
ReinUsesLisp
15f431f0cb
shader_ir: Add attribute getters
7 years ago
ReinUsesLisp
864e8f55cf
shader_ir: Add constant buffer getters
7 years ago
ReinUsesLisp
5e639bfcf6
shader_ir: Add register getter
7 years ago
ReinUsesLisp
4aaa2192b9
shader_ir: Add immediate node constructors
7 years ago
ReinUsesLisp
15a0e1481d
shader_ir: Initial implementation
7 years ago