From f697d377910dee089c0a4656c141780920b4d0ee Mon Sep 17 00:00:00 2001 From: bailwillharr Date: Fri, 21 Oct 2022 14:17:28 +0100 Subject: [PATCH] Fix resize error --- src/gfx_device_vulkan.cpp | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/src/gfx_device_vulkan.cpp b/src/gfx_device_vulkan.cpp index 7a9b7df..dccc244 100644 --- a/src/gfx_device_vulkan.cpp +++ b/src/gfx_device_vulkan.cpp @@ -954,15 +954,16 @@ namespace engine { res = vkResetFences(pimpl->device, 1, &pimpl->inFlightFence); assert(res == VK_SUCCESS); - uint32_t imageIndex; + uint32_t imageIndex = 0; res = vkAcquireNextImageKHR(pimpl->device, pimpl->swapchain.swapchain, UINT64_MAX, pimpl->swapchain.acquireSemaphore, VK_NULL_HANDLE, &imageIndex); - if (res == VK_SUBOPTIMAL_KHR || res == VK_ERROR_OUT_OF_DATE_KHR) { + if (res == VK_ERROR_OUT_OF_DATE_KHR) { // recreate swapchain waitIdle(); createSwapchain(pimpl->device, pimpl->physicalDevice, pimpl->queues, pimpl->window, pimpl->surface, &pimpl->swapchain); + return; } else { - assert(res == VK_SUCCESS); + assert(res == VK_SUCCESS || res == VK_SUBOPTIMAL_KHR); } res = vkResetCommandBuffer(pimpl->commandBuffer, 0);