# VK_KHR_maintenance10(3) Manual Page

## Name

VK_KHR_maintenance10 - device extension

Loading… please wait.

## Registered Extension Number

631

## Revision

1

## Ratification Status

Ratified

## Extension and Version Dependencies

VK_KHR_get_physical_device_properties2
or
Vulkan Version 1.1

## API Interactions

- Interacts with VK_VERSION_1_3

- Interacts with VK_VERSION_1_4

- Interacts with VK_KHR_copy_commands2

- Interacts with VK_KHR_dynamic_rendering

- Interacts with VK_KHR_dynamic_rendering_local_read

- Interacts with VK_KHR_format_feature_flags2

## Contact

- Mike Blumenkrantz [GitHub]zmike

## Extension Proposal

VK_KHR_maintenance10

## Other Extension Metadata

Last Modified Date

  2025-05-13

Interactions and External Dependencies

  - This extension interacts with `VK_KHR_format_feature_flags2`

  - This extension interacts with `VK_EXT_extended_dynamic_state3`

  - This extension interacts with `VK_KHR_dynamic_rendering_local_read`

  - This extension interacts with `VK_KHR_depth_stencil_resolve`

Contributors

  - Mike Blumenkrantz, Valve

  - Piers Daniell, NVIDIA

  - Hans-Kristian Arntzen, Valve

## Description

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

The new features are as follows:

- New image format feature bits that indicate support for copying depth or stencil aspects using non-graphics queue families

- If vkCmdSetSampleMaskEXT is called with `pSampleMask` set to `NULL`, it is treated as if the mask has all bits set to `1`.

- Add vkCmdEndRendering2KHR as an extensible version of vkCmdEndRendering

- Add input attachment information to dynamic rendering

- Require that vertex inputs follow sRGB encoding when those formats are used, instead of being underspecified.

- Add a query to determine if sRGB images are resolved in nonlinear or linear space by default

- Add an optional feature to allow applications to override the default sRGB resolve behavior

- Add resolve mode and depth-stencil resolve support to `vkCmdResolveImage2` to bring it in-line with render pass attachment resolves

## New Commands

- vkCmdEndRendering2KHR

## New Structures

- VkRenderingEndInfoKHR

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceMaintenance10FeaturesKHR

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceMaintenance10PropertiesKHR

- Extending VkRenderingAttachmentInfo:

  - VkRenderingAttachmentFlagsInfoKHR

- Extending VkResolveImageInfo2:

  - VkResolveImageModeInfoKHR

## New Enums

- VkRenderingAttachmentFlagBitsKHR

- VkResolveImageFlagBitsKHR

## New Bitmasks

- VkRenderingAttachmentFlagsKHR

- VkResolveImageFlagsKHR

## New Enum Constants

- `VK_KHR_MAINTENANCE_10_EXTENSION_NAME`

- `VK_KHR_MAINTENANCE_10_SPEC_VERSION`

- Extending VkAttachmentDescriptionFlagBits:

  - `VK_ATTACHMENT_DESCRIPTION_RESOLVE_ENABLE_TRANSFER_FUNCTION_BIT_KHR`

  - `VK_ATTACHMENT_DESCRIPTION_RESOLVE_SKIP_TRANSFER_FUNCTION_BIT_KHR`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_FEATURES_KHR`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_10_PROPERTIES_KHR`

  - `VK_STRUCTURE_TYPE_RENDERING_ATTACHMENT_FLAGS_INFO_KHR`

  - `VK_STRUCTURE_TYPE_RENDERING_END_INFO_KHR`

  - `VK_STRUCTURE_TYPE_RESOLVE_IMAGE_MODE_INFO_KHR`

If Vulkan Version 1.4 or VK_KHR_dynamic_rendering_local_read and Vulkan Version 1.3 or VK_KHR_dynamic_rendering is supported:

- Extending VkRenderingAttachmentFlagBitsKHR:

  - `VK_RENDERING_ATTACHMENT_INPUT_ATTACHMENT_FEEDBACK_BIT_KHR`

- Extending VkRenderingFlagBits:

  - `VK_RENDERING_LOCAL_READ_CONCURRENT_ACCESS_CONTROL_BIT_KHR`

If VK_KHR_format_feature_flags2 or Vulkan Version 1.3 is supported:

- Extending VkFormatFeatureFlagBits2:

  - `VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_COMPUTE_QUEUE_BIT_KHR`

  - `VK_FORMAT_FEATURE_2_DEPTH_COPY_ON_TRANSFER_QUEUE_BIT_KHR`

  - `VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_COMPUTE_QUEUE_BIT_KHR`

  - `VK_FORMAT_FEATURE_2_STENCIL_COPY_ON_TRANSFER_QUEUE_BIT_KHR`

If Vulkan Version 1.3 or VK_KHR_copy_commands2 is supported:

- Extending VkResolveImageFlagBitsKHR:

  - `VK_RESOLVE_IMAGE_ENABLE_TRANSFER_FUNCTION_BIT_KHR`

  - `VK_RESOLVE_IMAGE_SKIP_TRANSFER_FUNCTION_BIT_KHR`

If Vulkan Version 1.3 or VK_KHR_dynamic_rendering is supported:

- Extending VkRenderingAttachmentFlagBitsKHR:

  - `VK_RENDERING_ATTACHMENT_RESOLVE_ENABLE_TRANSFER_FUNCTION_BIT_KHR`

  - `VK_RENDERING_ATTACHMENT_RESOLVE_SKIP_TRANSFER_FUNCTION_BIT_KHR`

## Issues

None.

## Version History

- Revision 1, 2025-05-13 (Mike Blumenkrantz)

  - 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