VK_KHR_maintenance6(3)

# 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

Version 1.1

## API Interactions

- Interacts with VK_EXT_descriptor_buffer

- Interacts with VK_KHR_push_descriptor

## Contact

- Jon Leech 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`

## Issues

None.

## Version History

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

  - Initial revision

## See Also

VkBindDescriptorSetsInfoKHR, VkBindMemoryStatusKHR, VkPhysicalDeviceMaintenance6FeaturesKHR, VkPhysicalDeviceMaintenance6PropertiesKHR, VkPushConstantsInfoKHR, vkCmdBindDescriptorSets2KHR, vkCmdPushConstants2KHR

## 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-2024 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0