summaryrefslogtreecommitdiffstats
path: root/src/gallium/tools/trace/parse.py
diff options
context:
space:
mode:
authorKenneth Graunke <[email protected]>2019-11-14 17:17:43 -0800
committerKenneth Graunke <[email protected]>2019-11-25 15:54:54 -0800
commit060a2c52fa1d6eb750964aa4bc75680d03911b26 (patch)
tree7c9147eae38659c0952c3a0625384fbed9948b24 /src/gallium/tools/trace/parse.py
parent2b09e818dc25a6b8ce583f69b90ccf735fd278dd (diff)
iris: Maintain CPU-side SURFACE_STATE copies for views and surfaces.
When replacing the backing storage for texture buffers, image buffers, and so on, we may need to update the "Surface Base Address" field in any corresponding SURFACE_STATE. This is easier to accomplish if we have a copy on the CPU - we can just compare the current field, update it, and re-upload. This patch adds a CPU-side copy to the new iris_surface_state wrapper struct, and reworks allocation and upload to fill things out on the CPU copy first, then upload that to the GPU when finished. This will be necessary to fix iris_invalidate_resource bugs shortly. Technically, we never replace the backing storage for pipe_surfaces (render targets), so we don't need to make this change there. However, it's nice to have surfaces, sampler views, and image views handled similarly. Plus, if we ever wanted to swap out backing storage for busy textures, we'd need this infrastructure. v2: Properly free memory (caught by Andrii Simiklit)
Diffstat (limited to 'src/gallium/tools/trace/parse.py')
0 files changed, 0 insertions, 0 deletions