Structures

VkDescriptorBufferBindingInfoEXT

Structure specifying descriptor buffer binding information

Data describing a descriptor buffer binding is passed in a VkDescriptorBufferBindingInfoEXT structure:

typedef struct VkDescriptorBufferBindingInfoEXT {
    VkStructureType sType;
    const void* pNext;
    VkDeviceAddress address;
    VkBufferUsageFlags usage;
} VkDescriptorBufferBindingInfoEXT;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • address is a VkDeviceAddress specifying the device address defining the descriptor buffer to be bound.
  • usage is a bitmask of VkBufferUsageFlagBits specifying the VkBufferCreateInfo::usage for the buffer from which address was queried.

If the pNext chain includes a VkBufferUsageFlags2CreateInfoKHR structure, VkBufferUsageFlags2CreateInfoKHR::usage from that structure is used instead of usage from this structure.

Valid Usage

VUID-VkDescriptorBufferBindingInfoEXT-None-09499

If the pNext chain does not include a VkBufferUsageFlags2CreateInfoKHR structure, usage must be a valid combination of VkBufferUsageFlagBits values

VUID-VkDescriptorBufferBindingInfoEXT-None-09500

If the pNext chain does not include a VkBufferUsageFlags2CreateInfoKHR structure, usage must not be 0

VUID-VkDescriptorBufferBindingInfoEXT-bufferlessPushDescriptors-08056

If VkPhysicalDeviceDescriptorBufferPropertiesEXT::bufferlessPushDescriptors is VK_FALSE, and usage contains VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT, then the pNext chain must include a VkDescriptorBufferBindingPushDescriptorBufferHandleEXT structure

VUID-VkDescriptorBufferBindingInfoEXT-usage-08122

If usage includes VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT, addressmust be an address within a valid buffer that was created with VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT

VUID-VkDescriptorBufferBindingInfoEXT-usage-08123

If usage includes VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT, addressmust be an address within a valid buffer that was created with VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT

VUID-VkDescriptorBufferBindingInfoEXT-usage-08124

If usage includes VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT, address must be an address within a valid buffer that was created with VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT

Valid Usage (Implicit)

VUID-VkDescriptorBufferBindingInfoEXT-sType-sType

sType must be VK_STRUCTURE_TYPE_DESCRIPTOR_BUFFER_BINDING_INFO_EXT

VUID-VkDescriptorBufferBindingInfoEXT-pNext-pNext

Each pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkBufferUsageFlags2CreateInfoKHR or VkDescriptorBufferBindingPushDescriptorBufferHandleEXT

VUID-VkDescriptorBufferBindingInfoEXT-sType-unique

The sType value of each struct in the pNext chain must be unique