You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
False positive with oldSwapchain created from a different VkSurface #10112
SDK or header version if building from repo: 1.4.313.0
Options enabled (synchronization, best practices, etc.):
Describe the Issue
Create two VkSurfaces (A, B) from the same native window.
Create a swapchain S from A.
Create a swapchain T from B, passing in S as the oldSwapchain.
Expected behavior
No error.
Valid Usage ID
VUID-VkSwapchainCreateInfoKHR-oldSwapchain-01933
Validation Error: [ VUID-VkSwapchainCreateInfoKHR-oldSwapchain-01933 ] | MessageID = 0xe7c1ebde
vkCreateSwapchainKHR(): pCreateInfo->oldSwapchain surface is not pCreateInfo->surface.
The Vulkan spec states: If oldSwapchain is not VK_NULL_HANDLE, oldSwapchain must be a non-retired swapchain associated with native window referred to by surface (https://docs.vulkan.org/spec/latest/chapters/VK_KHR_surface/wsi.html#VUID-VkSwapchainCreateInfoKHR-oldSwapchain-01933)
oldSwapchain must be a non-retired swapchain associated with native window referred to by surface
The old swapchain, S, is, in fact, associated with the same native window referred to by B since A and B refer to the same native window.
was able to reproduce with a simple test, we currently were not tracking the Native Object underneath, plan to add a quick fix (at least for Linux where I can test)
Activity
spencer-lunarg commentedon May 15, 2025
was able to reproduce with a simple test, we currently were not tracking the Native Object underneath, plan to add a quick fix (at least for Linux where I can test)
spencer-lunarg commentedon May 15, 2025
@mahkoh thanks for raising this, I have update the code so it will no be a false positive
I am keeping this issue open though as I want to come back in the future (when someone has time) to add proper support for that VU