NonUniformEXT decoration defined in the SPV_EXT_descriptor_indexing SPIR-V extension. There are descriptor set layout binding creation flags enabling several features:
GL_EXT_nonuniform_qualifier and SPV_EXT_descriptor_indexing extensions).Note that it is valid for multiple descriptor arrays in a shader to use the same set and binding number, as long as they are all compatible with the descriptor type in the pipeline layout. This means a single array binding in the descriptor set can serve multiple texture dimensionalities, or an array of buffer descriptors can be used with multiple different block layouts.
There are new descriptor set layout and descriptor pool creation flags that are required to opt in to the update-after-bind functionality, and there are separate maxPerStage* and maxDescriptorSet* limits that apply to these descriptor set layouts which may be much higher than the pre-existing limits. The old limits only count descriptors in non-updateAfterBind descriptor set layouts, and the new limits count descriptors in all descriptor set layouts in the pipeline layout.
Functionality in this extension is included in core Vulkan 1.2, with the EXT suffix omitted. However, if Vulkan 1.2 is supported and this extension is not, the descriptorIndexing capability is optional. The original type, enum and command names are still available as aliases of the core functionality.
VK_EXT_descriptor_indexingVK_KHR_get_physical_device_properties2 and VK_KHR_maintenance3SPV_EXT_descriptor_indexingGL_EXT_nonuniform_qualifier| Modifier and Type | Field and Description |
|---|---|
| public static final int | VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT
Extends |
| public static final int | VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT
Extends |
| public static final int | VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT
Extends |
| public static final int | VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT
Extends |
| public static final int | VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT
Extends |
| public static final int | VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT
Extends |
| public static final int | VK_ERROR_FRAGMENTATION_EXT
Extends |
| public static final String | VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME
The extension name. |
| public static final int | VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION
The extension specification version. |
| public static final int | VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT
Extends |
| public static final int | VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT
Extends |
| public static final int | VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT
Extends |
| public static final int | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT
Extends |
| public static final int | VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT
Extends |
| Access | Constructor and Description |
|---|---|
| private |
| VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT | back to summary |
|---|---|
| public static final int VK_DESCRIPTOR_BINDING_PARTIALLY_BOUND_BIT_EXT Extends Enum values: | |
| VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT | back to summary |
|---|---|
| public static final int VK_DESCRIPTOR_BINDING_UPDATE_AFTER_BIND_BIT_EXT Extends Enum values: | |
| VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT | back to summary |
|---|---|
| public static final int VK_DESCRIPTOR_BINDING_UPDATE_UNUSED_WHILE_PENDING_BIT_EXT Extends Enum values: | |
| VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT | back to summary |
|---|---|
| public static final int VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT_EXT Extends Enum values: | |
| VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT | back to summary |
|---|---|
| public static final int VK_DESCRIPTOR_POOL_CREATE_UPDATE_AFTER_BIND_BIT_EXT Extends | |
| VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT | back to summary |
|---|---|
| public static final int VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT_EXT Extends | |
| VK_ERROR_FRAGMENTATION_EXT | back to summary |
|---|---|
| public static final int VK_ERROR_FRAGMENTATION_EXT Extends | |
| VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME | back to summary |
|---|---|
| public static final String VK_EXT_DESCRIPTOR_INDEXING_EXTENSION_NAME The extension name. | |
| VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION | back to summary |
|---|---|
| public static final int VK_EXT_DESCRIPTOR_INDEXING_SPEC_VERSION The extension specification version. | |
| VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_BINDING_FLAGS_CREATE_INFO_EXT Extends Enum values:
| |
| VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO_EXT Extends Enum values:
| |
| VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_LAYOUT_SUPPORT_EXT Extends Enum values:
| |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_FEATURES_EXT Extends Enum values:
| |
| VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT | back to summary |
|---|---|
| public static final int VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_INDEXING_PROPERTIES_EXT Extends Enum values:
| |
| EXTDescriptorIndexing | back to summary |
|---|---|
| private EXTDescriptorIndexing() | |