mesa/src
Alyssa Rosenzweig 988d5aae74 panfrost: Flush resources when shadowing
When we shadow a resource, the backing BO is changed; as such,
existing references to the resource become invalid. So batches accessing the
resource need to be flushed (or otherwise have their references invalidated).

The wrong behaviour change (not flushing) was introduced when we started
tracking resources instead of BOs. The issue manifested as a severe performance
regression in glmark2's -bbuffer test, particular the subdata subtest. The issue
is magnified on slow CPUs; without the fix, the test becomes completely CPU
bound

Relevant glmark2 -bbuffer test from 43fps to 84fps.

Apparently, this causes functional issues too -- this performance-minded change
also fixes a few piglits.

Fixes: cecb889481 ("panfrost: Do tracking of resources, not BOs")
Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reported-by: Chris Healy <cphealy@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13502>
2022-02-24 23:11:20 +00:00
..
amd ci: Allow disabling the whole of the Collabora farm 2022-02-24 07:33:45 +01:00
android_stub android_stub: update platform headers to include atrace 2021-10-09 00:42:32 +00:00
asahi asahi: Wire in pure integer texture formats 2022-02-18 23:48:33 +00:00
broadcom broadcom/compiler: move uniforms right before their first use after scheduling 2022-02-24 11:36:00 +00:00
compiler nir/nir_opt_move: handle non-SSA defs 2022-02-24 11:36:00 +00:00
drm-shim drm-shim: Support kernels with >4k pages 2021-08-13 23:33:52 +00:00
egl egl/wayland: Don't replace existing backbuffer in get_buffers 2022-02-07 09:57:41 +00:00
etnaviv etnaviv: add support for INTEL_blackhole_render 2022-01-31 16:52:29 +00:00
freedreno ci: Allow disabling the whole of the Collabora farm 2022-02-24 07:33:45 +01:00
gallium panfrost: Flush resources when shadowing 2022-02-24 23:11:20 +00:00
gbm gbm: improve documentation about the lifetime of resources 2022-02-22 14:42:52 +01:00
getopt
glx glx: keep native window glx drawable by driconf option 2022-02-22 07:10:40 +00:00
gtest gtest: Fix output of array ASSERT/EXPECT macros 2021-11-11 09:53:09 -08:00
hgl
imgui
intel blorp: Add blorp_measure hooks to the blitter codepaths 2022-02-24 21:42:16 +00:00
loader gallium/dri: add missing PIPE_BIND_DRI_PRIME handling 2022-02-08 00:13:07 +00:00
mapi glthread: call _mesa_glthread_BindBuffer unconditionally 2022-02-01 06:11:22 +00:00
mesa glsl/nir: free GLSL IR right after we convert to NIR 2022-02-24 01:10:49 +00:00
microsoft ci: Disable windows-vs2019 2022-02-23 15:12:41 +00:00
nouveau
panfrost panfrost: Flush resources when shadowing 2022-02-24 23:11:20 +00:00
tool ci: Use a dlclose-disabling preload library for leak checking in Vulkan. 2022-01-27 23:47:46 +00:00
util driconf: add Abaqus configs 2022-02-22 07:10:40 +00:00
virtio venus: add macros to help with future extensions 2022-02-24 15:55:57 +00:00
vulkan vulkan/wsi: use buffer-image code-path on Windows 2022-02-22 10:04:34 +00:00
meson.build meson: start building intel earlier. 2022-01-20 06:41:17 +00:00