summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/track.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2019-07-17shader_ir: std::move Node instance where applicableLioncash1-4/+6
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-16Shader_Ir: Correct tracking to track from right to leftFernando Sahmkow1-2/+2
2019-07-15shader: Allow tracking of indirect buffers without variable offsetReinUsesLisp1-10/+15
While changing this code, simplify tracking code to allow returning the base address node, this way callers don't have to manually rebuild it on each invocation.
2019-06-06shader: Use shared_ptr to store nodes and move initialization to fileReinUsesLisp1-9/+9
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-05-19shader/shader_ir: Mark tracking functions as const member functionsLioncash1-5/+7
These don't actually modify instance state, so they can be marked as const member functions
2019-03-30shader_ir: Implement immediate register trackingReinUsesLisp1-1/+16
2019-02-25shader/track: Resolve variable shadowing warningsLioncash1-5/+5
2019-02-03shader/track: Search inside of conditional nodesReinUsesLisp1-0/+11
Some games search conditionally use global memory instructions. This allows the heuristic to search inside conditional nodes for the source constant buffer.
2019-02-03shader_ir: Rename BasicBlock to NodeBlockReinUsesLisp1-3/+3
It's not always used as a basic block. Rename it for consistency.
2019-01-30shader_decode: Implement LDG and basic cbuf trackingReinUsesLisp1-0/+76