VkBufferUsageFlags2CreateInfo(3)

# VkBufferUsageFlags2CreateInfo(3) Manual Page

## Name

VkBufferUsageFlags2CreateInfo - Extended buffer usage flags

## C Specification

The `VkBufferUsageFlags2CreateInfo` structure is defined as:

    // Provided by VK_VERSION_1_4
    typedef struct VkBufferUsageFlags2CreateInfo {
        VkStructureType        sType;
        const void*            pNext;
        VkBufferUsageFlags2    usage;
    } VkBufferUsageFlags2CreateInfo;

    // Provided by VK_KHR_extended_flags, VK_KHR_maintenance5
    // Equivalent to VkBufferUsageFlags2CreateInfo
    typedef VkBufferUsageFlags2CreateInfo VkBufferUsageFlags2CreateInfoKHR;

## Members

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `usage` is a bitmask of VkBufferUsageFlagBits2 specifying allowed usages of the buffer.

## Description

If this structure is included in the `pNext` chain of a buffer creation structure, `usage` is used instead of the corresponding `usage` value passed in that creation structure, allowing additional usage flags to be specified.

If this structure is included in the `pNext` chain of a query structure including VkBufferUsageFlags, the usage flags of the buffer are returned in `flags` of this structure, allowing additional usage flags to be queried. The flags representable in VkBufferUsageFlags are still returned in the query structure in this case.

Valid Usage (Implicit)

- VUID-VkBufferUsageFlags2CreateInfo-sType-sType
  `sType` must be VK_STRUCTURE_TYPE_BUFFER_USAGE_FLAGS_2_CREATE_INFO

- VUID-VkBufferUsageFlags2CreateInfo-usage-parameter
  `usage` must be a valid combination of VkBufferUsageFlagBits2 values

- VUID-VkBufferUsageFlags2CreateInfo-usage-requiredbitmask
  `usage` must not be `0`

Structure Chaining

Extends the structures

  - VkBufferCreateInfo

  - VkBufferViewCreateInfo

  - VkDescriptorBufferBindingInfoEXT

  - VkPhysicalDeviceExternalBufferInfo

## See Also

VK_KHR_extended_flags, VK_KHR_maintenance5, VK_VERSION_1_4, VkBufferUsageFlags2, VkStructureType

## 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

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0