C Specification

The VkPhysicalDeviceMaintenance5FeaturesKHR structure is defined as:

// Provided by VK_KHR_maintenance5
typedef struct VkPhysicalDeviceMaintenance5FeaturesKHR {
    VkStructureType    sType;
    void*              pNext;
    VkBool32           maintenance5;
} VkPhysicalDeviceMaintenance5FeaturesKHR;


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.

  • maintenance5 indicates that the implementation supports the following:

    • The ability to expose support for the optional format VK_FORMAT_A1B5G5R5_UNORM_PACK16_KHR.

    • The ability to expose support for the optional format VK_FORMAT_A8_UNORM_KHR.

    • A property to indicate that multisample coverage operations are performed after sample counting in EarlyFragmentTests mode.

    • Creating a VkBufferView with a subset of the associated VkBuffer usage using VkBufferUsageFlags2CreateInfoKHR.

    • A new function vkCmdBindIndexBuffer2KHR, allowing a range of memory to be bound as an index buffer.

    • vkGetDeviceProcAddr will return NULL for function pointers of core functions for versions higher than the version requested by the application.

    • vkCmdBindVertexBuffers2 supports using VK_WHOLE_SIZE in the pSizes parameter.

    • If PointSize is not written, a default value of 1.0 is used for the size of points.

    • VkShaderModuleCreateInfo can be added as a chained structure to pipeline creation via VkPipelineShaderStageCreateInfo, rather than having to create a shader module.

    • A function vkGetRenderingAreaGranularityKHR to query the optimal render area for a dynamic rendering instance.

    • A property to indicate that depth/stencil texturing operations with VK_COMPONENT_SWIZZLE_ONE have defined behavior.

    • vkGetDeviceImageSubresourceLayoutKHR allows an application to perform a vkGetImageSubresourceLayout query without having to create an image.

    • VK_REMAINING_ARRAY_LAYERS as the layerCount member of VkImageSubresourceLayers.

    • A property to indicate whether PointSize controls the final rasterization of polygons if polygon mode is VK_POLYGON_MODE_POINT.

    • Two properties to indicate the non-strict line rasterization algorithm used.

    • Two new flags words VkPipelineCreateFlagBits2KHR and VkBufferUsageFlagBits2KHR.

    • Physical-device-level functions can now be called with any value in the valid range for a type beyond the defined enumerants, such that applications can avoid checking individual features, extensions, or versions before querying supported properties of a particular enumerant.

    • Copies between images of any type are allowed, with 1D images treated as 2D images with a height of 1.

If the VkPhysicalDeviceMaintenance5FeaturesKHR 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. VkPhysicalDeviceMaintenance5FeaturesKHR can also be used in the pNext chain of VkDeviceCreateInfo to selectively enable these features.

Valid Usage (Implicit)
  • VUID-VkPhysicalDeviceMaintenance5FeaturesKHR-sType-sType

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