1// Copyright 2019-2021 The Khronos Group Inc. 2// 3// SPDX-License-Identifier: CC-BY-4.0 4 5// Common Valid Usage 6// common to VkRayTracingPipelineCreateInfo* structures 7 * [[VUID-{refpage}-flags-03421]] 8 If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT 9 flag, and pname:basePipelineIndex is `-1`, pname:basePipelineHandle 10 must: be a valid handle to a ray tracing sname:VkPipeline 11 * [[VUID-{refpage}-flags-03422]] 12 If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT 13 flag, and pname:basePipelineHandle is dlink:VK_NULL_HANDLE, 14 pname:basePipelineIndex must: be a valid index into the calling 15 command's pname:pCreateInfos parameter 16 * [[VUID-{refpage}-flags-03423]] 17 If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT 18 flag, and pname:basePipelineIndex is not `-1`, pname:basePipelineHandle 19 must: be dlink:VK_NULL_HANDLE 20 * [[VUID-{refpage}-flags-03424]] 21 If pname:flags contains the ename:VK_PIPELINE_CREATE_DERIVATIVE_BIT 22 flag, and pname:basePipelineHandle is not dlink:VK_NULL_HANDLE, 23 pname:basePipelineIndex must: be `-1` 24 * [[VUID-{refpage}-pStages-03426]] 25 The shader code for the entry points identified by pname:pStages, and 26 the rest of the state identified by this structure must: adhere to the 27 pipeline linking rules described in the <<interfaces,Shader Interfaces>> 28 chapter 29 * [[VUID-{refpage}-layout-03427]] 30 pname:layout must: be 31 <<descriptorsets-pipelinelayout-consistency,consistent>> with all 32 shaders specified in pname:pStages 33 * [[VUID-{refpage}-layout-03428]] 34 The number of resources in pname:layout accessible to each shader stage 35 that is used by the pipeline must: be less than or equal to 36 slink:VkPhysicalDeviceLimits::pname:maxPerStageResources 37ifdef::VK_NV_device_generated_commands[] 38 * [[VUID-{refpage}-flags-02904]] 39 pname:flags must: not include 40 ename:VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV 41endif::VK_NV_device_generated_commands[] 42ifdef::VK_EXT_pipeline_creation_cache_control[] 43 * [[VUID-{refpage}-pipelineCreationCacheControl-02905]] 44 If the <<features-pipelineCreationCacheControl, 45 pname:pipelineCreationCacheControl>> feature is not enabled, pname:flags 46 must: not include 47 ename:VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT_EXT or 48 ename:VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT_EXT 49endif::VK_EXT_pipeline_creation_cache_control[] 50// Common Valid Usage 51