• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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