1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
// 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 <<interfaces-resources,resource variables>> is declared in a
shader, a descriptor slot in pname:layout must: match the shader stage
* [[VUID-{refpage}-layout-07990]]
If a <<interfaces-resources,resource variables>> 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 <<interfaces-resources,resource variables>> is declared in a shader
as an array, a descriptor slot in pname:layout must: match the
descriptor count
// Common Valid Usage
|