Skip to content

Vulkan: Use of previously acquired images from retired Swapchains results in crash #62

@DarathDev

Description

@DarathDev

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:

  1. Create a swapchain
  2. Acquire an image
  3. Create a new swapchain on the same surface, with the first swapchain as the parameter for oldSwapchain
  4. 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

DxDiag.txt

Metadata

Metadata

Assignees

Labels

VulkanThis is an issue with Vulkan driver

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions