mesa/src/gallium/drivers
Vldly 6d14cad330 freedreno: Fix resource tracking on repeated map with discard
In two functions implementing resource discard rebind_resource is called
on resource before its track record is reset. This prevents update of
dirty_resource or dirty_shader_resource because of conditions in
needs_dirty_resource. With rsc->track reset and dirty_resource bits
missing further calls to transfer_map will not try to reallocate
resource storage when needed.

A way to reproduce the issue in both functions is by executing at least
3 draws modifying bound texture or VBO each time. This patch fixes those
cases and some related piglit tests on a5xx and should fix it on other
GPUs. Also it fixes rendering in Firefox and vsraytrace (except vertical
line at right edge).

Fixes: 0a62a874fc ("freedreno: Re-work dirty-resource tracking")
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/10374
Reviewed-by: Rob Clark <robclark@freedesktop.org>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32167>
2024-11-18 21:17:50 +00:00
..
asahi asahi: factor out more compiled shader 2024-11-11 14:33:02 +00:00
crocus iris, crocus: fix a typo and break comment line correctly 2024-10-09 17:56:23 +00:00
d3d12 pipe: Remove PIPE_VIDEO_CAP_ENC_SUPPORTS_ASYNC_OPERATION 2024-11-02 07:02:55 +00:00
etnaviv etnaviv/ml: Support addition operations on V8 2024-11-15 16:41:05 +00:00
freedreno freedreno: Fix resource tracking on repeated map with discard 2024-11-18 21:17:50 +00:00
i915 gallium: add PIPE_CAP_CALL_FINALIZE_NIR_IN_LINKER 2024-11-18 11:25:18 +00:00
iris gallium: use struct nir_shader * type in finalize_nir instead of void * 2024-11-18 11:25:18 +00:00
lima Uprev Piglit to d04d6fff00849a2a8e29ef3251c6ca04a2f68dc7 2024-11-18 10:05:34 +00:00
llvmpipe gallium: use struct nir_shader * type in finalize_nir instead of void * 2024-11-18 11:25:18 +00:00
nouveau gallium: drop PIPE_SHADER_IR_NIR_SERIALIZED 2024-11-08 12:49:23 +00:00
panfrost panfrost: use mesa_log infra instead of stdio 2024-11-13 09:15:05 +00:00
r300 gallium: add PIPE_CAP_CALL_FINALIZE_NIR_IN_LINKER 2024-11-18 11:25:18 +00:00
r600 gallium: use struct nir_shader * type in finalize_nir instead of void * 2024-11-18 11:25:18 +00:00
radeonsi radeonsi/vcn: Use correct frame context buffer for preencode on VCN5 2024-11-18 19:41:05 +00:00
softpipe ci: rename FORCE_KERNEL_TAG to EXTERNAL_KERNEL_TAG 2024-10-28 02:18:27 +00:00
svga Uprev Piglit to c2b31333926a6171c3c02d182b756efad7770410 2024-10-30 18:11:56 +00:00
tegra build: pass licensing information in SPDX form 2024-06-29 12:42:49 -07:00
v3d v3d: use heuristic to enable double-buffer mode 2024-11-18 08:45:04 +00:00
vc4 nir: always emit ddx intrinsics 2024-10-17 09:50:19 +00:00
virgl Uprev Piglit to d04d6fff00849a2a8e29ef3251c6ca04a2f68dc7 2024-11-18 10:05:34 +00:00
zink gallium: add PIPE_CAP_CALL_FINALIZE_NIR_IN_LINKER 2024-11-18 11:25:18 +00:00