C Specification

The VkPhysicalDeviceExternalBufferInfo structure is defined as:

// Provided by VK_VERSION_1_1
typedef struct VkPhysicalDeviceExternalBufferInfo {
    VkStructureType                       sType;
    const void*                           pNext;
    VkBufferCreateFlags                   flags;
    VkBufferUsageFlags                    usage;
    VkExternalMemoryHandleTypeFlagBits    handleType;
} VkPhysicalDeviceExternalBufferInfo;

or the equivalent

// Provided by VK_KHR_external_memory_capabilities
typedef VkPhysicalDeviceExternalBufferInfo VkPhysicalDeviceExternalBufferInfoKHR;



Only usage flags representable in VkBufferUsageFlagBits are returned in this structure’s usage. If a VkBufferUsageFlags2CreateInfoKHR structure is present in the pNext chain, all usage flags of the buffer are returned in VkBufferUsageFlags2CreateInfoKHR::usage.

Valid Usage (Implicit)
  • VUID-VkPhysicalDeviceExternalBufferInfo-sType-sType

  • VUID-VkPhysicalDeviceExternalBufferInfo-pNext-pNext
    pNext must be NULL or a pointer to a valid instance of VkBufferUsageFlags2CreateInfoKHR

  • VUID-VkPhysicalDeviceExternalBufferInfo-sType-unique
    The sType value of each struct in the pNext chain must be unique

  • VUID-VkPhysicalDeviceExternalBufferInfo-flags-parameter
    flags must be a valid combination of VkBufferCreateFlagBits values

  • VUID-VkPhysicalDeviceExternalBufferInfo-usage-parameter
    usage must be a valid combination of VkBufferUsageFlagBits values

  • VUID-VkPhysicalDeviceExternalBufferInfo-usage-requiredbitmask
    usage must not be 0

  • VUID-VkPhysicalDeviceExternalBufferInfo-handleType-parameter
    handleType must be a valid VkExternalMemoryHandleTypeFlagBits value

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

SPDX-License-Identifier: CC-BY-4.0