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;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
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 whichaddress
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-address-08057
address
must be aligned to
VkPhysicalDeviceDescriptorBufferPropertiesEXT::descriptorBufferOffsetAlignment
VUID-VkDescriptorBufferBindingInfoEXT-usage-08122
If usage
includes
VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT
, address
must 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
, address
must 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