diff --git a/src/gallium/drivers/zink/ci/zink-lvp-fails.txt b/src/gallium/drivers/zink/ci/zink-lvp-fails.txt index 26595083288..2fde06949dd 100644 --- a/src/gallium/drivers/zink/ci/zink-lvp-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-lvp-fails.txt @@ -42,7 +42,6 @@ glx@glx-copy-sub-buffer samples=2,Fail glx@glx-copy-sub-buffer samples=4,Fail glx@glx-swap-pixmap-bad,Fail glx@glx-visuals-depth,Crash -glx@glx-visuals-stencil,Crash glx@glx_arb_create_context_es2_profile@invalid opengl es version,Fail # X error 167 (GLXBadFBConfig (9)) was generated, but X error 8 was expected. glx@glx_arb_create_context_no_error@no error,Crash diff --git a/src/gallium/drivers/zink/ci/zink-lvp-flakes.txt b/src/gallium/drivers/zink/ci/zink-lvp-flakes.txt index 425f9ff4ba2..451f492c105 100644 --- a/src/gallium/drivers/zink/ci/zink-lvp-flakes.txt +++ b/src/gallium/drivers/zink/ci/zink-lvp-flakes.txt @@ -13,9 +13,8 @@ spec@arb_compute_variable_group_size@local-size # "X connection to :99 broken (explicit kill or server shutdown)." glx@glx-multi-context-ib-1 -# depth/stencil visuals +# depth visuals glx@glx-visuals-depth -glx@glx-visuals-stencil # mysterious glx@glx-shader-sharing diff --git a/src/gallium/drivers/zink/ci/zink-radv-fails.txt b/src/gallium/drivers/zink/ci/zink-radv-fails.txt index d4d0fbad54f..c486a93170d 100644 --- a/src/gallium/drivers/zink/ci/zink-radv-fails.txt +++ b/src/gallium/drivers/zink/ci/zink-radv-fails.txt @@ -39,7 +39,6 @@ glx@glx-swap-copy,Fail glx@glx-swap-pixmap-bad,Fail glx@glx-visuals-depth,Crash glx@glx-visuals-depth -pixmap,Crash -glx@glx-visuals-stencil,Crash glx@glx-visuals-stencil -pixmap,Crash # #6322 diff --git a/src/vulkan/wsi/wsi_common_x11.c b/src/vulkan/wsi/wsi_common_x11.c index ba3f23409c6..30bd10c08c9 100644 --- a/src/vulkan/wsi/wsi_common_x11.c +++ b/src/vulkan/wsi/wsi_common_x11.c @@ -1261,24 +1261,26 @@ x11_present_to_x11_dri3(struct x11_swapchain *chain, uint32_t image_index, image->serial = (uint32_t) chain->send_sbc; xcb_void_cookie_t cookie = - xcb_present_pixmap(chain->conn, - chain->window, - image->pixmap, - image->serial, - 0, /* valid */ - image->update_area, /* update */ - 0, /* x_off */ - 0, /* y_off */ - XCB_NONE, /* target_crtc */ - XCB_NONE, - image->sync_fence, - options, - target_msc, - divisor, - remainder, 0, NULL); - xcb_discard_reply(chain->conn, cookie.sequence); - - xcb_flush(chain->conn); + xcb_present_pixmap_checked(chain->conn, + chain->window, + image->pixmap, + image->serial, + 0, /* valid */ + image->update_area, /* update */ + 0, /* x_off */ + 0, /* y_off */ + XCB_NONE, /* target_crtc */ + XCB_NONE, + image->sync_fence, + options, + target_msc, + divisor, + remainder, 0, NULL); + xcb_generic_error_t *error = xcb_request_check(chain->conn, cookie); + if (error) { + free(error); + return x11_swapchain_result(chain, VK_ERROR_SURFACE_LOST_KHR); + } return x11_swapchain_result(chain, VK_SUCCESS); }