VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR(3)

# VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR(3) Manual Page

## Name

VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR - Structure describing whether implementation supports swapchain maintenance1 functionality

## C Specification

The `VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR` structure is defined as:

    // Provided by VK_KHR_swapchain_maintenance1
    typedef struct VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR {
        VkStructureType    sType;
        void*              pNext;
        VkBool32           swapchainMaintenance1;
    } VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR;

    // Provided by VK_EXT_swapchain_maintenance1
    // Equivalent to VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR
    typedef VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR VkPhysicalDeviceSwapchainMaintenance1FeaturesEXT;

## Members

This structure describes the following feature:

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `swapchainMaintenance1` indicates that the implementation supports the following:

  - VkSwapchainPresentFenceInfoKHR, specifying a fence that is signaled when the resources associated with a present operation can be safely destroyed.

  - VkSwapchainPresentModesCreateInfoKHR and VkSwapchainPresentModeInfoKHR, allowing the swapchain to switch present modes without a need for recreation.

  - VkSwapchainPresentScalingCreateInfoKHR, specifying the scaling behavior of the swapchain in presence of window resizing.

  - The VK_SWAPCHAIN_CREATE_DEFERRED_MEMORY_ALLOCATION_BIT_KHR flag, allowing the implementation to defer the allocation of swapchain image memory until first acquisition.

  - vkReleaseSwapchainImagesKHR, allowing acquired swapchain images to be released without presenting them.

## Description

If the `VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR` structure is included in the `pNext` chain of the VkPhysicalDeviceFeatures2 structure passed to vkGetPhysicalDeviceFeatures2, it is filled in to indicate whether each corresponding feature is supported. If the application wishes to use a VkDevice with any features described by `VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR`, it must add an instance of the structure, with the desired feature members set to VK_TRUE, to the `pNext` chain of VkDeviceCreateInfo when creating the VkDevice.

Valid Usage (Implicit)

- VUID-VkPhysicalDeviceSwapchainMaintenance1FeaturesKHR-sType-sType
  `sType` must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SWAPCHAIN_MAINTENANCE_1_FEATURES_KHR

Structure Chaining

Extends the structures

  - VkDeviceCreateInfo

  - VkPhysicalDeviceFeatures2

## See Also

VK_EXT_swapchain_maintenance1, VK_KHR_swapchain_maintenance1, VkBool32, VkStructureType

## 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

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0