mesa/src
Dave Airlie 6f98dc535a zink/query: refactor out vk queries and allow sharing them
gallium queries have to be mapped onto multiple vulkan queries,
this can happen for two reasons.

1. primitives generated and overflow any don't map directly, and
multiple vulkan queries are needs per iteration. These are stored
inside the "starts" as zink_vk_query ptrs.

2. suspending/resuming queries uses multiple queries, these are
the "starts". Every suspend/resume cycle adds a new start.

Vulkan also requires that multiple queries of the same time don't
execute at once, which affects the overflow any vs xfb normal
queries, so vk_query structs are refcounted and can be shared
between starts. Due to this when the draw state changes, it's
simple to just suspend/resume all queries so the shared vulkan
queries get handled properly.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15785>
2022-04-12 00:01:23 +00:00
..
amd amd/llvm: Transition to LLVM "opaque pointers" 2022-04-09 05:20:29 +00:00
android_stub android_stub: update platform headers to include atrace 2021-10-09 00:42:32 +00:00
asahi asahi: Port driver to macOS 12.x ABI 2022-03-22 00:19:30 +00:00
broadcom ci: enable v3dv arm64 jobs 2022-04-11 15:26:58 +00:00
compiler nir/lower_point_size_mov: handle case where gl_Position isn't written 2022-04-10 16:45:15 +00:00
drm-shim
egl egl: implement more hooks for swrast 2022-04-07 19:22:14 +00:00
etnaviv ci: update various ci result files 2022-03-11 09:58:28 +00:00
freedreno Revert "ci/freedreno: Disable a618 jobs" 2022-04-08 14:07:31 +00:00
gallium zink/query: refactor out vk queries and allow sharing them 2022-04-12 00:01:23 +00:00
gbm gallium: Learn about kopper 2022-04-07 00:17:40 +00:00
getopt
glx glx: Learn about kopper 2022-04-07 00:17:40 +00:00
gtest gtest: Fix output of array ASSERT/EXPECT macros 2021-11-11 09:53:09 -08:00
hgl
imagination pvr: Remove logic to set vk_device::alloc. 2022-04-08 15:12:04 +00:00
imgui
intel intel/genxml: Add SAMPLER_MODE bits for enabling Small PL on Icelake 2022-04-11 19:17:07 +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 mesa/st: handle adding pointsize when gl_Position is never written 2022-04-10 16:45:15 +00:00
microsoft dzn: Fix loop condition in dzn_descriptor_set_copy() 2022-04-11 07:04:24 +00:00
nouveau
panfrost panfrost: Remove BO mapping from import 2022-04-10 01:51:04 +00:00
tool ci: Use a dlclose-disabling preload library for leak checking in Vulkan. 2022-01-27 23:47:46 +00:00
util util: Convert util/u_printf.cpp to util/u_printf.c 2022-04-11 03:31:40 +00:00
virtio venus: prepare and feed renderer protocol info into cs 2022-04-09 00:19:05 +00:00
vulkan vulkan/util: Make STACK_ARRAY() C++-friendly 2022-04-08 11:54:44 +00:00
meson.build microsoft: Initial vulkan-on-12 driver 2022-03-25 16:21:45 +00:00