From 507cdba44e274bc8a53adb0bf8aa950557a3392c Mon Sep 17 00:00:00 2001 From: ocornut Date: Wed, 15 Jan 2025 17:38:37 +0100 Subject: [PATCH] Backends: Vulkan: vkQueuePresentKHR() returning VK_SUBOPTIMAL_KHR keeps moving forward. (#7825) --- backends/imgui_impl_vulkan.cpp | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/backends/imgui_impl_vulkan.cpp b/backends/imgui_impl_vulkan.cpp index f8f1b511f..d553e7e8c 100644 --- a/backends/imgui_impl_vulkan.cpp +++ b/backends/imgui_impl_vulkan.cpp @@ -1968,15 +1968,11 @@ static void ImGui_ImplVulkan_SwapBuffers(ImGuiViewport* viewport, void*) info.pImageIndices = &present_index; err = vkQueuePresentKHR(v->Queue, &info); if (err == VK_ERROR_OUT_OF_DATE_KHR || err == VK_SUBOPTIMAL_KHR) - { vd->SwapChainNeedRebuild = true; - if (err == VK_ERROR_OUT_OF_DATE_KHR) - return; - } - else - { + if (err == VK_ERROR_OUT_OF_DATE_KHR) + return; + if (err != VK_SUBOPTIMAL_KHR) check_vk_result(err); - } wd->SemaphoreIndex = (wd->SemaphoreIndex + 1) % wd->SemaphoreCount; // Now we can use the next set of semaphores }