mesa/src
Zan Dobersek 744049ca83 tu: fix ZPASS_DONE interference between occlusion queries and autotuner
On newer devices where ZPASS_DONE events have sample count writing
abilities the firmware expects these events to come in begin-end pairs,
essentially corresponding to a typical occlusion query usage. Since this
event is also used in the autotuner we have to avoid event pairs to be
emitted in an interleaved fashion.

Additional renderpass state now tracks whether a given renderpass contains
an occlusion query. If so, autotuner will emit miscellaneous ZPASS_DONE
events in order to form its own begin-end pairs before and after the
renderpass commands.

Occlusion query behavior inside a renderpass doesn't change. But when used
outside of a renderpass, possible autotuner usage requires to again emit
ZPASS_DONE events that end up forming begin-end pairs of these events both
at the start and the end of the query.

Signed-off-by: Zan Dobersek <zdobersek@igalia.com>
Fixes: 4e6a1f8852 ("tu/autotune: Use `CP_EVENT_WRITE7::ZPASS_DONE` on A7XX")
Tested-by: Mike Lothian <mike@fireburn.co.uk>
Reviewed-by: Connor Abbott <cwabbott0@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29403>
(cherry picked from commit 5653c52151)
2024-06-18 19:23:35 +02:00
..
amd radv: always save/restore all shader objects for internal operations 2024-06-18 19:23:29 +02:00
android_stub
asahi agx: set compact_arrays in compiler options 2024-04-12 18:43:48 +00:00
broadcom broadcom/compiler: initialize payload_conflict for all initial nodes 2024-06-18 19:23:30 +02:00
c11
compiler glsl: respect GL_EXT_shader_image_load_formatted when image is embedded in a struct 2024-06-18 19:23:26 +02:00
drm-shim drm-shim: Stub syncobj reset ioctl 2024-05-21 17:59:50 +02:00
egl egl: fix teardown when using xcb 2024-06-11 12:30:12 +02:00
etnaviv etnaviv: hwdb: Add VIP_V7 and NN_XYDP0 feature bits 2024-04-24 15:26:37 +00:00
freedreno tu: fix ZPASS_DONE interference between occlusion queries and autotuner 2024-06-18 19:23:35 +02:00
gallium nine: avoid using post-compacted indices with state expecting pre-compacted ones 2024-06-18 19:23:30 +02:00
gbm gbm: plumb an 'implicit' param through device creation 2024-04-22 23:25:58 +00:00
getopt
glx glx: fix build -D glx-direct=false 2024-06-18 19:23:27 +02:00
gtest
imagination meson: add VK_DRIVER_FILES to devenv, alongside the old VK_ICD_FILENAMES 2024-04-02 18:08:52 +00:00
imgui
intel intel/fs: fix lower_simd_width for MOV_INDIRECT 2024-06-18 19:23:28 +02:00
loader loader/wayland: Add named queue fallback 2024-02-28 11:01:31 +00:00
mapi treewide: Replace usage of macro DEBUG with MESA_DEBUG when possible 2024-03-22 18:22:34 +00:00
mesa mesa/st: fix zombie shader handling for non-current programs 2024-06-18 19:23:30 +02:00
microsoft microsoft/compiler: set compact_arrays in compiler options 2024-04-05 17:56:28 +00:00
nouveau nouveau: Fix a race in nouveau_ws_bo_destroy() 2024-06-18 19:23:28 +02:00
panfrost panvk: move macro-definition to header 2024-06-18 19:23:30 +02:00
tool pps: Config tweaks to avoid loosing traces 2024-03-25 19:49:50 +00:00
util anv,driconf: Add fake non device local memory WA for Total War: Warhammer 3 2024-06-07 13:53:51 +02:00
virtio venus: fix to destroy all pipeline handles on early error paths 2024-04-29 16:32:36 +02:00
vulkan vulkan/runtime: pColorAttachmentInputIndices is allowed to be NULL 2024-06-18 19:23:24 +02:00
.clang-format agx: add Braun-Hack spiller pass 2024-03-30 00:26:18 +00:00
meson.build loader/wayland: Add fallback wl_display_dispatch_queue_timeout 2024-02-27 13:10:13 +00:00