diff --git a/.pick_status.json b/.pick_status.json index 1856e514c01..85e00f92083 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -463,7 +463,7 @@ "description": "vulkan/wsi/sw: wait for image fence before submitting to queue", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": "8004fa9c9501d91669ac51d32c9a9143286ca7ea" }, diff --git a/src/vulkan/wsi/wsi_common.c b/src/vulkan/wsi/wsi_common.c index b1360edb911..292bb976da8 100644 --- a/src/vulkan/wsi/wsi_common.c +++ b/src/vulkan/wsi/wsi_common.c @@ -653,6 +653,10 @@ wsi_common_queue_present(const struct wsi_device *wsi, if (result != VK_SUCCESS) goto fail_present; + if (wsi->sw) + wsi->WaitForFences(device, 1, &swapchain->fences[image_index], + true, ~0ull); + const VkPresentRegionKHR *region = NULL; if (regions && regions->pRegions) region = ®ions->pRegions[i];