vulkan/wsi: error out when image fence doesn't signal
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>
This commit is contained in:
@@ -1057,10 +1057,16 @@ wsi_common_queue_present(const struct wsi_device *wsi,
|
||||
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 =
|
||||
|
Reference in New Issue
Block a user