C Specification

To release images previously acquired through vkAcquireNextImage2KHR or vkAcquireNextImageKHR, call:

// Provided by VK_EXT_swapchain_maintenance1
VkResult vkReleaseSwapchainImagesEXT(
    VkDevice                                    device,
    const VkReleaseSwapchainImagesInfoEXT*      pReleaseInfo);



Only images that are not in use by the device can be released.

Releasing images is a read-only operation that will not affect the content of the released images. Upon reacquiring the image, the image contents and its layout will be the same as they were prior to releasing it. However, if a mechanism other than Vulkan is used to modify the platform window associated with the swapchain, the content of all presentable images in the swapchain becomes undefined.


This functionality is useful during swapchain recreation, where acquired images from the old swapchain can be released instead of presented.

Valid Usage (Implicit)
  • VUID-vkReleaseSwapchainImagesEXT-device-parameter
    device must be a valid VkDevice handle

  • VUID-vkReleaseSwapchainImagesEXT-pReleaseInfo-parameter
    pReleaseInfo must be a valid pointer to a valid VkReleaseSwapchainImagesInfoEXT structure

Return Codes
On success, this command returns

On failure, this command returns

See Also

Document Notes

For more information, see the Vulkan Specification

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

Copyright 2014-2023 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0