aboutsummaryrefslogtreecommitdiff
path: root/src/video_core/shader/decode.cpp
AgeCommit message (Collapse)Author
2019-07-18video_core/shader/decode: Prevent sign-conversion warningsLioncash
Makes it explicit that the conversions here are intentional.
2019-07-16shader_ir: std::move Node instance where applicableLioncash
These are std::shared_ptr instances underneath the hood, which means copying them isn't as cheap as a regular pointer. Particularly so on weakly-ordered systems. This avoids atomic reference count increments and decrements where they aren't necessary for the core set of operations.
2019-07-09shader_ir: Add comments on missing instruction.Fernando Sahmkow
Also shows Nvidia's address space on comments.
2019-07-09shader_ir: limit explorastion to best known program size.Fernando Sahmkow
2019-07-09shader_ir: Correct parsing of scheduling instructions and correct sizingFernando Sahmkow
2019-07-09shader_ir: Correct max sizingFernando Sahmkow
2019-07-09shader_ir: Remove unnecessary constructors and use optional for ScanFlow resultFernando Sahmkow
2019-07-09shader_ir: Corrections, documenting and asserting control_flowFernando Sahmkow
2019-07-09shader_ir: Unify blocks in decompiled shaders.Fernando Sahmkow
2019-07-09shader_ir: Decompile Flow StackFernando Sahmkow
2019-07-09shader_ir: propagate shader size to the IRFernando Sahmkow
2019-07-09shader_ir: Remove the old scanner.Fernando Sahmkow
2019-07-09shader_ir: Implement a new shader scannerFernando Sahmkow
2019-06-20shader: Decode SUST and implement backing image functionalityReinUsesLisp
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