mesa/src/vulkan/wsi
Adam Jackson 2b3b7b692b wsi/x11: Synchronously check for error from xcb_present_pixmap
Yes this is a round trip, but X_PresentPixmap is not itself a blocking
operation, it just instructs the server to do the next presentation at
some time. More importantly, if _we_ don't catch the presentation error,
xlib's error queue will, and the calling code is certainly not prepared
to handle errors from Present.

Forcing the round trip here is also a bit more correct semantically.
This is the end of the Vulkan client part of the present queue, and the
X_PresentPixmap request transfers the queue operation to the server, so
we should not return until we are sure the handoff has happened.

Fixes some flakiness with piglit@glx-visuals-* with zink+radv.

Reviewed-by: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/17685>
2022-07-25 10:54:46 -04:00
..
meson.build vulkan: drop empty vulkan_wsi_args 2022-04-27 11:51:26 +00:00
wsi_common.c Use vk_foreach_struct_const where needed 2022-07-19 19:55:17 +00:00
wsi_common.h vulkan/wsi/x11: Only use MIT_SHM if the device supports EXT_external_memory_host 2022-07-07 11:44:19 -05:00
wsi_common_display.c vulkan: use updated tokens from vk.xml 2022-07-12 15:53:11 +00:00
wsi_common_display.h vulkan/wsi/display: Wrap wsi_display_fence in a vk_sync 2021-11-16 10:54:27 -06:00
wsi_common_drm.c vulkan: use updated tokens from vk.xml 2022-07-12 15:53:11 +00:00
wsi_common_drm.h vulkan/wsi: create a common function to compare drm devices 2022-01-14 12:19:57 +00:00
wsi_common_private.h vulkan: use updated tokens from vk.xml 2022-07-12 15:53:11 +00:00
wsi_common_queue.h util/vector: make util_vector_init harder to misuse 2021-10-08 00:15:11 +00:00
wsi_common_wayland.c vulkan: use updated tokens from vk.xml 2022-07-12 15:53:11 +00:00
wsi_common_win32.c vulkan: use updated tokens from vk.xml 2022-07-12 15:53:11 +00:00
wsi_common_x11.c wsi/x11: Synchronously check for error from xcb_present_pixmap 2022-07-25 10:54:46 -04:00