# VK_KHR_maintenance6(3) Manual Page

## Name

VK_KHR_maintenance6 - device extension

Loading… please wait.

## Registered Extension Number

546

## Revision

1

## Ratification Status

Ratified

## Extension and Version Dependencies

Vulkan Version 1.1

## API Interactions

- Interacts with VK_EXT_descriptor_buffer

- Interacts with VK_KHR_push_descriptor

## Deprecation State

- Promoted to Vulkan 1.4

## Contact

- Jon Leech [GitHub]oddhack

## Extension Proposal

VK_KHR_maintenance6

## Other Extension Metadata

Last Modified Date

  2023-08-03

Interactions and External Dependencies

  - Interacts with `VK_EXT_robustness2`

Contributors

  - Jon Leech, Khronos

  - Stu Smith, AMD

  - Mike Blumenkrantz, Valve

  - Ralph Potter, Samsung

  - James Fitzpatrick, Imagination Technologies

  - Piers Daniell, NVIDIA

  - Daniel Story, Nintendo

## Description

VK_KHR_maintenance6 adds a collection of minor features, none of which would warrant an entire extension of their own.

The new features are as follows:

- VkBindMemoryStatusKHR may be included in the `pNext` chain of VkBindBufferMemoryInfo and VkBindImageMemoryInfo, allowing applications to identify individual resources for which memory binding failed during calls to vkBindBufferMemory2 and vkBindImageMemory2.

- A new property `fragmentShadingRateClampCombinerInputs` to indicate if an implementation clamps the inputs to fragment shading rate combiner operations.

- VK_NULL_HANDLE is allowed to be used when binding an index buffer, instead of a valid VkBuffer handle. When the `nullDescriptor` feature is enabled, every index fetched results in a value of zero.

- A new property `maxCombinedImageSamplerDescriptorCount` to indicate the maximum number of descriptors needed for any of the formats that require a sampler Y′CBCR conversion supported by the implementation.

- A new property `blockTexelViewCompatibleMultipleLayers` indicating whether `VK_IMAGE_CREATE_BLOCK_TEXEL_VIEW_COMPATIBLE_BIT` is allowed to be used with `layerCount` > 1

- `pNext` extensible *2 versions of all descriptor binding commands.

## New Commands

- vkCmdBindDescriptorSets2KHR

- vkCmdPushConstants2KHR

If VK_EXT_descriptor_buffer is supported:

- vkCmdBindDescriptorBufferEmbeddedSamplers2EXT

- vkCmdSetDescriptorBufferOffsets2EXT

If VK_KHR_push_descriptor is supported:

- vkCmdPushDescriptorSet2KHR

- vkCmdPushDescriptorSetWithTemplate2KHR

## New Structures

- VkBindDescriptorSetsInfoKHR

- VkPushConstantsInfoKHR

- Extending VkBindBufferMemoryInfo, VkBindImageMemoryInfo:

  - VkBindMemoryStatusKHR

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceMaintenance6FeaturesKHR

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceMaintenance6PropertiesKHR

If VK_EXT_descriptor_buffer is supported:

- VkBindDescriptorBufferEmbeddedSamplersInfoEXT

- VkSetDescriptorBufferOffsetsInfoEXT

If VK_KHR_push_descriptor is supported:

- VkPushDescriptorSetInfoKHR

- VkPushDescriptorSetWithTemplateInfoKHR

## New Enum Constants

- `VK_KHR_MAINTENANCE_6_EXTENSION_NAME`

- `VK_KHR_MAINTENANCE_6_SPEC_VERSION`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_SETS_INFO_KHR`

  - `VK_STRUCTURE_TYPE_BIND_MEMORY_STATUS_KHR`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_FEATURES_KHR`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_6_PROPERTIES_KHR`

  - `VK_STRUCTURE_TYPE_PUSH_CONSTANTS_INFO_KHR`

If VK_EXT_descriptor_buffer is supported:

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_BIND_DESCRIPTOR_BUFFER_EMBEDDED_SAMPLERS_INFO_EXT`

  - `VK_STRUCTURE_TYPE_SET_DESCRIPTOR_BUFFER_OFFSETS_INFO_EXT`

If VK_KHR_push_descriptor is supported:

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_INFO_KHR`

  - `VK_STRUCTURE_TYPE_PUSH_DESCRIPTOR_SET_WITH_TEMPLATE_INFO_KHR`

## Promotion to Vulkan 1.4

Functionality in this extension is included in core Vulkan 1.4 with the KHR suffix omitted. The original type, enum and command names are still available as aliases of the core functionality.

## Version History

- Revision 1, 2023-08-01 (Jon Leech)

  - Initial revision

## See Also

No cross-references are available

## Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0