summaryrefslogtreecommitdiffstats
path: root/src/video_core/shader/track.cpp (follow)
Commit message (Collapse)AuthorAgeFilesLines
* shader/registry: Store graphics and compute metadataReinUsesLisp2020-03-091-6/+3
| | | | | Store information GLSL forces us to provide but it's dynamic state in hardware (workgroup sizes, primitive topology, shared memory size).
* video_core: Rename "const buffer locker" to "registry"ReinUsesLisp2020-03-091-2/+2
|
* gl_shader_cache: Rework shader cache and remove post-specializationsReinUsesLisp2020-03-091-6/+3
| | | | | Instead of pre-specializing shaders and then post-specializing them, drop the later and only "specialize" the shader while decoding it.
* nit: move comment to right place.Nguyen Dac Nam2020-02-291-2/+2
|
* shader_decode: Fix LD, LDG when track constant bufferNguyen Dac Nam2020-02-281-4/+12
|
* shader: Remove curly braces initializers on shared pointersReinUsesLisp2020-02-021-2/+2
|
* Shader_IR: Address feedback.Fernando Sahmkow2020-01-251-5/+4
|
* Shader_IR: Change name of TrackSampler function so it does not confuse with the type.Fernando Sahmkow2020-01-241-5/+7
|
* Shader_IR: Propagate bindless index into the GL compiler.Fernando Sahmkow2020-01-241-3/+26
|
* Shader_IR: Implement initial code for tracking indexed samplers.Fernando Sahmkow2020-01-241-0/+82
|
* 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