-
Notifications
You must be signed in to change notification settings - Fork 5
Description
Problem
An exception is thrown when performing any operation that involves an acquired image from a retired swapchain. Specifically, I have seen this behaviour with the creation of pipeline barriers, and present operations.
This seems to conflict with the Vulkan spec for VkSwapchainCreateInfoKHR
After oldSwapchain is retired, the application can pass to vkQueuePresentKHR any images it had already acquired from oldSwapchain. E.g., an application may present an image from the old swapchain before an image from the new swapchain is ready to be presented. As usual, vkQueuePresentKHR may fail if oldSwapchain has entered a state that causes VK_ERROR_OUT_OF_DATE_KHR to be returned.
The application can continue to use a shared presentable image obtained from oldSwapchain until a presentable image is acquired from the new swapchain, as long as it has not entered a state that causes it to return VK_ERROR_OUT_OF_DATE_KHR.
Steps to Reproduce:
- Create a swapchain
- Acquire an image
- Create a new swapchain on the same surface, with the first swapchain as the parameter for oldSwapchain
- Perform an operation with the acquired image (imageMemoryBarrier, present, etc.)
No validation errors are thrown prior.
Expected Behaviour
Either the operation succeeds, or in the case of VkQueuePresentKHR it returns a VkResult value that reflects the issue like VK_ERROR_OUT_OF_DATE_KHR
Apologies for not having a minimal reproducible sample.
Connected System Information
Driver Version: 25.10.13.01-250526a-416003C-AMD-Software-Adrenalin-Edition
GPUOpen Interface Major Version: 42
Operating System Name: Windows 11 Pro
Operating System Description: 26100.1.amd64fre.ge_release.240331-1435
GPUs:
Name: AMD Radeon RX 7900 XT
ASIC info
Device Id: 744C
Revision: CC
Family: 91
gfx_engine: 13
Name: AMD Radeon(TM) Graphics
ASIC info
Device Id: 164E
Revision: C3
Family: 95
gfx_engine: 13