summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/track.cpp (unfollow)
Commit message (Collapse)AuthorFilesLines
2020-03-09shader/registry: Store graphics and compute metadataReinUsesLisp1-6/+3
Store information GLSL forces us to provide but it's dynamic state in hardware (workgroup sizes, primitive topology, shared memory size).
2020-03-09video_core: Rename "const buffer locker" to "registry"ReinUsesLisp1-2/+2
2020-03-09gl_shader_cache: Rework shader cache and remove post-specializationsReinUsesLisp1-6/+3
Instead of pre-specializing shaders and then post-specializing them, drop the later and only "specialize" the shader while decoding it.
2020-02-29nit: move comment to right place.Nguyen Dac Nam1-2/+2
2020-02-28shader_decode: Fix LD, LDG when track constant bufferNguyen Dac Nam1-4/+12
2020-02-28shader_decode: keep it search on all codeNguyen Dac Nam1-4/+12
It fixed opcode LD, LDG on Pokemon Sword that can't find the constant buffer. Not sure if it helps any on visual.
2020-02-02shader: Remove curly braces initializers on shared pointersReinUsesLisp1-2/+2
2020-01-25Shader_IR: Address feedback.Fernando Sahmkow1-5/+4
2020-01-24Shader_IR: Change name of TrackSampler function so it does not confuse with the type.Fernando Sahmkow1-5/+7
2020-01-24Shader_IR: Propagate bindless index into the GL compiler.Fernando Sahmkow1-3/+26
2020-01-24Shader_IR: Implement initial code for tracking indexed samplers.Fernando Sahmkow1-0/+82
2019-12-10shader_ir/memory: Implement patch storesReinUsesLisp1-0/+1
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