VkDescriptorSetVariableDescriptorCountLayoutSupport
If the pNext
chain of a VkDescriptorSetLayoutSupport structure
includes a VkDescriptorSetVariableDescriptorCountLayoutSupport
structure, then that structure returns additional information about whether
the descriptor set layout is supported.
typedef struct VkDescriptorSetVariableDescriptorCountLayoutSupport {
VkStructureType sType;
void* pNext;
uint32_t maxVariableDescriptorCount;
} VkDescriptorSetVariableDescriptorCountLayoutSupport;
or the equivalent
typedef VkDescriptorSetVariableDescriptorCountLayoutSupport VkDescriptorSetVariableDescriptorCountLayoutSupportEXT;
sType
is a VkStructureType value identifying this structure.pNext
isNULL
or a pointer to a structure extending this structure.maxVariableDescriptorCount
indicates the maximum number of descriptors supported in the highest numbered binding of the layout, if that binding is variable-sized. If the highest numbered binding of the layout has a descriptor type ofVK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK
thenmaxVariableDescriptorCount
indicates the maximum byte size supported for the binding, if that binding is variable-sized.
If the VkDescriptorSetLayoutCreateInfo structure specified in
vkGetDescriptorSetLayoutSupport::pCreateInfo
includes a
variable-sized descriptor, then supported
is determined assuming the
requested size of the variable-sized descriptor, and
maxVariableDescriptorCount
is the maximum size of that descriptor that
can be successfully created (which is greater than or equal to the
requested size passed in).
If the VkDescriptorSetLayoutCreateInfo structure does not include a
variable-sized descriptor, or if the
VkPhysicalDeviceDescriptorIndexingFeatures::descriptorBindingVariableDescriptorCount
feature is not enabled, then maxVariableDescriptorCount
is zero.
For the purposes of this command, a variable-sized descriptor binding with a
descriptorCount
of zero is treated as having a descriptorCount
of
four if descriptorType
is
VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK
, or one otherwise,
and thus the binding is not ignored and the maximum descriptor count will be
returned.
If the layout is not supported, then the value written to
maxVariableDescriptorCount
is undefined:.
Valid Usage (Implicit)
VUID-VkDescriptorSetVariableDescriptorCountLayoutSupport-sType-sType
sType
must be VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT