Commit Graph

9 Commits (1f5401c89c922a0ff5f6da131675fcdb5c73c5a5)

Author SHA1 Message Date
Lioncash 1f5401c89c video_core/shader: Resolve instances of variable shadowing
Silences a few -Wshadow warnings.
6 years ago
ReinUsesLisp bf4dfb3ad4 shader: Use shared_ptr to store nodes and move initialization to file
Instead of having a vector of unique_ptr stored in a vector and
returning star pointers to this, use shared_ptr. While changing
initialization code, move it to a separate file when possible.

This is a first step to allow code analysis and node generation beyond
the ShaderIR class.
6 years ago
Lioncash 228e58d0a5 shader/decode/*: Add missing newline to files lacking them
Keeps the shader code file endings consistent.
6 years ago
ReinUsesLisp 42b75e8be8 shader_ir: Rename BasicBlock to NodeBlock
It's not always used as a basic block. Rename it for consistency.
6 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.
6 years ago
ReinUsesLisp 170c8212bb shader_ir: Pass to decoder functions basic block's code 6 years ago
ReinUsesLisp 2d6c064e66 shader_decode: Improve zero flag implementation 6 years ago
ReinUsesLisp 2faad9bf23 shader_decode: Use BitfieldExtract instead of shift + and 6 years ago
ReinUsesLisp a1b845b651 shader_decode: Implement VMAD and VSETP 6 years ago