Selaa lähdekoodia

Backends: Vulkan: ImGui_ImplVulkan_SwapBuffers() still proceeds increasing counts on VK_SUBOPTIMAL_KHR. (#7825, #3881)

Amend 085cff2f
ocornut 1 vuosi sitten
vanhempi
commit
e212511047
2 muutettua tiedostoa jossa 8 lisäystä ja 2 poistoa
  1. 6 2
      backends/imgui_impl_vulkan.cpp
  2. 2 0
      docs/CHANGELOG.txt

+ 6 - 2
backends/imgui_impl_vulkan.cpp

@@ -1895,9 +1895,13 @@ static void ImGui_ImplVulkan_SwapBuffers(ImGuiViewport* viewport, void*)
     if (err == VK_ERROR_OUT_OF_DATE_KHR || err == VK_SUBOPTIMAL_KHR)
     {
         vd->SwapChainNeedRebuild = true;
-        return;
+        if (err == VK_ERROR_OUT_OF_DATE_KHR)
+            return;
+    }
+    else
+    {
+        check_vk_result(err);
     }
-    check_vk_result(err);
 
     wd->FrameIndex = (wd->FrameIndex + 1) % wd->ImageCount;             // This is for the next vkWaitForFences()
     wd->SemaphoreIndex = (wd->SemaphoreIndex + 1) % wd->SemaphoreCount; // Now we can use the next set of semaphores

+ 2 - 0
docs/CHANGELOG.txt

@@ -182,6 +182,8 @@ Docking+Viewports Branch:
   usage. (#7814) [@YGXXD]
 - Backends: SDL3: Fixed a bug preventing ImGuiViewportFlags_NoFocusOnAppearing support from
   working (Windows only).
+- Backends: Vulkan: ImGui_ImplVulkan_SwapBuffers() used by secondary viewports still proceeds
+  increasing frame counters on VK_SUBOPTIMAL_KHR. (#7825, #3881) [@NostraMagister]
 
 
 -----------------------------------------------------------------------