1// Copyright 2019-2023 The Khronos Group Inc. 2// 3// SPDX-License-Identifier: CC-BY-4.0 4 5// Common Valid Usage 6// common to all pipeline creations 7ifndef::VKSC_VERSION_1_0[] 8 * [[VUID-{refpage}-flags-07984]] 9 If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT 10 flag, and pname:basePipelineIndex is -1, pname:basePipelineHandle must: 11 be a valid {pipelineType} sname:VkPipeline handle 12 * [[VUID-{refpage}-flags-07985]] 13 If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT 14 flag, and pname:basePipelineHandle is dlink:VK_NULL_HANDLE, 15 pname:basePipelineIndex must: be a valid index into the calling 16 command's pname:pCreateInfos parameter 17 * [[VUID-{refpage}-flags-07986]] 18 If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT 19 flag, pname:basePipelineIndex must: be -1 or pname:basePipelineHandle 20 must: be dlink:VK_NULL_HANDLE 21endif::VKSC_VERSION_1_0[] 22ifdef::VKSC_VERSION_1_0[] 23 * [[VUID-{refpage}-basePipelineHandle-05024]] 24 pname:basePipelineHandle must: be dlink:VK_NULL_HANDLE 25 * [[VUID-{refpage}-basePipelineIndex-05025]] 26 pname:basePipelineIndex must: be zero 27endif::VKSC_VERSION_1_0[] 28 * [[VUID-{refpage}-layout-07987]] 29 If a push constant block is declared in a shader, a push constant range 30 in pname:layout must: match both the shader stage and range 31 * [[VUID-{refpage}-layout-07988]] 32 If a <<interfaces-resources,resource variables>> is declared in a 33 shader, a descriptor slot in pname:layout must: match the shader stage 34ifndef::VK_EXT_mutable_descriptor_type,VK_VALVE_mutable_descriptor_type[] 35 * [[VUID-{refpage}-layout-07989]] 36 If a <<interfaces-resources,resource variables>> is declared in a 37 shader, a descriptor slot in pname:layout must: match the descriptor 38 type 39endif::VK_EXT_mutable_descriptor_type,VK_VALVE_mutable_descriptor_type[] 40ifdef::VK_EXT_mutable_descriptor_type,VK_VALVE_mutable_descriptor_type[] 41 * [[VUID-{refpage}-layout-07990]] 42 If a <<interfaces-resources,resource variables>> is declared in a 43 shader, and the descriptor type is not 44 ename:VK_DESCRIPTOR_TYPE_MUTABLE_EXT, a descriptor slot in pname:layout 45 must: match the descriptor type 46endif::VK_EXT_mutable_descriptor_type,VK_VALVE_mutable_descriptor_type[] 47 * [[VUID-{refpage}-layout-07991]] 48 If a <<interfaces-resources,resource variables>> is declared in a shader 49 as an array, a descriptor slot in pname:layout must: match the 50 descriptor count 51// Common Valid Usage 52