VkPhysicalDeviceDescriptorBufferPropertiesEXT(3)
Name
VkPhysicalDeviceDescriptorBufferPropertiesEXT - Structure describing descriptor buffer properties supported by an implementation
C Specification
The VkPhysicalDeviceDescriptorBufferPropertiesEXT structure is defined
as:
// Provided by VK_EXT_descriptor_buffer
typedef struct VkPhysicalDeviceDescriptorBufferPropertiesEXT {
VkStructureType sType;
void* pNext;
VkBool32 combinedImageSamplerDescriptorSingleArray;
VkBool32 bufferlessPushDescriptors;
VkBool32 allowSamplerImageViewPostSubmitCreation;
VkDeviceSize descriptorBufferOffsetAlignment;
uint32_t maxDescriptorBufferBindings;
uint32_t maxResourceDescriptorBufferBindings;
uint32_t maxSamplerDescriptorBufferBindings;
uint32_t maxEmbeddedImmutableSamplerBindings;
uint32_t maxEmbeddedImmutableSamplers;
size_t bufferCaptureReplayDescriptorDataSize;
size_t imageCaptureReplayDescriptorDataSize;
size_t imageViewCaptureReplayDescriptorDataSize;
size_t samplerCaptureReplayDescriptorDataSize;
size_t accelerationStructureCaptureReplayDescriptorDataSize;
size_t samplerDescriptorSize;
size_t combinedImageSamplerDescriptorSize;
size_t sampledImageDescriptorSize;
size_t storageImageDescriptorSize;
size_t uniformTexelBufferDescriptorSize;
size_t robustUniformTexelBufferDescriptorSize;
size_t storageTexelBufferDescriptorSize;
size_t robustStorageTexelBufferDescriptorSize;
size_t uniformBufferDescriptorSize;
size_t robustUniformBufferDescriptorSize;
size_t storageBufferDescriptorSize;
size_t robustStorageBufferDescriptorSize;
size_t inputAttachmentDescriptorSize;
size_t accelerationStructureDescriptorSize;
VkDeviceSize maxSamplerDescriptorBufferRange;
VkDeviceSize maxResourceDescriptorBufferRange;
VkDeviceSize samplerDescriptorBufferAddressSpaceSize;
VkDeviceSize resourceDescriptorBufferAddressSpaceSize;
VkDeviceSize descriptorBufferAddressSpaceSize;
} VkPhysicalDeviceDescriptorBufferPropertiesEXT;
Members
-
sTypeis a VkStructureType value identifying this structure. -
pNextisNULLor a pointer to a structure extending this structure. -
combinedImageSamplerDescriptorSingleArrayindicates that the implementation does not require an array of VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER descriptors to be written into a descriptor buffer as an array of image descriptors, immediately followed by an array of sampler descriptors. -
bufferlessPushDescriptorsindicates that the implementation does not require a buffer created with the VK_BUFFER_USAGE_PUSH_DESCRIPTORS_DESCRIPTOR_BUFFER_BIT_EXT usage flag set to be bound when using push descriptors. -
allowSamplerImageViewPostSubmitCreationindicates that the implementation does not restrict when the VkSampler or VkImageView objects used to retrieve descriptor data can be created in relation to command buffer submission. If this value is VK_FALSE, then the application must create any VkSampler or VkImageView objects whose descriptor data is accessed during the execution of a command buffer, before the vkQueueSubmit , or vkQueueSubmit2, call that submits that command buffer. -
descriptorBufferOffsetAlignmentindicates the required alignment in bytes when setting offsets into the descriptor buffer. -
maxDescriptorBufferBindingsindicates the maximum number of descriptor buffer bindings. -
maxResourceDescriptorBufferBindingsindicates the maximum number of descriptor buffer bindings with VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT that can be used. -
maxSamplerDescriptorBufferBindingsindicates the maximum number of descriptor buffer bindings with VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT that can be used. -
maxEmbeddedImmutableSamplerBindingsindicates the maximum number of embedded immutable sampler sets that can be bound. -
maxEmbeddedImmutableSamplersindicates the maximum number of unique immutable samplers in descriptor set layouts created with VK_DESCRIPTOR_SET_LAYOUT_CREATE_EMBEDDED_IMMUTABLE_SAMPLERS_BIT_EXT, and pipeline layouts created from them, which can simultaneously exist on a device. -
bufferCaptureReplayDescriptorDataSizeindicates the maximum size in bytes of the opaque data used for capture and replay with buffers. -
imageCaptureReplayDescriptorDataSizeindicates the maximum size in bytes of the opaque data used for capture and replay with images. -
imageViewCaptureReplayDescriptorDataSizeindicates the maximum size in bytes of the opaque data used for capture and replay with image views. -
samplerCaptureReplayDescriptorDataSizeindicates the maximum size in bytes of the opaque data used for capture and replay with samplers. -
accelerationStructureCaptureReplayDescriptorDataSizeindicates the maximum size in bytes of the opaque data used for capture and replay with acceleration structures. -
samplerDescriptorSizeindicates the size in bytes of a VK_DESCRIPTOR_TYPE_SAMPLER descriptor. -
combinedImageSamplerDescriptorSizeindicates the size in bytes of a VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER descriptor. -
sampledImageDescriptorSizeindicates the size in bytes of a VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE descriptor. -
storageImageDescriptorSizeindicates the size in bytes of a VK_DESCRIPTOR_TYPE_STORAGE_IMAGE descriptor. -
uniformTexelBufferDescriptorSizeindicates the size in bytes of a VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER descriptor if therobustBufferAccessfeature is not enabled. -
robustUniformTexelBufferDescriptorSizeindicates the size in bytes of a VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER descriptor if therobustBufferAccessfeature is enabled. -
storageTexelBufferDescriptorSizeindicates the size in bytes of a VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor if therobustBufferAccessfeature is not enabled. -
robustStorageTexelBufferDescriptorSizeindicates the size in bytes of a VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor if therobustBufferAccessfeature is enabled. -
uniformBufferDescriptorSizeindicates the size in bytes of a VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER descriptor. -
robustUniformBufferDescriptorSizeindicates the size in bytes of a VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER descriptor if therobustBufferAccessfeature is enabled. -
storageBufferDescriptorSizeindicates the size in bytes of a VK_DESCRIPTOR_TYPE_STORAGE_BUFFER descriptor. -
robustStorageBufferDescriptorSizeindicates the size in bytes of a VK_DESCRIPTOR_TYPE_STORAGE_BUFFER descriptor if therobustBufferAccessfeature is enabled. -
inputAttachmentDescriptorSizeindicates the size in bytes of a VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT descriptor. -
accelerationStructureDescriptorSizeindicates the size in bytes of a VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR or VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV descriptor. -
maxSamplerDescriptorBufferRangeindicates the maximum range in bytes from the address of a sampler descriptor buffer binding that is accessible to a shader. -
maxResourceDescriptorBufferRangeindicates the maximum range in bytes from the address of a resource descriptor buffer binding that is accessible to a shader. -
samplerDescriptorBufferAddressSpaceSizeindicates the total size in bytes of the address space available for descriptor buffers created with the VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT usage flag set. -
resourceDescriptorBufferAddressSpaceSizeindicates the total size in bytes of the address space available for descriptor buffers created with the VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT usage flag set. -
descriptorBufferAddressSpaceSizeindicates the total size in bytes of the address space available for descriptor buffers created with both the VK_BUFFER_USAGE_SAMPLER_DESCRIPTOR_BUFFER_BIT_EXT and VK_BUFFER_USAGE_RESOURCE_DESCRIPTOR_BUFFER_BIT_EXT usage flags set.
Description
A descriptor binding with type VK_DESCRIPTOR_TYPE_MUTABLE_EXT has a
descriptor size which is implied by the descriptor types included in the
VkMutableDescriptorTypeCreateInfoEXT::pDescriptorTypes list.
The descriptor size is equal to the maximum size of any descriptor type
included in the pDescriptorTypes list.
As there is no way to request robust and non-robust descriptors separately,
or specify robust/non-robust descriptors in the set layout, if the
robustBufferAccess feature is enabled
then robust descriptors are always used.
If the VkPhysicalDeviceDescriptorBufferPropertiesEXT structure is included in the pNext chain of the
VkPhysicalDeviceProperties2 structure passed to
vkGetPhysicalDeviceProperties2, it is filled in with each
corresponding implementation-dependent property.
See Also
VK_EXT_descriptor_buffer, VkBool32, VkDeviceSize, VkStructureType
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.