1// Copyright 2023 The Khronos Group Inc.
2//
3// SPDX-License-Identifier: CC-BY-4.0
4
5// Common Valid Usage
6// Common to all compute and execution graph create infos
7ifdef::VK_KHR_ray_tracing_pipeline[]
8  * [[VUID-{refpage}-flags-03365]]
9    pname:flags must: not include
10    ename:VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR
11  * [[VUID-{refpage}-flags-03366]]
12    pname:flags must: not include
13    ename:VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR
14  * [[VUID-{refpage}-flags-03367]]
15    pname:flags must: not include
16    ename:VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR
17  * [[VUID-{refpage}-flags-03368]]
18    pname:flags must: not include
19    ename:VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR
20  * [[VUID-{refpage}-flags-03369]]
21    pname:flags must: not include
22    ename:VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR
23  * [[VUID-{refpage}-flags-03370]]
24    pname:flags must: not include
25    ename:VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR
26  * [[VUID-{refpage}-flags-03576]]
27    pname:flags must: not include
28    ename:VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR
29endif::VK_KHR_ray_tracing_pipeline[]
30ifdef::VK_NV_ray_tracing_motion_blur[]
31  * [[VUID-{refpage}-flags-04945]]
32    pname:flags must: not include
33    ename:VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV
34endif::VK_NV_ray_tracing_motion_blur[]
35ifdef::VK_NV_device_generated_commands[]
36ifndef::VK_NV_device_generated_commands_compute[]
37  * [[VUID-{refpage}-flags-02874]]
38    pname:flags must: not include
39    ename:VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV
40endif::VK_NV_device_generated_commands_compute[]
41ifdef::VK_NV_device_generated_commands_compute[]
42  * [[VUID-{refpage}-flags-09007]]
43    If pname:flags includes
44    ename:VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV, then the
45    <<features-deviceGeneratedComputePipelines,
46    sname:VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::pname:deviceGeneratedComputePipelines>>
47    feature must: be enabled
48  * [[VUID-{refpage}-flags-09008]]
49    If pname:flags includes
50    ename:VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV, then the pname:pNext
51    chain must: include a pointer to a valid instance of
52    slink:VkComputePipelineIndirectBufferInfoNV specifying the address where
53    the pipeline's metadata will be saved
54endif::VK_NV_device_generated_commands_compute[]
55endif::VK_NV_device_generated_commands[]
56ifdef::VK_VERSION_1_3,VK_EXT_pipeline_creation_cache_control[]
57  * [[VUID-{refpage}-pipelineCreationCacheControl-02875]]
58    If the <<features-pipelineCreationCacheControl,
59    pname:pipelineCreationCacheControl>> feature is not enabled, pname:flags
60    must: not include
61    ename:VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT or
62    ename:VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT
63endif::VK_VERSION_1_3,VK_EXT_pipeline_creation_cache_control[]
64// Common Valid Usage
65