mesa/src/freedreno
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
..
.gitlab-ci freedreno: improve a6xx CP_SET_MARKER xml definition 2024-10-10 00:50:45 +00:00
afuc freedreno: use unicode © instead of DOS-like (C) copyright sign 2024-08-28 08:54:00 +00:00
ci freedreno: Fix resource tracking on repeated map with discard 2024-11-18 21:17:50 +00:00
common freedreno: python fixes 2024-11-07 09:15:54 +00:00
computerator freedreno,computerator: add support for local memory 2024-11-01 10:22:37 +00:00
decode freedreno/decode: Fix UBO decode on a7xx 2024-10-18 01:25:39 +00:00
drm freedreno/drm: Add preemption support 2024-10-10 00:50:46 +00:00
drm-shim freedreno: Convert to SPDX-License-Identifier instead of pasting whole license 2024-08-28 08:54:00 +00:00
ds fd/pps: provide derived counters on a7xx 2024-11-11 13:39:40 +00:00
fdl freedreno/fdl: Add tiling/untiling implementation for a6xx/a7xx 2024-10-17 18:17:18 +00:00
ir2 freedreno: use unicode © instead of DOS-like (C) copyright sign 2024-08-28 08:54:00 +00:00
ir3 ir3,tu: filter debug flags included in the hash key 2024-11-18 20:19:56 +00:00
isa ir3: add encoding support for 64-bit atomics introduced in a7xx. 2024-10-21 21:47:44 +00:00
perfcntrs freedreno: sanitize device names for config name usage 2024-10-10 11:48:45 +00:00
registers freedreno/registers: update RB_BLIT_INFO, RB_CCU_CNTL 2024-11-12 07:50:45 +00:00
rnn freedreno/rnndec: Consider array length when finding by reg name 2024-10-15 15:35:39 +00:00
vulkan ir3,tu: filter debug flags included in the hash key 2024-11-18 20:19:56 +00:00
.clang-format clang-format: Disable formatting by default 2023-08-13 16:48:49 +02:00
.dir-locals.el freedreno: Update editorconfig and emacs settings for freedreno reformat. 2021-05-10 23:16:00 +00:00
.editorconfig freedreno: Update editorconfig and emacs settings for freedreno reformat. 2021-05-10 23:16:00 +00:00
meson.build meson: Update Lua dependency version to 5.3 2024-08-14 03:03:46 +00:00