-
-
Notifications
You must be signed in to change notification settings - Fork 10.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Glfw + Vulkan: backend don't properly handle when vkQueuePresentKHR & vkAcquireNextImageKHR produce VK_ERROR_OUT_OF_DATE_KHR #7508
Comments
So after digging a bit deeper into this I found that my issue may be related to #3758 Producing 2 validation errors on the way from vkQueuePresentKHR near line 1878 (imgui_impl_vulkan.cpp) and if I try to not only skip the check but call ImGui_ImplVulkanH_CreateOrResizeWindow like here cff8162 I get:
EDIT: |
#7513 should fix this |
For the records, linking to past similar stuff done for main viewport: |
I realize that #3390 aimed to solve the same problem, but it ended up in Vulkan-confusion-procrastination-quagmire. |
This should now be fixed, see other PR: Both PR were AFAIK near identical in results, given the complexity of this, I would appreciate if everyone affected could confirm that it fixes the situation for them. Thanks everyone! |
Version/Branch of Dear ImGui:
Version 1.90.5 WIP (19044), Branch: docking
Back-ends:
imgui_impl_glfw.cpp + imgui_impl_vulkan.cpp
Compiler, OS:
Linux + GCC 13.2.1
Vulkan: 1.3.279
GLFW: 3.4-2
KDE Plasma 6
GTX 1050Ti (Nvidia drivers v 550.67)
Full config/build information:
Details:
My Issue/Question:
So I'm trying to get the docking branch features implemented in my project and I realized there was an issue when resizing secondary viewports. I went to the example_glfw_vulkan to see how it was handled there and it seems resizing secondary viewports from the example sometimes works, and sometimes abort the program.
I attempted to just skip the error check if err == VK_ERROR_OUT_OF_DATE_KHR || err == VK_SUBOPTIMAL_KHR, and when doing so it later get stuck on vkDeviceWaitIdle which is the same behavior I observe in my project (only difference is that my project is using GLFW 3.29.2)
My project's implementation of this is probably not perfect but since I noticed an issue in the example itself I thought I'd post what I have.
Screenshots/Video:
2024-04-18-18-55-17.mp4
Minimal, Complete and Verifiable Example code:
code:
just using the example_glfw_vulkan/main.cpp
The text was updated successfully, but these errors were encountered: