# VkPhysicalDeviceMaintenance9FeaturesKHR(3) Manual Page

## Name

VkPhysicalDeviceMaintenance9FeaturesKHR - Structure describing whether the implementation supports maintenance9 functionality

Loading… please wait.

## C Specification

The `VkPhysicalDeviceMaintenance9FeaturesKHR` structure is defined as:

    // Provided by VK_KHR_maintenance9
    typedef struct VkPhysicalDeviceMaintenance9FeaturesKHR {
        VkStructureType    sType;
        void*              pNext;
        VkBool32           maintenance9;
    } VkPhysicalDeviceMaintenance9FeaturesKHR;

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

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

  - The restriction that certain bitfield SPIR-V instructions only operate on 32-bit integers is relaxed.

  - The value returned when a vertex shader reads an unbound vertex attribute is defined by way of the `defaultVertexAttributeValue` property.

  - A new VkQueryPoolCreateFlagBits::`VK_QUERY_POOL_CREATE_RESET_BIT_KHR` flag can be used to initialize all queries in query pool to the reset state on creation.

  - vkCmdSetEvent2 may not provide a dependency other than the event src stage mask.

  - The effects of image memory barriers and image layout transitions on 3D images created with `VK_IMAGE_CREATE_2D_ARRAY_COMPATIBLE_BIT` are limited to only those slices specified in `VkImageSubresourceRange`

  - A device can be created with no queues. This can be used for compiling pipelines or shaders for the purpose of filling pipeline caches.

  - Queue family ownership transfers are no longer required when transitioning resources created with `VK_SHARING_MODE_EXCLUSIVE` between queue families that support `VK_QUEUE_GRAPHICS_BIT` and those that support only `VK_QUEUE_TRANSFER_BIT`.

  - `image2DViewOf3DSparse` enables 2D views of 3D sparse images.

## Description

If the `VkPhysicalDeviceMaintenance9FeaturesKHR` 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 `VkPhysicalDeviceMaintenance9FeaturesKHR`, 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-VkPhysicalDeviceMaintenance9FeaturesKHR-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_9_FEATURES_KHR`

## See Also

VK_KHR_maintenance9, 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-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0