Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- newtype VkDescriptorBindingFlagBitsEXT = VkDescriptorBindingFlagBitsEXT VkFlags
- pattern VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT :: VkDescriptorBindingFlagBitsEXT
- pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT :: VkDescriptorBindingFlagBitsEXT
- pattern VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT :: VkDescriptorBindingFlagBitsEXT
- pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT :: VkDescriptorBindingFlagBitsEXT
- pattern VK_ERROR_FRAGMENTATION_EXT :: VkResult
- pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT :: VkStructureType
- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT :: VkStructureType
- pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT :: VkStructureType
- pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT :: VkStructureType
- pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT :: VkStructureType
- pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT :: VkDescriptorSetLayoutCreateFlagBits
- pattern VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT :: VkDescriptorPoolCreateFlagBits
- pattern VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION :: Integral a => a
- pattern VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME :: (Eq a, IsString a) => a
- data VkPhysicalDeviceDescriptorIndexingFeaturesEXT = VkPhysicalDeviceDescriptorIndexingFeaturesEXT {
- vkSType :: VkStructureType
- vkPNext :: Ptr ()
- vkShaderInputAttachmentArrayDynamicIndexing :: VkBool32
- vkShaderUniformTexelBufferArrayDynamicIndexing :: VkBool32
- vkShaderStorageTexelBufferArrayDynamicIndexing :: VkBool32
- vkShaderUniformBufferArrayNonUniformIndexing :: VkBool32
- vkShaderSampledImageArrayNonUniformIndexing :: VkBool32
- vkShaderStorageBufferArrayNonUniformIndexing :: VkBool32
- vkShaderStorageImageArrayNonUniformIndexing :: VkBool32
- vkShaderInputAttachmentArrayNonUniformIndexing :: VkBool32
- vkShaderUniformTexelBufferArrayNonUniformIndexing :: VkBool32
- vkShaderStorageTexelBufferArrayNonUniformIndexing :: VkBool32
- vkDescriptorBindingUniformBufferUpdateAfterBind :: VkBool32
- vkDescriptorBindingSampledImageUpdateAfterBind :: VkBool32
- vkDescriptorBindingStorageImageUpdateAfterBind :: VkBool32
- vkDescriptorBindingStorageBufferUpdateAfterBind :: VkBool32
- vkDescriptorBindingUniformTexelBufferUpdateAfterBind :: VkBool32
- vkDescriptorBindingStorageTexelBufferUpdateAfterBind :: VkBool32
- vkDescriptorBindingUpdateUnusedWhilePending :: VkBool32
- vkDescriptorBindingPartiallyBound :: VkBool32
- vkDescriptorBindingVariableDescriptorCount :: VkBool32
- vkRuntimeDescriptorArray :: VkBool32
- data VkPhysicalDeviceDescriptorIndexingPropertiesEXT = VkPhysicalDeviceDescriptorIndexingPropertiesEXT {
- vkSType :: VkStructureType
- vkPNext :: Ptr ()
- vkMaxUpdateAfterBindDescriptorsInAllPools :: Word32
- vkShaderUniformBufferArrayNonUniformIndexingNative :: VkBool32
- vkShaderSampledImageArrayNonUniformIndexingNative :: VkBool32
- vkShaderStorageBufferArrayNonUniformIndexingNative :: VkBool32
- vkShaderStorageImageArrayNonUniformIndexingNative :: VkBool32
- vkShaderInputAttachmentArrayNonUniformIndexingNative :: VkBool32
- vkRobustBufferAccessUpdateAfterBind :: VkBool32
- vkQuadDivergentImplicitLod :: VkBool32
- vkMaxPerStageDescriptorUpdateAfterBindSamplers :: Word32
- vkMaxPerStageDescriptorUpdateAfterBindUniformBuffers :: Word32
- vkMaxPerStageDescriptorUpdateAfterBindStorageBuffers :: Word32
- vkMaxPerStageDescriptorUpdateAfterBindSampledImages :: Word32
- vkMaxPerStageDescriptorUpdateAfterBindStorageImages :: Word32
- vkMaxPerStageDescriptorUpdateAfterBindInputAttachments :: Word32
- vkMaxPerStageUpdateAfterBindResources :: Word32
- vkMaxDescriptorSetUpdateAfterBindSamplers :: Word32
- vkMaxDescriptorSetUpdateAfterBindUniformBuffers :: Word32
- vkMaxDescriptorSetUpdateAfterBindUniformBuffersDynamic :: Word32
- vkMaxDescriptorSetUpdateAfterBindStorageBuffers :: Word32
- vkMaxDescriptorSetUpdateAfterBindStorageBuffersDynamic :: Word32
- vkMaxDescriptorSetUpdateAfterBindSampledImages :: Word32
- vkMaxDescriptorSetUpdateAfterBindStorageImages :: Word32
- vkMaxDescriptorSetUpdateAfterBindInputAttachments :: Word32
- data VkDescriptorSetLayoutBindingFlagsCreateInfoEXT = VkDescriptorSetLayoutBindingFlagsCreateInfoEXT {}
- data VkDescriptorSetVariableDescriptorCountAllocateInfoEXT = VkDescriptorSetVariableDescriptorCountAllocateInfoEXT {}
- data VkDescriptorSetVariableDescriptorCountLayoutSupportEXT = VkDescriptorSetVariableDescriptorCountLayoutSupportEXT {}
- type VkDescriptorBindingFlagsEXT = VkDescriptorBindingFlagBitsEXT
Documentation
newtype VkDescriptorBindingFlagBitsEXT Source #
VkDescriptorBindingFlagBitsEXT - Bitmask specifying descriptor set layout binding properties
Description
VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
indicates that if descriptors in this binding are updated between when the descriptor set is bound in a command buffer and when that command buffer is submitted to a queue, then the submission will use the most recently set descriptors for this binding and the updates do not invalidate the command buffer. Descriptor bindings created with this flag are also partially exempt from the external synchronization requirement invkUpdateDescriptorSetWithTemplateKHR
andvkUpdateDescriptorSets
. They can be updated concurrently with the set being bound to a command buffer in another thread, but not concurrently with the set being reset or freed.
VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT
indicates that descriptors in this binding that are not dynamically used need not contain valid descriptors at the time the descriptors are consumed. A descriptor is dynamically used if any shader invocation executes an instruction that performs any memory access using the descriptor.VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT
indicates that descriptors in this binding can be updated after a command buffer has bound this descriptor set, or while a command buffer that uses this descriptor set is pending execution, as long as the descriptors that are updated are not used by those command buffers. IfVK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT
is also set, then descriptors can be updated as long as they are not dynamically used by any shader invocations. IfVK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT
is not set, then descriptors can be updated as long as they are not statically used by any shader invocations.VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT
indicates that this descriptor binding has a variable size that will be specified when a descriptor set is allocated using this layout. The value ofdescriptorCount
is treated as an upper bound on the size of the binding. This must only be used for the last binding in the descriptor set layout (i.e. the binding with the largest value ofbinding
). For the purposes of counting against limits such asmaxDescriptorSet
* andmaxPerStageDescriptor
*, the full value ofdescriptorCount
is counted.
Note
Note that while VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
and
VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT
both involve
updates to descriptor sets after they are bound,
VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT
is a weaker
requirement since it is only about descriptors that are not used,
whereas VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
requires the
implementation to observe updates to descriptors that are used.
See Also
Instances
pattern VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT :: VkDescriptorBindingFlagBitsEXT Source #
pattern VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT :: VkDescriptorBindingFlagBitsEXT Source #
pattern VK_ERROR_FRAGMENTATION_EXT :: VkResult Source #
pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT :: VkStructureType Source #
pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT :: VkStructureType Source #
pattern VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT :: VkStructureType Source #
pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT :: VkStructureType Source #
pattern VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT :: VkStructureType Source #
pattern VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT :: VkDescriptorSetLayoutCreateFlagBits Source #
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
specifies that descriptor sets using this layout must be allocated
from a descriptor pool created with the
VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT
bit set.
Descriptor set layouts created with this bit set have alternate limits
for the maximum number of descriptors per-stage and per-pipeline layout.
The non-UpdateAfterBind limits only count descriptors in sets created
without this flag. The UpdateAfterBind limits count all descriptors, but
the limits may be higher than the non-UpdateAfterBind limits.
pattern VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT :: VkDescriptorPoolCreateFlagBits Source #
VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT
specifies that
descriptor sets allocated from this pool can include bindings with the
VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
bit set. It is valid
to allocate descriptor sets that have bindings that don’t set the
VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
bit from a pool that
has VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT
set.
pattern VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION :: Integral a => a Source #
pattern VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME :: (Eq a, IsString a) => a Source #
data VkPhysicalDeviceDescriptorIndexingFeaturesEXT Source #
VkPhysicalDeviceDescriptorIndexingFeaturesEXT - Structure describing descriptor indexing features that can be supported by an implementation
Members
The members of the VkPhysicalDeviceDescriptorIndexingFeaturesEXT
structure describe the following features:
Description
shaderInputAttachmentArrayDynamicIndexing
indicates whether arrays of input attachments can be indexed by dynamically uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type ofVK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT
must be indexed only by constant integral expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare theInputAttachmentArrayDynamicIndexingEXT
capability.
shaderUniformTexelBufferArrayDynamicIndexing
indicates whether arrays of uniform texel buffers can be indexed by dynamically uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type ofVK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
must be indexed only by constant integral expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare theUniformTexelBufferArrayDynamicIndexingEXT
capability.shaderStorageTexelBufferArrayDynamicIndexing
indicates whether arrays of storage texel buffers can be indexed by dynamically uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type ofVK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
must be indexed only by constant integral expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare theStorageTexelBufferArrayDynamicIndexingEXT
capability.shaderUniformBufferArrayNonUniformIndexing
indicates whether arrays of uniform buffers can be indexed by non-uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type ofVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER
orVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
must not be indexed by non-uniform integer expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare theUniformBufferArrayNonUniformIndexingEXT
capability.shaderSampledImageArrayNonUniformIndexing
indicates whether arrays of samplers or sampled images can be indexed by non-uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type ofVK_DESCRIPTOR_TYPE_SAMPLER
,VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
, orVK_DESCRIPTOR_TYPE_SAMPLED_IMAGE
must not be indexed by non-uniform integer expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare theSampledImageArrayNonUniformIndexingEXT
capability.shaderStorageBufferArrayNonUniformIndexing
indicates whether arrays of storage buffers can be indexed by non-uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type ofVK_DESCRIPTOR_TYPE_STORAGE_BUFFER
orVK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
must not be indexed by non-uniform integer expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare theStorageBufferArrayNonUniformIndexingEXT
capability.shaderStorageImageArrayNonUniformIndexing
indicates whether arrays of storage images can be indexed by non-uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type ofVK_DESCRIPTOR_TYPE_STORAGE_IMAGE
must not be indexed by non-uniform integer expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare theStorageImageArrayNonUniformIndexingEXT
capability.shaderInputAttachmentArrayNonUniformIndexing
indicates whether arrays of input attachments can be indexed by non-uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type ofVK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT
must not be indexed by non-uniform integer expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare theInputAttachmentArrayNonUniformIndexingEXT
capability.shaderUniformTexelBufferArrayNonUniformIndexing
indicates whether arrays of uniform texel buffers can be indexed by non-uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type ofVK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
must not be indexed by non-uniform integer expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare theUniformTexelBufferArrayNonUniformIndexingEXT
capability.shaderStorageTexelBufferArrayNonUniformIndexing
indicates whether arrays of storage texel buffers can be indexed by non-uniform integer expressions in shader code. If this feature is not enabled, resources with a descriptor type ofVK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
must not be indexed by non-uniform integer expressions when aggregated into arrays in shader code. This also indicates whether shader modules can declare theStorageTexelBufferArrayNonUniformIndexingEXT
capability.descriptorBindingUniformBufferUpdateAfterBind
indicates whether the implementation supports updating uniform buffer descriptors after a set is bound. If this feature is not enabled,VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
must not be used withVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER
.descriptorBindingSampledImageUpdateAfterBind
indicates whether the implementation supports updating sampled image descriptors after a set is bound. If this feature is not enabled,VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
must not be used withVK_DESCRIPTOR_TYPE_SAMPLER
,VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
, orVK_DESCRIPTOR_TYPE_SAMPLED_IMAGE
.descriptorBindingStorageImageUpdateAfterBind
indicates whether the implementation supports updating storage image descriptors after a set is bound. If this feature is not enabled,VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
must not be used withVK_DESCRIPTOR_TYPE_STORAGE_IMAGE
.descriptorBindingStorageBufferUpdateAfterBind
indicates whether the implementation supports updating storage buffer descriptors after a set is bound. If this feature is not enabled,VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
must not be used withVK_DESCRIPTOR_TYPE_STORAGE_BUFFER
.descriptorBindingUniformTexelBufferUpdateAfterBind
indicates whether the implementation supports updating uniform texel buffer descriptors after a set is bound. If this feature is not enabled,VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
must not be used withVK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
.descriptorBindingStorageTexelBufferUpdateAfterBind
indicates whether the implementation supports updating storage texel buffer descriptors after a set is bound. If this feature is not enabled,VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
must not be used withVK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
.descriptorBindingUpdateUnusedWhilePending
indicates whether the implementation supports updating descriptors while the set is in use. If this feature is not enabled,VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT
must not be used.descriptorBindingPartiallyBound
indicates whether the implementation supports statically using a descriptor set binding in which some descriptors are not valid. If this feature is not enabled,VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT
must not be used.descriptorBindingVariableDescriptorCount
indicates whether the implementation supports descriptor sets with a variable-sized last binding. If this feature is not enabled,VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT
must not be used.runtimeDescriptorArray
indicates whether the implementation supports the SPIR-V RuntimeDescriptorArrayEXT capability. If this feature is not enabled, descriptors must not be declared in runtime arrays.
If the VkPhysicalDeviceDescriptorIndexingFeaturesEXT
structure is
included in the pNext
chain of
VkPhysicalDeviceFeatures2KHR
,
it is filled with values indicating whether each feature is supported.
VkPhysicalDeviceDescriptorIndexingFeaturesEXT
can also be used in
the pNext
chain of VkDeviceCreateInfo
to enable features.
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT
See Also
VkBool32
, VkStructureType
Instances
data VkPhysicalDeviceDescriptorIndexingPropertiesEXT Source #
VkPhysicalDeviceDescriptorIndexingPropertiesEXT - Structure describing descriptor indexing properties that can be supported by an implementation
Members
The members of the VkPhysicalDeviceDescriptorIndexingPropertiesEXT
structure describe the following implementation-dependent limits:
Description
maxUpdateAfterBindDescriptorsInAllPools
is the maximum number of descriptors (summed over all descriptor types) that can be created across all pools that are created with theVK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT
bit set. Pool creation may fail when this limit is exceeded, or when the space this limit represents can’t satisfy a pool creation due to fragmentation.
shaderUniformBufferArrayNonUniformIndexingNative
is a boolean value indicating whether uniform buffer descriptors natively support nonuniform indexing. If this isVK_FALSE
, then a single dynamic instance of an instruction that nonuniformly indexes an array of uniform buffers may execute multiple times in order to access all the descriptors.shaderSampledImageArrayNonUniformIndexingNative
is a boolean value indicating whether sampler and image descriptors natively support nonuniform indexing. If this isVK_FALSE
, then a single dynamic instance of an instruction that nonuniformly indexes an array of samplers or images may execute multiple times in order to access all the descriptors.shaderStorageBufferArrayNonUniformIndexingNative
is a boolean value indicating whether storage buffer descriptors natively support nonuniform indexing. If this isVK_FALSE
, then a single dynamic instance of an instruction that nonuniformly indexes an array of storage buffers may execute multiple times in order to access all the descriptors.shaderStorageImageArrayNonUniformIndexingNative
is a boolean value indicating whether storage image descriptors natively support nonuniform indexing. If this isVK_FALSE
, then a single dynamic instance of an instruction that nonuniformly indexes an array of storage images may execute multiple times in order to access all the descriptors.shaderInputAttachmentArrayNonUniformIndexingNative
is a boolean value indicating whether input attachment descriptors natively support nonuniform indexing. If this isVK_FALSE
, then a single dynamic instance of an instruction that nonuniformly indexes an array of input attachments may execute multiple times in order to access all the descriptors.robustBufferAccessUpdateAfterBind
is a boolean value indicating whether @robustBufferAccess@ can be enabled in a device simultaneously withdescriptorBindingUniformBufferUpdateAfterBind
,descriptorBindingStorageBufferUpdateAfterBind
,descriptorBindingUniformTexelBufferUpdateAfterBind
, and/ordescriptorBindingStorageTexelBufferUpdateAfterBind
. If this isVK_FALSE
, then eitherrobustBufferAccess
must be disabled or all of these update-after-bind features must be disabled.quadDivergentImplicitLod
is a boolean value indicating whether implicit level of detail calculations for image operations have well-defined results when the image and/or sampler objects used for the instruction are not uniform within a quad. See Derivative Image Operations.maxPerStageDescriptorUpdateAfterBindSamplers
is similar tomaxPerStageDescriptorSamplers
but counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set.maxPerStageDescriptorUpdateAfterBindUniformBuffers
is similar tomaxPerStageDescriptorUniformBuffers
but counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set.maxPerStageDescriptorUpdateAfterBindStorageBuffers
is similar tomaxPerStageDescriptorStorageBuffers
but counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set.maxPerStageDescriptorUpdateAfterBindSampledImages
is similar tomaxPerStageDescriptorSampledImages
but counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set.maxPerStageDescriptorUpdateAfterBindStorageImages
is similar tomaxPerStageDescriptorStorageImages
but counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set.maxPerStageDescriptorUpdateAfterBindInputAttachments
is similar tomaxPerStageDescriptorInputAttachments
but counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set.maxPerStageUpdateAfterBindResources
is similar tomaxPerStageResources
but counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set.maxDescriptorSetUpdateAfterBindSamplers
is similar tomaxDescriptorSetSamplers
but counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set.maxDescriptorSetUpdateAfterBindUniformBuffers
is similar tomaxDescriptorSetUniformBuffers
but counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set.maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
is similar tomaxDescriptorSetUniformBuffersDynamic
but counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set.maxDescriptorSetUpdateAfterBindStorageBuffers
is similar tomaxDescriptorSetStorageBuffers
but counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set.maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
is similar tomaxDescriptorSetStorageBuffersDynamic
but counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set.maxDescriptorSetUpdateAfterBindSampledImages
is similar tomaxDescriptorSetSampledImages
but counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set.maxDescriptorSetUpdateAfterBindStorageImages
is similar tomaxDescriptorSetStorageImages
but counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set.maxDescriptorSetUpdateAfterBindInputAttachments
is similar tomaxDescriptorSetInputAttachments
but counts descriptors from descriptor sets created with or without theVK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
bit set.
If the VkPhysicalDeviceDescriptorIndexingPropertiesEXT
structure is
included in the pNext
chain of
VkPhysicalDeviceProperties2KHR
,
it is filled with the implementation-dependent limits.
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT
See Also
VkBool32
, VkStructureType
Instances
data VkDescriptorSetLayoutBindingFlagsCreateInfoEXT Source #
VkDescriptorSetLayoutBindingFlagsCreateInfoEXT - Structure specifying creation flags for descriptor set layout bindings
Description
If bindingCount
is zero or if this structure is not in the pNext
chain, the VkDescriptorBindingFlagsEXT
for each descriptor set layout
binding is considered to be zero. Otherwise, the descriptor set layout
binding at
VkDescriptorSetLayoutCreateInfo
::pBindings
[i]
uses the flags in pBindingFlags
[i].
Valid Usage
- If
bindingCount
is not zero,bindingCount
must equalVkDescriptorSetLayoutCreateInfo
::bindingCount
- If
VkDescriptorSetLayoutCreateInfo
::flags
includesVK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT_KHR
, then all elements ofpBindingFlags
must not includeVK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
,VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT
, orVK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT
- If an element of
pBindingFlags
includesVK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT
, then all other elements ofVkDescriptorSetLayoutCreateInfo
::pBindings
must have a smaller value ofbinding
- If
VkPhysicalDeviceDescriptorIndexingFeaturesEXT
::descriptorBindingUniformBufferUpdateAfterBind
is not enabled, all bindings with descriptor typeVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER
must not useVK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
- If
VkPhysicalDeviceDescriptorIndexingFeaturesEXT
::descriptorBindingSampledImageUpdateAfterBind
is not enabled, all bindings with descriptor typeVK_DESCRIPTOR_TYPE_SAMPLER
,VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
, orVK_DESCRIPTOR_TYPE_SAMPLED_IMAGE
must not useVK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
- If
VkPhysicalDeviceDescriptorIndexingFeaturesEXT
::descriptorBindingStorageImageUpdateAfterBind
is not enabled, all bindings with descriptor typeVK_DESCRIPTOR_TYPE_STORAGE_IMAGE
must not useVK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
- If
VkPhysicalDeviceDescriptorIndexingFeaturesEXT
::descriptorBindingStorageBufferUpdateAfterBind
is not enabled, all bindings with descriptor typeVK_DESCRIPTOR_TYPE_STORAGE_BUFFER
must not useVK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
- If
VkPhysicalDeviceDescriptorIndexingFeaturesEXT
::descriptorBindingUniformTexelBufferUpdateAfterBind
is not enabled, all bindings with descriptor typeVK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER
must not useVK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
- If
VkPhysicalDeviceDescriptorIndexingFeaturesEXT
::descriptorBindingStorageTexelBufferUpdateAfterBind
is not enabled, all bindings with descriptor typeVK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER
must not useVK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
- All bindings with descriptor type
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT
,VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
, orVK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
must not useVK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
- If
VkPhysicalDeviceDescriptorIndexingFeaturesEXT
::descriptorBindingUpdateUnusedWhilePending
is not enabled, all elements ofpBindingFlags
must not includeVK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT
- If
VkPhysicalDeviceDescriptorIndexingFeaturesEXT
::descriptorBindingPartiallyBound
is not enabled, all elements ofpBindingFlags
must not includeVK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT
- If
VkPhysicalDeviceDescriptorIndexingFeaturesEXT
::descriptorBindingVariableDescriptorCount
is not enabled, all elements ofpBindingFlags
must not includeVK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT
- If an element of
pBindingFlags
includesVK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT
, that element’sdescriptorType
must not beVK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC
orVK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT
- If
bindingCount
is not0
,pBindingFlags
must be a valid pointer to an array ofbindingCount
valid combinations ofVkDescriptorBindingFlagBitsEXT
values - Each element of
pBindingFlags
must not be0
See Also
VkDescriptorSetLayoutBindingFlagsCreateInfoEXT | |
|
Instances
data VkDescriptorSetVariableDescriptorCountAllocateInfoEXT Source #
VkDescriptorSetVariableDescriptorCountAllocateInfoEXT - Structure specifying additional allocation parameters for descriptor sets
Description
If descriptorSetCount
is zero or this structure is not included in the
pNext
chain, then the variable lengths are considered to be zero.
Otherwise, pDescriptorCounts
[i] is the number of descriptors in the
variable count descriptor binding in the corresponding descriptor set
layout. If
VkDescriptorSetAllocateInfo
::pSetLayouts
[i]
does not include a variable count descriptor binding, then
pDescriptorCounts
[i] is ignored.
Valid Usage
- If
descriptorSetCount
is not zero,descriptorSetCount
must equalVkDescriptorSetAllocateInfo
::descriptorSetCount
- If
VkDescriptorSetAllocateInfo
::pSetLayouts
[i] has a variable descriptor count binding, thenpDescriptorCounts
[i] must be less than or equal to the descriptor count specified for that binding when the descriptor set layout was created.
Valid Usage (Implicit)
sType
must beVK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT
- If
descriptorSetCount
is not0
,pDescriptorCounts
must be a valid pointer to an array ofdescriptorSetCount
uint32_t
values
See Also
VkDescriptorSetVariableDescriptorCountAllocateInfoEXT | |
|
Instances
data VkDescriptorSetVariableDescriptorCountLayoutSupportEXT Source #
VkDescriptorSetVariableDescriptorCountLayoutSupportEXT - Structure returning information about whether a descriptor set layout can be supported
Description
If the create info includes a variable-sized descriptor, then
supported
is determined assuming the requested size of the
variable-sized descriptor, and maxVariableDescriptorCount
is set to
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
create info does not include a variable-sized descriptor or if the
VkPhysicalDeviceDescriptorIndexingFeaturesEXT
::descriptorBindingVariableDescriptorCount
feature is not enabled, then maxVariableDescriptorCount
is set to
zero. For the purposes of this command, a variable-sized descriptor
binding with a descriptorCount
of zero is treated as if the
descriptorCount
is one, 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)
sType
must beVK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT
See Also
VkDescriptorSetVariableDescriptorCountLayoutSupportEXT | |
|