Structures

VkDescriptorGetInfoEXT

Structure specifying parameters of descriptor to get

Information about the descriptor to get is passed in a VkDescriptorGetInfoEXT structure:

typedef struct VkDescriptorGetInfoEXT {
    VkStructureType sType;
    const void* pNext;
    VkDescriptorType type;
    VkDescriptorDataEXT data;
} VkDescriptorGetInfoEXT;
  • sType is a VkStructureType value identifying this structure.
  • pNext is NULL or a pointer to a structure extending this structure.
  • type is the type of descriptor to get.
  • data is a structure containing the information needed to get the descriptor.

Valid Usage

VUID-VkDescriptorGetInfoEXT-type-08018

type must not be VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC, VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC or VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK

VUID-VkDescriptorGetInfoEXT-type-08019

If type is VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, the pCombinedImageSampler→sampler member of data must be a VkSampler created on device

VUID-VkDescriptorGetInfoEXT-type-08020

If type is VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, the pCombinedImageSampler→imageView member of data must be a VkImageView created on device, or VK_NULL_HANDLE

VUID-VkDescriptorGetInfoEXT-type-08021

If type is VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, the pInputAttachmentImage→imageView member of data must be a VkImageView created on device

VUID-VkDescriptorGetInfoEXT-type-08022

If type is VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, and if pSampledImage is not NULL, the pSampledImage→imageView member of data must be a VkImageView created on device, or VK_NULL_HANDLE

VUID-VkDescriptorGetInfoEXT-type-08023

If type is VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, and if pStorageImage is not NULL, the pStorageImage→imageView member of data must be a VkImageView created on device, or VK_NULL_HANDLE

VUID-VkDescriptorGetInfoEXT-type-08024

If type is VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, pUniformTexelBuffer is not NULL and pUniformTexelBuffer→address is not zero, pUniformTexelBuffer→address must be an address within a VkBuffer created on device

VUID-VkDescriptorGetInfoEXT-type-08025

If type is VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, pStorageTexelBuffer is not NULL and pStorageTexelBuffer→address is not zero, pStorageTexelBuffer→address must be an address within a VkBuffer created on device

VUID-VkDescriptorGetInfoEXT-type-08026

If type is VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, pUniformBuffer is not NULL and pUniformBuffer→address is not zero, pUniformBuffer→address must be an address within a VkBuffer created on device

VUID-VkDescriptorGetInfoEXT-type-08027

If type is VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, pStorageBuffer is not NULL and pStorageBuffer→address is not zero, pStorageBuffer→address must be an address within a VkBuffer created on device

VUID-VkDescriptorGetInfoEXT-type-09427

If type is VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, pUniformBuffer is not NULL , the number of texel buffer elements given by (⌊pUniformBuffer→range / (texel block size)⌋ × (texels per block)) where texel block size and texels per block are as defined in the Compatible Formats table for pUniformBuffer→format, must be less than or equal to VkPhysicalDeviceLimits::maxTexelBufferElements

VUID-VkDescriptorGetInfoEXT-type-09428

If type is VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, pStorageBuffer is not NULL , the number of texel buffer elements given by (⌊pStorageBuffer→range / (texel block size)⌋ × (texels per block)) where texel block size and texels per block are as defined in the Compatible Formats table for pStorageBuffer→format, must be less than or equal to VkPhysicalDeviceLimits::maxTexelBufferElements

VUID-VkDescriptorGetInfoEXT-type-08028

If type is VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR and accelerationStructure is not 0, accelerationStructuremust contain the address of a VkAccelerationStructureKHR created on device

VUID-VkDescriptorGetInfoEXT-type-08029

If type is VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV and accelerationStructure is not 0, accelerationStructuremust contain the handle of a VkAccelerationStructureNV created on device, returned by vkGetAccelerationStructureHandleNV

Valid Usage (Implicit)

VUID-VkDescriptorGetInfoEXT-sType-sType

sType must be VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT

VUID-VkDescriptorGetInfoEXT-pSampler-parameter

If type is VK_DESCRIPTOR_TYPE_SAMPLER, the pSampler member of data must be a valid pointer to a valid VkSampler handle

VUID-VkDescriptorGetInfoEXT-pCombinedImageSampler-parameter

If type is VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, the pCombinedImageSampler member of data must be a valid pointer to a valid VkDescriptorImageInfo structure

VUID-VkDescriptorGetInfoEXT-pInputAttachmentImage-parameter

If type is VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, the pInputAttachmentImage member of data must be a valid pointer to a valid VkDescriptorImageInfo structure

VUID-VkDescriptorGetInfoEXT-pSampledImage-parameter

If type is VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, and if pSampledImage is not NULL, the pSampledImage member of data must be a valid pointer to a valid VkDescriptorImageInfo structure

VUID-VkDescriptorGetInfoEXT-pStorageImage-parameter

If type is VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, and if pStorageImage is not NULL, the pStorageImage member of data must be a valid pointer to a valid VkDescriptorImageInfo structure

VUID-VkDescriptorGetInfoEXT-pUniformTexelBuffer-parameter

If type is VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, and if pUniformTexelBuffer is not NULL, the pUniformTexelBuffer member of data must be a valid pointer to a valid VkDescriptorAddressInfoEXT structure

VUID-VkDescriptorGetInfoEXT-pStorageTexelBuffer-parameter

If type is VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, and if pStorageTexelBuffer is not NULL, the pStorageTexelBuffer member of data must be a valid pointer to a valid VkDescriptorAddressInfoEXT structure

VUID-VkDescriptorGetInfoEXT-pUniformBuffer-parameter

If type is VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, and if pUniformBuffer is not NULL, the pUniformBuffer member of data must be a valid pointer to a valid VkDescriptorAddressInfoEXT structure

VUID-VkDescriptorGetInfoEXT-pStorageBuffer-parameter

If type is VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, and if pStorageBuffer is not NULL, the pStorageBuffer member of data must be a valid pointer to a valid VkDescriptorAddressInfoEXT structure