mesa/src
Mike Blumenkrantz 1678100c3c mesa: fix SignalSemaphoreEXT behavior
the EXT_external_object spec originally was underspecified with regards
to this function, leaving room for synchronization errors where:
* app calls SignalSemaphoreEXT to signal a semaphore
* mesa defers pipe_context::fence_server_signal with threaded context
* driver defers gpu submission
* SignalSemaphoreEXT has long since returned, app submits vk cmdbuf waiting on semaphore
* spec violation / device lost

to prevent this, the spec is being changed to:
1) require an implicit flush when calling SignalSemaphoreEXT
2) require that this implicit flush also forces GPU submission before SignalSemaphoreEXT returns

all affected drivers have been updated

fixes #6568

cc: mesa-stable

Reviewed-by: Marek Olšák <marek.olsak@amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17376>
(cherry picked from commit 21b3a23404)
2022-07-12 10:16:29 -07:00
..
amd radv: Fix vkCmdCopyQueryResults -> vkCmdResetPool hazard. 2022-07-12 10:16:25 -07: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 v3dv: fix pool descriptor count for inline uniform buffers 2022-07-06 10:00:56 -07:00
compiler nir/serialize: restore ray query variables 2022-07-12 10:16:28 -07:00
drm-shim drm-shim: Implement a shim function for close 2022-04-12 10:01:39 +00:00
egl egl/wayland: Don't try to access modifiers u_vector as dynarray 2022-06-24 10:11:37 -07:00
etnaviv ci: update various ci result files 2022-03-11 09:58:28 +00:00
freedreno tu: Fix linemode for tessellation with isolines 2022-06-23 09:18:24 -07:00
gallium mesa: fix SignalSemaphoreEXT behavior 2022-07-12 10:16:29 -07:00
gbm gallium: Learn about kopper 2022-04-07 00:17:40 +00:00
getopt
glx glx/drisw: invalidate drawables upon binding context if flush extension exists 2022-06-23 09:18:24 -07:00
gtest gtest: Fix output of array ASSERT/EXPECT macros 2021-11-11 09:53:09 -08:00
hgl
imagination pvr: Implement vkCreateQueryPool() and vkDestroyQueryPool(). 2022-04-13 17:58:03 +00:00
imgui
intel intel/fs: ray query fix for global address 2022-07-12 10:16:22 -07: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: fix SignalSemaphoreEXT behavior 2022-07-12 10:16:29 -07:00
microsoft microsoft/compiler: Images are no longer reprensented by uniform vars 2022-06-15 16:13:00 -07:00
nouveau
panfrost pan/bi: Fix LD_BUFFER.i16 definition 2022-06-23 09:18:24 -07:00
tool pps: Open writable renderer node in DrmDevice::create 2022-05-13 10:05:22 -07:00
util util: use force_gl_map_buffer_synchronized workaround with RAGE 2022-06-24 10:11:40 -07:00
virtio venus: fix the queue init failure path 2022-06-17 09:03:14 -07:00
vulkan vulkan/wsi/x11: Don't leak shm_reply if we don't have dri3 or present 2022-07-12 10:16:19 -07:00
meson.build microsoft: Initial vulkan-on-12 driver 2022-03-25 16:21:45 +00:00