// Copyright 2019-2024 The Khronos Group Inc. // // SPDX-License-Identifier: CC-BY-4.0 // Common Valid Usage // common to all pipeline creations ifndef::VKSC_VERSION_1_0[] * [[VUID-{refpage}-None-09497]] {empty} ifdef::VK_KHR_maintenance5[] If the pname:pNext chain does not include a slink:VkPipelineCreateFlags2CreateInfoKHR structure, endif::VK_KHR_maintenance5[] pname:flags must be a valid combination of elink:VkPipelineCreateFlagBits values * [[VUID-{refpage}-flags-07984]] If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and pname:basePipelineIndex is -1, pname:basePipelineHandle must: be a valid {pipelineType} sname:VkPipeline handle * [[VUID-{refpage}-flags-07985]] If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and pname:basePipelineHandle is dlink:VK_NULL_HANDLE, pname:basePipelineIndex must: be a valid index into the calling command's pname:pCreateInfos parameter * [[VUID-{refpage}-flags-07986]] If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, pname:basePipelineIndex must: be -1 or pname:basePipelineHandle must: be dlink:VK_NULL_HANDLE endif::VKSC_VERSION_1_0[] ifdef::VKSC_VERSION_1_0[] * [[VUID-{refpage}-basePipelineHandle-05024]] pname:basePipelineHandle must: be dlink:VK_NULL_HANDLE * [[VUID-{refpage}-basePipelineIndex-05025]] pname:basePipelineIndex must: be zero endif::VKSC_VERSION_1_0[] * [[VUID-{refpage}-layout-07987]] If a push constant block is declared in a shader, a push constant range in pname:layout must: match both the shader stage and range * [[VUID-{refpage}-layout-07988]] If a <> is declared in a shader, a descriptor slot in pname:layout must: match the shader stage * [[VUID-{refpage}-layout-07990]] If a <> is declared in a shader, ifdef::VK_EXT_mutable_descriptor_type,VK_VALVE_mutable_descriptor_type[] and the descriptor type is not ename:VK_DESCRIPTOR_TYPE_MUTABLE_EXT, endif::VK_EXT_mutable_descriptor_type,VK_VALVE_mutable_descriptor_type[] a descriptor slot in pname:layout must: match the descriptor type * [[VUID-{refpage}-layout-07991]] If a <> is declared in a shader as an array, a descriptor slot in pname:layout must: match the descriptor count // Common Valid Usage