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;
pub struct DescriptorAddressInfoEXT {
s_type: vk::StructureType,
p_next: *mut c_void,
address: vk::DeviceAddress,
range: vk::DeviceSize,
format: vk::Format,
}
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-range-08045
If address is not zero, then 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
VUID-VkDescriptorAddressInfoEXT-None-12271
If
Vulkan 1.3 is not supported and the ycbcr2plane444Formats feature is not enabled, format must not be VK_FORMAT_G8_B8R8_2PLANE_444_UNORM, VK_FORMAT_G10X6_B10X6R10X6_2PLANE_444_UNORM_3PACK16, VK_FORMAT_G12X4_B12X4R12X4_2PLANE_444_UNORM_3PACK16, or VK_FORMAT_G16_B16R16_2PLANE_444_UNORM
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-address-parameter
If address is not 0, address must be a valid VkDeviceAddress value
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.