summaryrefslogtreecommitdiffstats
path: root/src/vulkan
diff options
context:
space:
mode:
Diffstat (limited to 'src/vulkan')
-rw-r--r--src/vulkan/wsi/wsi_common_wayland.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/vulkan/wsi/wsi_common_wayland.c b/src/vulkan/wsi/wsi_common_wayland.c
index ad653848b82..cf978ea3bf6 100644
--- a/src/vulkan/wsi/wsi_common_wayland.c
+++ b/src/vulkan/wsi/wsi_common_wayland.c
@@ -774,9 +774,14 @@ wsi_wl_swapchain_acquire_next_image(struct wsi_swapchain *wsi_chain,
}
}
- /* This time we do a blocking dispatch because we can't go
- * anywhere until we get an event.
+ /* We now have to do a blocking dispatch, because all our images
+ * are in use and we cannot return one until the server does. However,
+ * if the client has requested non-blocking ANI, then we tell it up front
+ * that we have nothing to return.
*/
+ if (info->timeout == 0)
+ return VK_NOT_READY;
+
int ret = wl_display_roundtrip_queue(chain->display->wl_display,
chain->display->queue);
if (ret < 0)