Optimize vulkan_acquire_next_image

This commit is contained in:
twinaphex 2020-08-03 19:12:55 +02:00
parent f8b8f2a07d
commit 84d849f49b

View File

@ -2864,12 +2864,14 @@ retry:
if (fence != VK_NULL_HANDLE)
vkDestroyFence(vk->context.device, fence, NULL);
if (err == VK_NOT_READY || err == VK_TIMEOUT)
switch (err)
{
case VK_NOT_READY:
case VK_TIMEOUT:
/* Do nothing. */
}
else if (err == VK_ERROR_OUT_OF_DATE_KHR || err == VK_SUBOPTIMAL_KHR)
{
break;
case VK_ERROR_OUT_OF_DATE_KHR:
case VK_SUBOPTIMAL_KHR:
/* Throw away the old swapchain and try again. */
vulkan_destroy_swapchain(vk);
@ -2883,8 +2885,8 @@ retry:
is_retrying = true;
vulkan_acquire_clear_fences(vk);
goto retry;
}
else if (err != VK_SUCCESS)
default:
if (err != VK_SUCCESS)
{
/* We are screwed, don't try anymore. Maybe it will work later. */
vulkan_destroy_swapchain(vk);
@ -2897,6 +2899,8 @@ retry:
vulkan_acquire_clear_fences(vk);
return;
}
break;
}
index = vk->context.current_swapchain_index;
if (vk->context.swapchain_semaphores[index] == VK_NULL_HANDLE)