VkDescriptorBufferBindingInfoEXT
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;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.addressis a VkDeviceAddress specifying the device address defining the descriptor buffer to be bound.usageis a bitmask of VkBufferUsageFlagBits specifying the VkBufferCreateInfo::usagefor the buffer from whichaddresswas queried.
If the pNext chain includes a VkBufferUsageFlags2CreateInfo
structure, VkBufferUsageFlags2CreateInfo::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
VkBufferUsageFlags2CreateInfo structure,
usage must be a valid combination of VkBufferUsageFlagBits
values
VUID-VkDescriptorBufferBindingInfoEXT-None-09500
If the pNext chain does not include a
VkBufferUsageFlags2CreateInfo 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-address-08057
address must be aligned to
VkPhysicalDeviceDescriptorBufferPropertiesEXT::descriptorBufferOffsetAlignment
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 VkBufferUsageFlags2CreateInfo or VkDescriptorBufferBindingPushDescriptorBufferHandleEXT
VUID-VkDescriptorBufferBindingInfoEXT-sType-unique
The sType value of each structure in the pNext chain must be unique