C Specification

Bits which can be set in a VkAddressCommandFlagsKHR mask are:

// Provided by VK_KHR_device_address_commands
typedef enum VkAddressCommandFlagBitsKHR {
    VK_ADDRESS_COMMAND_PROTECTED_BIT_KHR = 0x00000001,
    VK_ADDRESS_COMMAND_FULLY_BOUND_BIT_KHR = 0x00000002,
    VK_ADDRESS_COMMAND_STORAGE_BUFFER_USAGE_BIT_KHR = 0x00000004,
    VK_ADDRESS_COMMAND_UNKNOWN_STORAGE_BUFFER_USAGE_BIT_KHR = 0x00000008,
  // Provided by VK_KHR_device_address_commands with VK_EXT_transform_feedback
    VK_ADDRESS_COMMAND_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR = 0x00000010,
  // Provided by VK_KHR_device_address_commands with VK_EXT_transform_feedback
    VK_ADDRESS_COMMAND_UNKNOWN_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR = 0x00000020,
} VkAddressCommandFlagBitsKHR;

Description

If neither VK_ADDRESS_COMMAND_STORAGE_BUFFER_USAGE_BIT_KHR nor VK_ADDRESS_COMMAND_UNKNOWN_STORAGE_BUFFER_USAGE_BIT_KHR are specified, the address range must not be aliased with any buffer allocated with the VK_BUFFER_USAGE_STORAGE_BUFFER_BIT. If neither VK_ADDRESS_COMMAND_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR nor VK_ADDRESS_COMMAND_UNKNOWN_TRANSFORM_FEEDBACK_BUFFER_USAGE_BIT_KHR are specified, the address range must not be aliased with any buffer allocated with the VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT.

Note

Buffers can return overlapping address ranges if they are bound to overlapping ranges of a VkDeviceMemory object. Applications should ensure that if they do this kind of aliasing, that they consistently either include or do not include VK_BUFFER_USAGE_STORAGE_BUFFER_BIT and VK_BUFFER_USAGE_TRANSFORM_FEEDBACK_BUFFER_BIT_EXT on aliased buffers when considering these flags.

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

SPDX-License-Identifier: CC-BY-4.0