VkDescriptorGetInfoEXT
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
isNULL
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
, accelerationStructure
must 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
, accelerationStructure
must 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-pNext-pNext
pNext
must be NULL
VUID-VkDescriptorGetInfoEXT-type-parameter
type
must be a valid VkDescriptorType value
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