VkDescriptorAddressInfoEXT
Data describing a VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,
VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, or
VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor is passed in a
VkDescriptorAddressInfoEXT structure:
typedef struct VkDescriptorAddressInfoEXT {
VkStructureType sType;
void* pNext;
VkDeviceAddress address;
VkDeviceSize range;
VkFormat format;
} VkDescriptorAddressInfoEXT;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.addressis either0or a device address at an offset in a buffer, where the base address can be queried from vkGetBufferDeviceAddress.rangeis the size in bytes of the buffer or buffer view used by the descriptor.formatis the format of the data elements in the buffer view and is ignored for buffers.
Valid Usage
VUID-VkDescriptorAddressInfoEXT-None-09508
If
address is not zero, and
the descriptor is of type VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
or VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, then formatmust not be VK_FORMAT_UNDEFINED
VUID-VkDescriptorAddressInfoEXT-address-08043
If the nullDescriptor feature is not
enabled,
address must not be zero
VUID-VkDescriptorAddressInfoEXT-nullDescriptor-08938
If address is zero, range must be VK_WHOLE_SIZE
VUID-VkDescriptorAddressInfoEXT-nullDescriptor-08939
If address is not zero,
range must not be VK_WHOLE_SIZE
VUID-VkDescriptorAddressInfoEXT-None-08044
If address is not zero, address must be a valid device
address at an offset within a VkBuffer
VUID-VkDescriptorAddressInfoEXT-range-08045
range must be less than or equal to the size of the buffer
containing address minus the offset of address from the base
address of the buffer
VUID-VkDescriptorAddressInfoEXT-range-08940
range must not be zero
Valid Usage (Implicit)
VUID-VkDescriptorAddressInfoEXT-sType-sType
sType must be VK_STRUCTURE_TYPE_DESCRIPTOR_ADDRESS_INFO_EXT
VUID-VkDescriptorAddressInfoEXT-pNext-pNext
pNext must be NULL
VUID-VkDescriptorAddressInfoEXT-format-parameter
format must be a valid VkFormat value
If the nullDescriptor feature is enabled,
address can be zero.
Loads from a null descriptor return zero values and stores and atomics to a
null descriptor are discarded.