If for some reason the fence associated with an image doesn't signal,
we're likely in a device lost scenario, we should report that error.
We can't really wait for a given amount of time because we could get a
timeout and that is not a valid error to report for vkQueuePresentKHR,
so just wait forever.
Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Closes: https://gitlab.freedesktop.org/mesa/mesa/issues/830
Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
if (result != VK_SUCCESS)
goto fail_present;
} else {
- wsi->WaitForFences(device, 1, &swapchain->fences[image_index],
- true, 1);
+ result =
+ wsi->WaitForFences(device, 1, &swapchain->fences[image_index],
+ true, ~0ull);
+ if (result != VK_SUCCESS)
+ goto fail_present;
- wsi->ResetFences(device, 1, &swapchain->fences[image_index]);
+ result =
+ wsi->ResetFences(device, 1, &swapchain->fences[image_index]);
+ if (result != VK_SUCCESS)
+ goto fail_present;
}
struct wsi_image *image =