Structures

VkDescriptorAddressInfoEXT

Structure specifying descriptor buffer address info

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;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • address is either 0 or a device address at an offset in a buffer, where the base address can be queried from vkGetBufferDeviceAddress.
  • range is the size in bytes of the buffer or buffer view used by the descriptor.
  • format is 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-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-address-parameter

If address is not 0, address must be a valid VkDeviceAddress 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.