C Specification
The VkPipelineLayoutCreateInfo structure is defined as:
// Provided by VK_VERSION_1_0
typedef struct VkPipelineLayoutCreateInfo {
VkStructureType sType;
const void* pNext;
VkPipelineLayoutCreateFlags flags;
uint32_t setLayoutCount;
const VkDescriptorSetLayout* pSetLayouts;
uint32_t pushConstantRangeCount;
const VkPushConstantRange* pPushConstantRanges;
} VkPipelineLayoutCreateInfo;
Members
-
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.NotePush constants represent a high speed path to modify constant data in pipelines that is expected to outperform memory-backed resource updates.
Description
-
VUID-VkPipelineLayoutCreateInfo-setLayoutCount-00286
setLayoutCountmust be less than or equal toVkPhysicalDeviceLimits::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 adescriptorTypeof VK_DESCRIPTOR_TYPE_SAMPLER and VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER accessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::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 adescriptorTypeof VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER and VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC accessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::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 adescriptorTypeof VK_DESCRIPTOR_TYPE_STORAGE_BUFFER and VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::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 adescriptorTypeof 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 ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::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 adescriptorTypeof VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, and VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER accessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::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 adescriptorTypeof VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT accessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::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 adescriptorTypeof VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK accessible to any given shader stage across all elements ofpSetLayouts, must be less than or equal toVkPhysicalDeviceInlineUniformBlockProperties::maxPerStageDescriptorInlineUniformBlocks -
VUID-VkPipelineLayoutCreateInfo-descriptorType-03022
If thedescriptorBindingSampledImageUpdateAfterBindfeature is supported on the device, the total number of descriptors with adescriptorTypeof VK_DESCRIPTOR_TYPE_SAMPLER and VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER accessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindSamplers -
VUID-VkPipelineLayoutCreateInfo-descriptorType-03023
If thedescriptorBindingUniformBufferUpdateAfterBindfeature is supported on the device, the total number of descriptors with adescriptorTypeof VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER and VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC accessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindUniformBuffers -
VUID-VkPipelineLayoutCreateInfo-descriptorType-03024
If thedescriptorBindingStorageBufferUpdateAfterBindfeature is supported on the device, the total number of descriptors with adescriptorTypeof VK_DESCRIPTOR_TYPE_STORAGE_BUFFER and VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindStorageBuffers -
VUID-VkPipelineLayoutCreateInfo-descriptorType-03025
If thedescriptorBindingSampledImageUpdateAfterBindfeature is supported on the device, the total number of descriptors with adescriptorTypeof 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 ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindSampledImages -
VUID-VkPipelineLayoutCreateInfo-descriptorType-03026
If thedescriptorBindingStorageImageUpdateAfterBindfeature is supported on the device, the total number of descriptors with adescriptorTypeof VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, and VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER accessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindStorageImages -
VUID-VkPipelineLayoutCreateInfo-descriptorType-03027
If any element ofpSetLayoutsis created with the VK_DESCRIPTOR_SET_LAYOUT_CREATE_UPDATE_AFTER_BIND_POOL_BIT bit set, the total number of descriptors with adescriptorTypeof VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT accessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingProperties::maxPerStageDescriptorUpdateAfterBindInputAttachments -
VUID-VkPipelineLayoutCreateInfo-descriptorType-02215
If thedescriptorBindingInlineUniformBlockUpdateAfterBindfeature is supported on the device, the total number of bindings with adescriptorTypeof VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK accessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceInlineUniformBlockProperties::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 adescriptorTypeof VK_DESCRIPTOR_TYPE_SAMPLER and VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER accessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::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 adescriptorTypeof VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER accessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::maxDescriptorSetUniformBuffers -
VUID-VkPipelineLayoutCreateInfo-descriptorType-03030
If themaintenance7feature 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 adescriptorTypeof VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC accessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::maxDescriptorSetUniformBuffersDynamic -
VUID-VkPipelineLayoutCreateInfo-maintenance7-10003
If themaintenance7feature 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 adescriptorTypeof VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC accessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceMaintenance7PropertiesKHR::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 adescriptorTypeof VK_DESCRIPTOR_TYPE_STORAGE_BUFFER accessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::maxDescriptorSetStorageBuffers -
VUID-VkPipelineLayoutCreateInfo-descriptorType-03032
If themaintenance7feature 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 adescriptorTypeof VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::maxDescriptorSetStorageBuffersDynamic -
VUID-VkPipelineLayoutCreateInfo-maintenance7-10004
If themaintenance7feature 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 adescriptorTypeof VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceMaintenance7PropertiesKHR::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 adescriptorTypeof VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC or VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC accessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceMaintenance7PropertiesKHR::maxDescriptorSetTotalBuffersDynamic -
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-10006
If either thedescriptorBindingStorageBufferUpdateAfterBindordescriptorBindingUniformBufferUpdateAfterBindfeature 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 ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceMaintenance7PropertiesKHR::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 adescriptorTypeof 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 ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::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 adescriptorTypeof VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, and VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER accessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::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 adescriptorTypeof VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT accessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::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 adescriptorTypeof VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK accessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceInlineUniformBlockProperties::maxDescriptorSetInlineUniformBlocks -
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-03036
If thedescriptorBindingSampledImageUpdateAfterBindfeature 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 ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindSamplers -
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-03037
If thedescriptorBindingUniformBufferUpdateAfterBindfeature 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 ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindUniformBuffers -
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-03038
If thedescriptorBindingUniformBufferUpdateAfterBindfeature is supported on the device, and if themaintenance7feature 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 ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::maxDescriptorSetUpdateAfterBindUniformBuffersDynamic -
VUID-VkPipelineLayoutCreateInfo-maintenance7-10007
If thedescriptorBindingUniformBufferUpdateAfterBindfeature is supported on the device, and themaintenance7feature 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 ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceMaintenance7PropertiesKHR::maxDescriptorSetUpdateAfterBindTotalUniformBuffersDynamic -
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-03039
If thedescriptorBindingStorageBufferUpdateAfterBindfeature 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 ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindStorageBuffers -
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-03040
If thedescriptorBindingStorageBufferUpdateAfterBindfeature is supported on the device, and if themaintenance7feature 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 ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceLimits::maxDescriptorSetUpdateAfterBindStorageBuffersDynamic -
VUID-VkPipelineLayoutCreateInfo-maintenance7-10008
If thedescriptorBindingStorageBufferUpdateAfterBindfeature is supported on the device, and if themaintenance7feature 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 ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceMaintenance7PropertiesKHR::maxDescriptorSetUpdateAfterBindTotalStorageBuffersDynamic -
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-03041
If thedescriptorBindingSampledImageUpdateAfterBindfeature 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 ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindSampledImages -
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-03042
If thedescriptorBindingStorageImageUpdateAfterBindfeature 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 ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindStorageImages -
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-03043
If any element ofpSetLayoutsis 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 ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceDescriptorIndexingProperties::maxDescriptorSetUpdateAfterBindInputAttachments -
VUID-VkPipelineLayoutCreateInfo-descriptorType-02217
If thedescriptorBindingInlineUniformBlockUpdateAfterBindfeature is supported on the device, the total number of bindings with adescriptorTypeof VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK accessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceInlineUniformBlockProperties::maxDescriptorSetUpdateAfterBindInlineUniformBlocks -
VUID-VkPipelineLayoutCreateInfo-descriptorType-06531
The total number of descriptors with adescriptorTypeof VK_DESCRIPTOR_TYPE_INLINE_UNIFORM_BLOCK accessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceVulkan13Properties::maxInlineUniformTotalSize -
VUID-VkPipelineLayoutCreateInfo-pPushConstantRanges-00292
Any two elements ofpPushConstantRangesmust not include the same stage instageFlags -
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-00293
pSetLayoutsmust 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 adescriptorTypeof VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR accessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal to VkPhysicalDeviceAccelerationStructurePropertiesKHR::maxPerStageDescriptorAccelerationStructures -
VUID-VkPipelineLayoutCreateInfo-descriptorType-03572
The total number of bindings with adescriptorTypeof VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR accessible to any given shader stage across all elements ofpSetLayoutsmust 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 adescriptorTypeof VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR accessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal to VkPhysicalDeviceAccelerationStructurePropertiesKHR::maxDescriptorSetAccelerationStructures -
VUID-VkPipelineLayoutCreateInfo-descriptorType-03574
The total number of bindings with adescriptorTypeof VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_KHR accessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal to VkPhysicalDeviceAccelerationStructurePropertiesKHR::maxDescriptorSetUpdateAfterBindAccelerationStructures -
VUID-VkPipelineLayoutCreateInfo-descriptorType-02381
The total number of bindings with adescriptorTypeof VK_DESCRIPTOR_TYPE_ACCELERATION_STRUCTURE_NV accessible across all shader stages and across all elements ofpSetLayoutsmust be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxDescriptorSetAccelerationStructures -
VUID-VkPipelineLayoutCreateInfo-pImmutableSamplers-03566
The total number ofpImmutableSamplerscreated withflagscontaining VK_SAMPLER_CREATE_SUBSAMPLED_BIT_EXT or VK_SAMPLER_CREATE_SUBSAMPLED_COARSE_RECONSTRUCTION_BIT_EXT across all shader stages and across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceFragmentDensityMap2PropertiesEXT::maxDescriptorSetSubsampledSamplers -
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-04606
Any element ofpSetLayoutsmust not have been created with the VK_DESCRIPTOR_SET_LAYOUT_CREATE_HOST_ONLY_POOL_BIT_EXT bit set -
VUID-VkPipelineLayoutCreateInfo-graphicsPipelineLibrary-06753
If thegraphicsPipelineLibraryfeature is not enabled, elements ofpSetLayoutsmust be valid VkDescriptorSetLayout objects -
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-08008
If any element ofpSetLayoutswas created with the VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT bit set, all elements ofpSetLayoutsmust 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 adescriptorTypeof VK_DESCRIPTOR_TYPE_TENSOR_ARM accessible to any given shader stage across all elements ofpSetLayoutsmust 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 adescriptorTypeof VK_DESCRIPTOR_TYPE_TENSOR_ARM accessible across all shader stages and across all elements ofpSetLayoutsmust 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 ofpSetLayoutsmust be less than or equal to VkPhysicalDeviceTensorPropertiesARM::maxDescriptorSetUpdateAfterBindStorageTensors -
VUID-VkPipelineLayoutCreateInfo-descriptorType-09879
The total number of descriptors with adescriptorTypeof VK_DESCRIPTOR_TYPE_TENSOR_ARM accessible to any given shader stage across all elements ofpSetLayoutsmust be less than or equal toVkPhysicalDeviceTensorPropertiesARM::maxPerStageDescriptorUpdateAfterBindStorageTensors
-
VUID-VkPipelineLayoutCreateInfo-sType-sType
sTypemust be VK_STRUCTURE_TYPE_PIPELINE_LAYOUT_CREATE_INFO -
VUID-VkPipelineLayoutCreateInfo-flags-parameter
flagsmust be a valid combination of VkPipelineLayoutCreateFlagBits values -
VUID-VkPipelineLayoutCreateInfo-pSetLayouts-parameter
IfsetLayoutCountis not0,pSetLayoutsmust be a valid pointer to an array ofsetLayoutCountvalid or VK_NULL_HANDLE VkDescriptorSetLayout handles -
VUID-VkPipelineLayoutCreateInfo-pPushConstantRanges-parameter
IfpushConstantRangeCountis not0,pPushConstantRangesmust be a valid pointer to an array ofpushConstantRangeCountvalid VkPushConstantRange structures
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.