mesa/src/vulkan
Adam Jackson f857eed827 wsi/x11: Avoid using xcb_wait_for_special_event in FIFO modes
If the window is destroyed from underneath us while we happen to be in
xcb_wait_for_special_event, there's no recovery. The special event will
never match because the XID is no longer valid, and Present doesn't have
an in-band DestroyNotify. We're going to work around this by using the
poll API instead. If we get an event we short-circuit back to the top of
the "wait for available image" loop, so we drain the whole special event
queue before any other logic. Which means if we run out of special
events (and the connection and swapchain are still valid) that we
_don't_ have enough images available, so to hurry along any events that
the X server hasn't flushed out yet we call GetGeometry on the
swapchain's window. As a side effect this verifies that the window is
still alive.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/15800>
2022-05-05 13:56:43 -04:00
..
device-select-layer vulkan: bump layer api versions to current vk header version 2022-04-26 09:06:11 -07:00
overlay-layer vulkan: bump layer api versions to current vk header version 2022-04-26 09:06:11 -07:00
registry vulkan: spec update to 1.3.211 2022-04-05 12:55:21 +00:00
runtime vulkan: Set signals[i].stageMask = ALL_COMMANDS for QueueSubmit2 wrapping 2022-04-26 09:06:13 -07:00
util vulkan/util: Make STACK_ARRAY() C++-friendly 2022-04-08 11:54:44 +00:00
wsi wsi/x11: Avoid using xcb_wait_for_special_event in FIFO modes 2022-05-05 13:56:43 -04:00
meson.build vulkan: Move all the common object code to runtime/ 2021-10-29 23:12:32 +00:00
vulkan-icd-symbols.txt vulkan: Allow global symbol HMI for Android 2020-08-05 18:08:07 +00:00