VK_KHR_maintenance8(3)

# VK_KHR_maintenance8(3) Manual Page

## Name

VK_KHR_maintenance8 - device extension

## Registered Extension Number

575

## Revision

1

## Ratification Status

Ratified

## Extension and Version Dependencies

Vulkan Version 1.1

## Contact

- Mike Blumenkrantz [GitHub]zmike

## Extension Proposal

VK_KHR_maintenance8

## Other Extension Metadata

Last Modified Date

  2025-01-07

Interactions and External Dependencies
Contributors

  - Jon Leech, Khronos

  - Mike Blumenkrantz, Valve

  - Spencer Fricke, LunarG

  - Jan-Harald Fredriksen, ARM

  - Piers Daniell, NVIDIA

  - Matthew Netsch, Qualcomm

  - Ricardo Garcia, Igalia

  - Lionel Landwerlin, Intel

  - Rick Hammerstone, Qualcomm

  - Daniel Story, Nintendo

  - Hans-Kristian Arntzen, Valve

  - Caterina Shablia, Collabora

  - Georg Lehmann, Valve

  - Shahbaz Youssefi, Google

  - Tobias Hector, AMD

## Description

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

The new features are as follows:

- Allow copies between depth/stencil and “matching” color attachments

- Allow `dstCache` in `vkMergePipelineCaches` to be implicitly synchronized.

- Require src/dst sync scopes to work when doing queue family ownership transfers

- Support `Offset` (as an alternative to `ConstOffset`) image operand in texture sampling and fetch operations

- Use the SPIR-V definition of `OpSRem` and `OpSMod`, making these operations produce well-defined results for negative operands

- Loosen layer restrictions when blitting from 3D images to other image types

- Add space for an additional 64 access flags for use with VkMemoryBarrier2, VkBufferMemoryBarrier2, and VkImageMemoryBarrier2

## New Structures

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceMaintenance8FeaturesKHR

- Extending VkSubpassDependency2, VkBufferMemoryBarrier2, VkImageMemoryBarrier2, VkMemoryRangeBarriersInfoKHR:

  - VkMemoryBarrierAccessFlags3KHR

## New Enums

- VkAccessFlagBits3KHR

- VkPipelineCacheCreateFlagBits

## New Bitmasks

- VkAccessFlags3KHR

## New Enum Constants

- `VK_KHR_MAINTENANCE_8_EXTENSION_NAME`

- `VK_KHR_MAINTENANCE_8_SPEC_VERSION`

- Extending VkDependencyFlagBits:

  - VK_DEPENDENCY_QUEUE_FAMILY_OWNERSHIP_TRANSFER_USE_ALL_STAGES_BIT_KHR

- Extending VkPipelineCacheCreateFlagBits:

  - VK_PIPELINE_CACHE_CREATE_INTERNALLY_SYNCHRONIZED_MERGE_BIT_KHR

- Extending VkStructureType:

  - VK_STRUCTURE_TYPE_MEMORY_BARRIER_ACCESS_FLAGS_3_KHR

  - VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MAINTENANCE_8_FEATURES_KHR

## Issues

None.

## Version History

- Revision 1, 2024-06-20 (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-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0