summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/track.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* shader_ir/memory: Implement patch storesReinUsesLisp2019-12-101-0/+1
|
* Merge pull request #2737 from FernandoS27/track-fixbunnei2019-07-251-2/+2
|\ | | | | Shader_Ir: Correct tracking to track from right to left
| * Shader_Ir: Correct tracking to track from right to leftFernando Sahmkow2019-07-161-2/+2
| |
* | shader_ir: std::move Node instance where applicableLioncash2019-07-171-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.
* shader: Allow tracking of indirect buffers without variable offsetReinUsesLisp2019-07-151-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.
* shader: Use shared_ptr to store nodes and move initialization to fileReinUsesLisp2019-06-061-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.
* shader/shader_ir: Mark tracking functions as const member functionsLioncash2019-05-191-5/+7
| | | | | These don't actually modify instance state, so they can be marked as const member functions
* shader_ir: Implement immediate register trackingReinUsesLisp2019-03-301-1/+16
|
* shader/track: Resolve variable shadowing warningsLioncash2019-02-251-5/+5
|
* shader/track: Search inside of conditional nodesReinUsesLisp2019-02-031-0/+11
| | | | | | Some games search conditionally use global memory instructions. This allows the heuristic to search inside conditional nodes for the source constant buffer.
* shader_ir: Rename BasicBlock to NodeBlockReinUsesLisp2019-02-031-3/+3
| | | | It's not always used as a basic block. Rename it for consistency.
* shader_decode: Implement LDG and basic cbuf trackingReinUsesLisp2019-01-301-0/+76