aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/shader/decode.cpp
AgeCommit message (Collapse)Author
2019-06-05shader: Use shared_ptr to store nodes and move initialization to fileReinUsesLisp
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.
2019-04-18video_core: Silent -Wswitch warningsReinUsesLisp
2019-02-26shader/decode: Split memory and texture instructions decodingReinUsesLisp
2019-02-03shader_ir: Rename BasicBlock to NodeBlockReinUsesLisp
It's not always used as a basic block. Rename it for consistency.
2019-02-03shader_ir: Pass decoded nodes as a whole instead of per basic blocksReinUsesLisp
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-01-28shader/decode: Avoid a pessimizing std::move within DecodeRange()Lioncash
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.
2019-01-15shader_ir: Pass to decoder functions basic block's codeReinUsesLisp
2019-01-15shader_decode: Implement VMAD and VSETPReinUsesLisp
2019-01-15video_core: Address feedbackReinUsesLisp
2019-01-15shader_ir: Fixup file inclusions and clang-formatReinUsesLisp
2019-01-15shader_ir: Initial implementationReinUsesLisp