Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | video_core/shader/decode: Prevent sign-conversion warnings | Lioncash | 2019-07-19 | 1 | -2/+2 |
| | | | | Makes it explicit that the conversions here are intentional. | ||||
* | shader_ir: std::move Node instance where applicable | Lioncash | 2019-07-17 | 1 | -4/+4 |
| | | | | | | | | | 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. | ||||
* | shader_ir: Add comments on missing instruction. | Fernando Sahmkow | 2019-07-09 | 1 | -2/+5 |
| | | | | Also shows Nvidia's address space on comments. | ||||
* | shader_ir: limit explorastion to best known program size. | Fernando Sahmkow | 2019-07-09 | 1 | -1/+1 |
| | |||||
* | shader_ir: Correct parsing of scheduling instructions and correct sizing | Fernando Sahmkow | 2019-07-09 | 1 | -1/+1 |
| | |||||
* | shader_ir: Correct max sizing | Fernando Sahmkow | 2019-07-09 | 1 | -1/+1 |
| | |||||
* | shader_ir: Remove unnecessary constructors and use optional for ScanFlow result | Fernando Sahmkow | 2019-07-09 | 1 | -5/+5 |
| | |||||
* | shader_ir: Corrections, documenting and asserting control_flow | Fernando Sahmkow | 2019-07-09 | 1 | -5/+5 |
| | |||||
* | shader_ir: Unify blocks in decompiled shaders. | Fernando Sahmkow | 2019-07-09 | 1 | -8/+27 |
| | |||||
* | shader_ir: Decompile Flow Stack | Fernando Sahmkow | 2019-07-09 | 1 | -0/+46 |
| | |||||
* | shader_ir: propagate shader size to the IR | Fernando Sahmkow | 2019-07-09 | 1 | -3/+3 |
| | |||||
* | shader_ir: Remove the old scanner. | Fernando Sahmkow | 2019-07-09 | 1 | -66/+0 |
| | |||||
* | shader_ir: Implement a new shader scanner | Fernando Sahmkow | 2019-07-09 | 1 | -16/+23 |
| | |||||
* | shader: Decode SUST and implement backing image functionality | ReinUsesLisp | 2019-06-21 | 1 | -0/+1 |
| | |||||
* | shader: Use shared_ptr to store nodes and move initialization to file | ReinUsesLisp | 2019-06-06 | 1 | -0/+1 |
| | | | | | | | | | 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. | ||||
* | video_core: Silent -Wswitch warnings | ReinUsesLisp | 2019-04-18 | 1 | -1/+3 |
| | |||||
* | shader/decode: Split memory and texture instructions decoding | ReinUsesLisp | 2019-02-26 | 1 | -0/+1 |
| | |||||
* | shader_ir: Rename BasicBlock to NodeBlock | ReinUsesLisp | 2019-02-03 | 1 | -30/+29 |
| | | | | It's not always used as a basic block. Rename it for consistency. | ||||
* | shader_ir: Pass decoded nodes as a whole instead of per basic blocks | ReinUsesLisp | 2019-02-03 | 1 | -6/+9 |
| | | | | | | | | | 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. | ||||
* | shader/decode: Avoid a pessimizing std::move within DecodeRange() | Lioncash | 2019-01-28 | 1 | -1/+1 |
| | | | | | | 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. | ||||
* | shader_ir: Pass to decoder functions basic block's code | ReinUsesLisp | 2019-01-15 | 1 | -32/+33 |
| | |||||
* | shader_decode: Implement VMAD and VSETP | ReinUsesLisp | 2019-01-15 | 1 | -0/+1 |
| | |||||
* | video_core: Address feedback | ReinUsesLisp | 2019-01-15 | 1 | -0/+4 |
| | |||||
* | shader_ir: Fixup file inclusions and clang-format | ReinUsesLisp | 2019-01-15 | 1 | -0/+1 |
| | |||||
* | shader_ir: Initial implementation | ReinUsesLisp | 2019-01-15 | 1 | -0/+199 |