VkPipelineLayoutCreateInfo
The VkPipelineLayoutCreateInfo structure is defined as:
typedef struct VkPipelineLayoutCreateInfo {
VkStructureType sType;
const void* pNext;
VkPipelineLayoutCreateFlags flags;
uint32_t setLayoutCount;
const VkDescriptorSetLayout* pSetLayouts;
uint32_t pushConstantRangeCount;
const VkPushConstantRange* pPushConstantRanges;
} VkPipelineLayoutCreateInfo;
pub struct PipelineLayoutCreateInfo {
s_type: vk::StructureType,
p_next: *const c_void,
flags: vk::PipelineLayoutCreateFlags,
set_layout_count: u32, // Number of descriptor sets interfaced by the pipeline
p_set_layouts: *const vk::DescriptorSetLayout, // Array of setCount number of descriptor set layout objects defining the layout of the
push_constant_range_count: u32, // Number of push-constant ranges used by the pipeline
p_push_constant_ranges: *const vk::PushConstantRange, // Array of pushConstantRangeCount number of ranges used by various shader stages
}
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.flagsis a bitmask of VkPipelineLayoutCreateFlagBits specifying options for pipeline layout creation.setLayoutCountis the number of descriptor sets included in the pipeline layout.pSetLayoutsis a pointer to an array ofVkDescriptorSetLayoutobjects. The implementation must not access these objects outside of the duration of the command this structure is passed to.pushConstantRangeCountis the number of push constant ranges included in the pipeline layout.pPushConstantRangesis a pointer to an array of VkPushConstantRange structures defining a set of push constant ranges for use in a single pipeline layout. In addition to descriptor set layouts, a pipeline layout also describes how many push constants can be accessed by each stage of the pipeline.Push constants represent a high speed path to modify constant data in pipelines that is expected to outperform memory-backed resource updates.
Valid Usage
VUID-VkPipelineLayoutCreateInfo-setLayoutCount-00286
setLayoutCount must be less than or equal to
VkPhysicalDeviceLimits::maxBoundDescriptorSets
VUID-VkPipelineLayoutCreateInfo-descriptorType-03016
The total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of VK_DESCRIPTOR_TYPE_SAMPLER and
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER accessible to any given
shader stage across all elements of pSetLayouts must be less than
or equal to
VkPhysicalDeviceLimits::maxPerStageDescriptorSamplers
VUID-VkPipelineLayoutCreateInfo-descriptorType-03017
The total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER
and VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC accessible to any
given shader stage across all elements of pSetLayouts must be
less than or equal to
VkPhysicalDeviceLimits::maxPerStageDescriptorUniformBuffers
VUID-VkPipelineLayoutCreateInfo-descriptorType-03018
The total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of VK_DESCRIPTOR_TYPE_STORAGE_BUFFER
and VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible to any
given shader stage across all elements of pSetLayouts must be
less than or equal to
VkPhysicalDeviceLimits::maxPerStageDescriptorStorageBuffers
VUID-VkPipelineLayoutCreateInfo-descriptorType-06939
The total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE,
VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM,
VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM,
and VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER, accessible to any
given shader stage across all elements of pSetLayouts must be
less than or equal to
VkPhysicalDeviceLimits::maxPerStageDescriptorSampledImages
VUID-VkPipelineLayoutCreateInfo-descriptorType-03020
The total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
and VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER accessible to any
given shader stage across all elements of pSetLayouts must be
less than or equal to
VkPhysicalDeviceLimits::maxPerStageDescriptorStorageImages
VUID-VkPipelineLayoutCreateInfo-descriptorType-03021
The total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT
accessible to any given shader stage across all elements of
pSetLayouts must be less than or equal to
VkPhysicalDeviceLimits::maxPerStageDescriptorInputAttachments
VUID-VkPipelineLayoutCreateInfo-descriptorType-02214
The total number of bindings in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
and
with a descriptorType of
VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK accessible to any given
shader stage across all elements of pSetLayouts, must be less
than or equal to
VkPhysicalDeviceInlineUniformBlockProperties::maxPerStageDescriptorInlineUniformBlocks
VUID-VkPipelineLayoutCreateInfo-descriptorType-03022
If the
descriptorBindingSampledImageUpdateAfterBind
feature is supported on the device, the total number of descriptors with
a descriptorType of VK_DESCRIPTOR_TYPE_SAMPLER and
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER accessible to any given
shader stage across all elements of pSetLayouts must be less than
or equal to
VkPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindSamplers
VUID-VkPipelineLayoutCreateInfo-descriptorType-03023
If the
descriptorBindingUniformBufferUpdateAfterBind
feature is supported on the device, the total number of descriptors with
a descriptorType of VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER and
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC accessible to any given
shader stage across all elements of pSetLayouts must be less than
or equal to
VkPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindUniformBuffers
VUID-VkPipelineLayoutCreateInfo-descriptorType-03024
If the
descriptorBindingStorageBufferUpdateAfterBind
feature is supported on the device, the total number of descriptors with
a descriptorType of VK_DESCRIPTOR_TYPE_STORAGE_BUFFER and
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible to any given
shader stage across all elements of pSetLayouts must be less than
or equal to
VkPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindStorageBuffers
VUID-VkPipelineLayoutCreateInfo-descriptorType-03025
If the
descriptorBindingSampledImageUpdateAfterBind
feature is supported on the device, the total number of descriptors with
a descriptorType of
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, and
VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER accessible to any given
shader stage across all elements of pSetLayouts must be less than
or equal to
VkPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindSampledImages
VUID-VkPipelineLayoutCreateInfo-descriptorType-03026
If the
descriptorBindingStorageImageUpdateAfterBind
feature is supported on the device, the total number of descriptors with
a descriptorType of VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, and
VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER accessible to any given
shader stage across all elements of pSetLayouts must be less than
or equal to
VkPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindStorageImages
VUID-VkPipelineLayoutCreateInfo-descriptorType-03027
If any element of pSetLayouts is created with the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
set, the total number of descriptors with a descriptorType of
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT accessible to any given shader
stage across all elements of pSetLayouts must be less than or
equal to
VkPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindInputAttachments
VUID-VkPipelineLayoutCreateInfo-descriptorType-02215
If the
descriptorBindingInlineUniformBlockUpdateAfterBind
feature is supported on the device, the total number of bindings with a
descriptorType of VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK
accessible to any given shader stage across all elements of
pSetLayouts must be less than or equal to
VkPhysicalDeviceInlineUniformBlockProperties::maxPerStageDescriptorUpdateAfterBindInlineUniformBlocks
VUID-VkPipelineLayoutCreateInfo-descriptorType-03028
The total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of VK_DESCRIPTOR_TYPE_SAMPLER and
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to
VkPhysicalDeviceLimits::maxDescriptorSetSamplers
VUID-VkPipelineLayoutCreateInfo-descriptorType-03029
The total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER
accessible across all shader stages and across all elements of
pSetLayouts must be less than or equal to
VkPhysicalDeviceLimits::maxDescriptorSetUniformBuffers
VUID-VkPipelineLayoutCreateInfo-descriptorType-03030
If the maintenance7 feature is not
enabled, the
total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to
VkPhysicalDeviceLimits::maxDescriptorSetUniformBuffersDynamic
VUID-VkPipelineLayoutCreateInfo-maintenance7-10003
If the maintenance7 feature is enabled,
the total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to VkPhysicalDeviceMaintenance7PropertiesKHR::maxDescriptorSetTotalUniformBuffersDynamic
VUID-VkPipelineLayoutCreateInfo-descriptorType-03031
The total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of VK_DESCRIPTOR_TYPE_STORAGE_BUFFER
accessible across all shader stages and across all elements of
pSetLayouts must be less than or equal to
VkPhysicalDeviceLimits::maxDescriptorSetStorageBuffers
VUID-VkPipelineLayoutCreateInfo-descriptorType-03032
If the maintenance7 feature is not
enabled, the
total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to
VkPhysicalDeviceLimits::maxDescriptorSetStorageBuffersDynamic
VUID-VkPipelineLayoutCreateInfo-maintenance7-10004
If the maintenance7 feature is enabled,
the total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to VkPhysicalDeviceMaintenance7PropertiesKHR::maxDescriptorSetTotalStorageBuffersDynamic
VUID-VkPipelineLayoutCreateInfo-None-10005
The total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC or
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to VkPhysicalDeviceMaintenance7PropertiesKHR::maxDescriptorSetTotalBuffersDynamic
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-10006
If either the
descriptorBindingStorageBufferUpdateAfterBind
or
descriptorBindingUniformBufferUpdateAfterBind
feature is supported on the device, the total number of descriptors of
the type VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC or
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to
VkPhysicalDeviceMaintenance7PropertiesKHR::maxDescriptorSetUpdateAfterBindTotalBuffersDynamic
VUID-VkPipelineLayoutCreateInfo-descriptorType-03033
The total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, and
VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to
VkPhysicalDeviceLimits::maxDescriptorSetSampledImages
VUID-VkPipelineLayoutCreateInfo-descriptorType-03034
The total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of VK_DESCRIPTOR_TYPE_STORAGE_IMAGE,
and VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to
VkPhysicalDeviceLimits::maxDescriptorSetStorageImages
VUID-VkPipelineLayoutCreateInfo-descriptorType-03035
The total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT
accessible across all shader stages and across all elements of
pSetLayouts must be less than or equal to
VkPhysicalDeviceLimits::maxDescriptorSetInputAttachments
VUID-VkPipelineLayoutCreateInfo-descriptorType-02216
The total number of bindings in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of
VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to
VkPhysicalDeviceInlineUniformBlockProperties::maxDescriptorSetInlineUniformBlocks
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-03036
If the
descriptorBindingSampledImageUpdateAfterBind
feature is supported on the device, the total number of descriptors of
the type VK_DESCRIPTOR_TYPE_SAMPLER and
VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to
VkPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindSamplers
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-03037
If the
descriptorBindingUniformBufferUpdateAfterBind
feature is supported on the device, the total number of descriptors of
the type VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to
VkPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindUniformBuffers
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-03038
If the
descriptorBindingUniformBufferUpdateAfterBind
feature is supported on the device,
and if the maintenance7 feature is not
enabled,
the total number of descriptors of the type
VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to
VkPhysicalDeviceLimits::maxDescriptorSetUpdateAfterBindUniformBuffersDynamic
VUID-VkPipelineLayoutCreateInfo-maintenance7-10007
If the
descriptorBindingUniformBufferUpdateAfterBind
feature is supported on the device, and the maintenance7 feature is enabled, the total number of descriptors
of the type VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC accessible
across all shader stages and across all elements of pSetLayoutsmust be less than or equal to
VkPhysicalDeviceMaintenance7PropertiesKHR::maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-03039
If the
descriptorBindingStorageBufferUpdateAfterBind
feature is supported on the device, the total number of descriptors of
the type VK_DESCRIPTOR_TYPE_STORAGE_BUFFER accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to
VkPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindStorageBuffers
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-03040
If the
descriptorBindingStorageBufferUpdateAfterBind
feature is supported on the device,
and if the maintenance7 feature is not
enabled,
the total number of descriptors of the type
VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to
VkPhysicalDeviceLimits::maxDescriptorSetUpdateAfterBindStorageBuffersDynamic
VUID-VkPipelineLayoutCreateInfo-maintenance7-10008
If the
descriptorBindingStorageBufferUpdateAfterBind
feature is supported on the device, and if the maintenance7 feature is enabled, the total number of descriptors
of the type VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible
across all shader stages and across all elements of pSetLayoutsmust be less than or equal to
VkPhysicalDeviceMaintenance7PropertiesKHR::maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-03041
If the
descriptorBindingSampledImageUpdateAfterBind
feature is supported on the device, the total number of descriptors of
the type VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER,
VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, and
VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to
VkPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindSampledImages
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-03042
If the
descriptorBindingStorageImageUpdateAfterBind
feature is supported on the device, the total number of descriptors of
the type VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, and
VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to
VkPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindStorageImages
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-03043
If any element of pSetLayouts is created with the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
set, the total number of descriptors of the type
VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT accessible across all shader
stages and across all elements of pSetLayouts must be less than
or equal to
VkPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindInputAttachments
VUID-VkPipelineLayoutCreateInfo-descriptorType-02217
If the
descriptorBindingInlineUniformBlockUpdateAfterBind
feature is supported on the device, the total number of bindings with a
descriptorType of VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK
accessible across all shader stages and across all elements of
pSetLayouts must be less than or equal to
VkPhysicalDeviceInlineUniformBlockProperties::maxDescriptorSetUpdateAfterBindInlineUniformBlocks
VUID-VkPipelineLayoutCreateInfo-descriptorType-06531
The total number of descriptors with a descriptorType of
VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to
VkPhysicalDeviceVulkan13Properties::maxInlineUniformTotalSize
VUID-VkPipelineLayoutCreateInfo-pPushConstantRanges-00292
Any two elements of pPushConstantRanges must not include the same
stage in stageFlags
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-00293
pSetLayouts must not contain more than one descriptor set layout
that was created with
VK_DESCRIPTOR_SET_LAYOUT_CREATE_PUSH_DESCRIPTOR_BIT set
VUID-VkPipelineLayoutCreateInfo-descriptorType-03571
The total number of bindings in descriptor set layouts created without
the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
set with a descriptorType of
VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR accessible to any
given shader stage across all elements of pSetLayouts must be
less than or equal to
VkPhysicalDeviceAccelerationStructurePropertiesKHR::maxPerStageDescriptorAccelerationStructures
VUID-VkPipelineLayoutCreateInfo-descriptorType-03572
The total number of bindings with a descriptorType of
VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR accessible to any
given shader stage across all elements of pSetLayouts must be
less than or equal to
VkPhysicalDeviceAccelerationStructurePropertiesKHR::maxPerStageDescriptorUpdateAfterBindAccelerationStructures
VUID-VkPipelineLayoutCreateInfo-descriptorType-03573
The total number of bindings in descriptor set layouts created without
the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit
set with a descriptorType of
VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR accessible across
all shader stages and across all elements of pSetLayouts must be
less than or equal to
VkPhysicalDeviceAccelerationStructurePropertiesKHR::maxDescriptorSetAccelerationStructures
VUID-VkPipelineLayoutCreateInfo-descriptorType-03574
The total number of bindings with a descriptorType of
VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR accessible across
all shader stages and across all elements of pSetLayouts must be
less than or equal to
VkPhysicalDeviceAccelerationStructurePropertiesKHR::maxDescriptorSetUpdateAfterBindAccelerationStructures
VUID-VkPipelineLayoutCreateInfo-descriptorType-02381
The total number of bindings with a descriptorType of
VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV accessible across all
shader stages and across all elements of pSetLayouts must be less
than or equal to
VkPhysicalDeviceRayTracingPropertiesNV::maxDescriptorSetAccelerationStructures
VUID-VkPipelineLayoutCreateInfo-pImmutableSamplers-03566
The total number of pImmutableSamplers created with flags
containing VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT or
VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT across
all shader stages and across all elements of pSetLayouts must be
less than or equal to VkPhysicalDeviceFragmentDensityMap2PropertiesEXT::maxDescriptorSetSubsampledSamplers
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-04606
Any element of pSetLayouts must not have been created with the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT bit set
VUID-VkPipelineLayoutCreateInfo-graphicsPipelineLibrary-06753
If the graphicsPipelineLibrary feature is not enabled, elements
of pSetLayouts must be valid VkDescriptorSetLayout objects
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-08008
If any element of pSetLayouts was created with the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT bit set,
all elements of pSetLayouts must have been created with the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT bit set
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-09698
The total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of VK_DESCRIPTOR_TYPE_TENSOR_ARM
accessible to any given shader stage across all elements of
pSetLayouts must be less than or equal to
VkPhysicalDeviceTensorPropertiesARM::maxPerStageDescriptorSetStorageTensors
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-09699
The total number of descriptors in descriptor set layouts
created without the
VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set
with a descriptorType of VK_DESCRIPTOR_TYPE_TENSOR_ARM
accessible across all shader stages and across all elements of
pSetLayouts must be less than or equal to
VkPhysicalDeviceTensorPropertiesARM::maxDescriptorSetStorageTensors
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-09878
The total number of descriptors of the type
VK_DESCRIPTOR_TYPE_TENSOR_ARM accessible across all shader stages
and across all elements of pSetLayouts must be less than or equal
to
VkPhysicalDeviceTensorPropertiesARM::maxDescriptorSetUpdateAfterBindStorageTensors
VUID-VkPipelineLayoutCreateInfo-descriptorType-09879
The total number of descriptors with a descriptorType of
VK_DESCRIPTOR_TYPE_TENSOR_ARM accessible to any given shader stage
across all elements of pSetLayouts must be less than or equal to
VkPhysicalDeviceTensorPropertiesARM::maxPerStageDescriptorUpdateAfterBindStorageTensors
Valid Usage (Implicit)
VUID-VkPipelineLayoutCreateInfo-sType-sType
sType must be VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO
VUID-VkPipelineLayoutCreateInfo-flags-parameter
flags must be a valid combination of VkPipelineLayoutCreateFlagBits values
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-parameter
If setLayoutCount is not 0, pSetLayouts must be a valid pointer to an array of setLayoutCount valid or VK_NULL_HANDLE VkDescriptorSetLayout handles
VUID-VkPipelineLayoutCreateInfo-pPushConstantRanges-parameter
If pushConstantRangeCount is not 0, pPushConstantRanges must be a valid pointer to an array of pushConstantRangeCount valid VkPushConstantRange structures