C Specification
Information about the descriptor to get is passed in a
VkDescriptorGetInfoEXT structure:
// Provided by VK_EXT_descriptor_buffer
typedef struct VkDescriptorGetInfoEXT {
VkStructureType sType;
const void* pNext;
VkDescriptorType type;
VkDescriptorDataEXT data;
} VkDescriptorGetInfoEXT;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
typeis the type of descriptor to get. -
datais a VkDescriptorDataEXT union containing the information needed to get the descriptor.
Description
-
VUID-VkDescriptorGetInfoEXT-type-08018
typemust 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
Iftypeis VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, thepCombinedImageSampler->samplermember ofdatamust be a VkSampler created ondevice -
VUID-VkDescriptorGetInfoEXT-type-08020
Iftypeis VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, thepCombinedImageSampler->imageViewmember ofdatamust be a VkImageView created ondevice, or VK_NULL_HANDLE -
VUID-VkDescriptorGetInfoEXT-type-08021
Iftypeis VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, thepInputAttachmentImage->imageViewmember ofdatamust be a VkImageView created ondevice -
VUID-VkDescriptorGetInfoEXT-type-08022
Iftypeis VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, and ifpSampledImageis notNULL, thepSampledImage->imageViewmember ofdatamust be a VkImageView created ondevice, or VK_NULL_HANDLE -
VUID-VkDescriptorGetInfoEXT-type-08023
Iftypeis VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, and ifpStorageImageis notNULL, thepStorageImage->imageViewmember ofdatamust be a VkImageView created ondevice, or VK_NULL_HANDLE -
VUID-VkDescriptorGetInfoEXT-type-09427
Iftypeis VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER,pUniformBufferis notNULL, 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 forpUniformBuffer->format, must be less than or equal toVkPhysicalDeviceLimits::maxTexelBufferElements -
VUID-VkDescriptorGetInfoEXT-type-09428
Iftypeis VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER,pStorageBufferis notNULL, 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 forpStorageBuffer->format, must be less than or equal toVkPhysicalDeviceLimits::maxTexelBufferElements -
VUID-VkDescriptorGetInfoEXT-type-08028
Iftypeis VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR andaccelerationStructureis not0,accelerationStructuremust contain the address of a VkAccelerationStructureKHR created ondevice -
VUID-VkDescriptorGetInfoEXT-type-08029
Iftypeis VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV andaccelerationStructureis not0,accelerationStructuremust contain the handle of a VkAccelerationStructureNV created ondevice, returned by vkGetAccelerationStructureHandleNV -
VUID-VkDescriptorGetInfoEXT-type-09701
Iftypeis VK_DESCRIPTOR_TYPE_TENSOR_ARM, a VkDescriptorGetTensorInfoARM structure must be included in thepNextchain anddatais ignored -
VUID-VkDescriptorGetInfoEXT-type-12216
Iftypeis VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER andpCombinedImageSampler->imageViewis not VK_NULL_HANDLE, thepCombinedImageSampler->imageViewmember ofdatamust have been created with VK_IMAGE_USAGE_SAMPLED_BIT set -
VUID-VkDescriptorGetInfoEXT-type-12217
Iftypeis VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,pSampledImageis notNULL, andpSampledImage->imageViewis not VK_NULL_HANDLE, thepSampledImage->imageViewmember ofdatamust have been created with VK_IMAGE_USAGE_SAMPLED_BIT set -
VUID-VkDescriptorGetInfoEXT-type-12218
Iftypeis VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,pStorageImageis notNULL, andpStorageImage->imageViewis not VK_NULL_HANDLE, thepStorageImage->imageViewmember ofdatamust have been created with VK_IMAGE_USAGE_STORAGE_BIT set -
VUID-VkDescriptorGetInfoEXT-type-12219
Iftypeis VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, thepInputAttachmentImage->imageViewmember ofdatamust have been created with VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT set -
VUID-VkDescriptorGetInfoEXT-type-12220
Iftypeis VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER,pUniformBufferis notNULLandpUniformBuffer->addressis not zero,pUniformBuffer->addressmust be a device address allocated to the application from a buffer created with the VK_BUFFER_USAGE_UNIFORM_BUFFER_BIT usage flag set -
VUID-VkDescriptorGetInfoEXT-type-12221
Iftypeis VK_DESCRIPTOR_TYPE_STORAGE_BUFFER,pStorageBufferis notNULLandpStorageBuffer->addressis not zero,pStorageBuffer->addressmust be a device address allocated to the application from a buffer created with the VK_BUFFER_USAGE_STORAGE_BUFFER_BIT usage flag set -
VUID-VkDescriptorGetInfoEXT-type-12222
Iftypeis VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER,pUniformTexelBufferis notNULLandpUniformTexelBuffer->addressis not zero,pUniformTexelBuffer->addressmust be a device address allocated to the application from a buffer created with the VK_BUFFER_USAGE_UNIFORM_TEXEL_BUFFER_BIT usage flag set -
VUID-VkDescriptorGetInfoEXT-type-12223
Iftypeis VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER,pStorageTexelBufferis notNULLandpStorageTexelBuffer->addressis not zero,pStorageTexelBuffer->addressmust be a device address allocated to the application from a buffer created with the VK_BUFFER_USAGE_STORAGE_TEXEL_BUFFER_BIT usage flag set -
VUID-VkDescriptorGetInfoEXT-type-12265
Iftypeis VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER andpUniformBufferis notNULL,pUniformBuffer->addressmust be aligned toVkPhysicalDeviceLimits::minUniformBufferOffsetAlignment -
VUID-VkDescriptorGetInfoEXT-type-12266
Iftypeis VK_DESCRIPTOR_TYPE_STORAGE_BUFFER andpStorageBufferis notNULL,pStorageBuffer->addressmust be aligned toVkPhysicalDeviceLimits::minStorageBufferOffsetAlignment -
VUID-VkDescriptorGetInfoEXT-type-12267
Iftypeis VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, thetexelBufferAlignmentfeature is not enabled, andpUniformTexelBufferis notNULL,pUniformTexelBuffer->addressmust be aligned toVkPhysicalDeviceLimits::minTexelBufferOffsetAlignment -
VUID-VkDescriptorGetInfoEXT-type-12268
Iftypeis VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, thetexelBufferAlignmentfeature is not enabled, andpStorageTexelBufferis notNULL,pStorageTexelBuffer->addressmust be aligned toVkPhysicalDeviceLimits::minTexelBufferOffsetAlignment -
VUID-VkDescriptorGetInfoEXT-type-12269
Iftypeis VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, thetexelBufferAlignmentfeature is enabled, andpUniformTexelBufferis notNULL,pUniformTexelBuffer->addressmust be a multiple of the lesser of VkPhysicalDeviceTexelBufferAlignmentProperties::uniformTexelBufferOffsetAlignmentBytesor, if VkPhysicalDeviceTexelBufferAlignmentProperties::uniformTexelBufferOffsetSingleTexelAlignmentis VK_TRUE, the size of a texel of the requestedpUniformTexelBuffer->format. If the size of a texel is a multiple of three bytes, then the size of a single component offormatis used instead -
VUID-VkDescriptorGetInfoEXT-type-12270
Iftypeis VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, thetexelBufferAlignmentfeature is enabled, andpStorageTexelBufferis notNULL,pStorageTexelBuffer->addressmust be a multiple of the lesser of VkPhysicalDeviceTexelBufferAlignmentProperties::storageTexelBufferOffsetAlignmentBytesor, if VkPhysicalDeviceTexelBufferAlignmentProperties::storageTexelBufferOffsetSingleTexelAlignmentis VK_TRUE, the size of a texel of the requestedpStorageTexelBuffer->format. If the size of a texel is a multiple of three bytes, then the size of a single component offormatis used instead
-
VUID-VkDescriptorGetInfoEXT-sType-sType
sTypemust be VK_STRUCTURE_TYPE_DESCRIPTOR_GET_INFO_EXT -
VUID-VkDescriptorGetInfoEXT-pNext-pNext
pNextmust beNULLor a pointer to a valid instance of VkDescriptorGetTensorInfoARM -
VUID-VkDescriptorGetInfoEXT-sType-unique
ThesTypevalue of each structure in thepNextchain must be unique -
VUID-VkDescriptorGetInfoEXT-type-parameter
typemust be a valid VkDescriptorType value -
VUID-VkDescriptorGetInfoEXT-pSampler-parameter
Iftypeis VK_DESCRIPTOR_TYPE_SAMPLER, thepSamplermember ofdatamust be a valid pointer to a valid VkSampler handle -
VUID-VkDescriptorGetInfoEXT-pCombinedImageSampler-parameter
Iftypeis VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, thepCombinedImageSamplermember ofdatamust be a valid pointer to a valid VkDescriptorImageInfo structure -
VUID-VkDescriptorGetInfoEXT-pInputAttachmentImage-parameter
Iftypeis VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT, thepInputAttachmentImagemember ofdatamust be a valid pointer to a valid VkDescriptorImageInfo structure -
VUID-VkDescriptorGetInfoEXT-pSampledImage-parameter
Iftypeis VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, and ifpSampledImageis notNULL, thepSampledImagemember ofdatamust be a valid pointer to a valid VkDescriptorImageInfo structure -
VUID-VkDescriptorGetInfoEXT-pStorageImage-parameter
Iftypeis VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, and ifpStorageImageis notNULL, thepStorageImagemember ofdatamust be a valid pointer to a valid VkDescriptorImageInfo structure -
VUID-VkDescriptorGetInfoEXT-pUniformTexelBuffer-parameter
Iftypeis VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, and ifpUniformTexelBufferis notNULL, thepUniformTexelBuffermember ofdatamust be a valid pointer to a valid VkDescriptorAddressInfoEXT structure -
VUID-VkDescriptorGetInfoEXT-pStorageTexelBuffer-parameter
Iftypeis VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER, and ifpStorageTexelBufferis notNULL, thepStorageTexelBuffermember ofdatamust be a valid pointer to a valid VkDescriptorAddressInfoEXT structure -
VUID-VkDescriptorGetInfoEXT-pUniformBuffer-parameter
Iftypeis VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER, and ifpUniformBufferis notNULL, thepUniformBuffermember ofdatamust be a valid pointer to a valid VkDescriptorAddressInfoEXT structure -
VUID-VkDescriptorGetInfoEXT-pStorageBuffer-parameter
Iftypeis VK_DESCRIPTOR_TYPE_STORAGE_BUFFER, and ifpStorageBufferis notNULL, thepStorageBuffermember ofdatamust be a valid pointer to a valid VkDescriptorAddressInfoEXT structure -
VUID-VkDescriptorGetInfoEXT-accelerationStructure-parameter
Iftypeis VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR or VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV, theaccelerationStructuremember ofdatamust be a valid VkDeviceAddress value
Document Notes
For more information, see the Vulkan Specification.
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.