C Specification
The VkGraphicsPipelineCreateInfo
structure is defined as:
// Provided by VK_VERSION_1_0
typedef struct VkGraphicsPipelineCreateInfo {
VkStructureType sType;
const void* pNext;
VkPipelineCreateFlags flags;
uint32_t stageCount;
const VkPipelineShaderStageCreateInfo* pStages;
const VkPipelineVertexInputStateCreateInfo* pVertexInputState;
const VkPipelineInputAssemblyStateCreateInfo* pInputAssemblyState;
const VkPipelineTessellationStateCreateInfo* pTessellationState;
const VkPipelineViewportStateCreateInfo* pViewportState;
const VkPipelineRasterizationStateCreateInfo* pRasterizationState;
const VkPipelineMultisampleStateCreateInfo* pMultisampleState;
const VkPipelineDepthStencilStateCreateInfo* pDepthStencilState;
const VkPipelineColorBlendStateCreateInfo* pColorBlendState;
const VkPipelineDynamicStateCreateInfo* pDynamicState;
VkPipelineLayout layout;
VkRenderPass renderPass;
uint32_t subpass;
VkPipeline basePipelineHandle;
int32_t basePipelineIndex;
} VkGraphicsPipelineCreateInfo;
Members
-
sType
is a VkStructureType value identifying this structure. -
pNext
isNULL
or a pointer to a structure extending this structure. -
flags
is a bitmask of VkPipelineCreateFlagBits specifying how the pipeline will be generated. -
stageCount
is the number of entries in thepStages
array. -
pStages
is a pointer to an array ofstageCount
VkPipelineShaderStageCreateInfo structures describing the set of the shader stages to be included in the graphics pipeline. -
pVertexInputState
is a pointer to a VkPipelineVertexInputStateCreateInfo structure. It is ignored if the pipeline includes a mesh shader stage. It can beNULL
if the pipeline is created with theVK_DYNAMIC_STATE_VERTEX_INPUT_EXT
dynamic state set. -
pInputAssemblyState
is a pointer to a VkPipelineInputAssemblyStateCreateInfo structure which determines input assembly behavior for vertex shading, as described in Drawing Commands. If theVK_EXT_extended_dynamic_state3
extension is enabled, it can beNULL
if the pipeline is created with bothVK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE
, andVK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY
dynamic states set anddynamicPrimitiveTopologyUnrestricted
isVK_TRUE
. It is ignored if the pipeline includes a mesh shader stage. -
pTessellationState
is a pointer to a VkPipelineTessellationStateCreateInfo structure defining tessellation state used by tessellation shaders. It can beNULL
if the pipeline is created with theVK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT
dynamic state set. -
pViewportState
is a pointer to a VkPipelineViewportStateCreateInfo structure defining viewport state used when rasterization is enabled. If theVK_EXT_extended_dynamic_state3
extension is enabled, it can beNULL
if the pipeline is created with bothVK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT
, andVK_DYNAMIC_STATE_SCISSOR_WITH_COUNT
dynamic states set. -
pRasterizationState
is a pointer to a VkPipelineRasterizationStateCreateInfo structure defining rasterization state. If theVK_EXT_extended_dynamic_state3
extension is enabled, it can beNULL
if the pipeline is created with all ofVK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT
,VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE
,VK_DYNAMIC_STATE_POLYGON_MODE_EXT
,VK_DYNAMIC_STATE_CULL_MODE
,VK_DYNAMIC_STATE_FRONT_FACE
,VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE
,VK_DYNAMIC_STATE_DEPTH_BIAS
, andVK_DYNAMIC_STATE_LINE_WIDTH
dynamic states set. -
pMultisampleState
is a pointer to a VkPipelineMultisampleStateCreateInfo structure defining multisample state used when rasterization is enabled. If theVK_EXT_extended_dynamic_state3
extension is enabled, it can beNULL
if the pipeline is created with all ofVK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT
,VK_DYNAMIC_STATE_SAMPLE_MASK_EXT
, andVK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT
dynamic states set, and either alphaToOne is disabled on the device orVK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT
is set, in which case VkPipelineMultisampleStateCreateInfo::sampleShadingEnable
is assumed to beVK_FALSE
. -
pDepthStencilState
is a pointer to a VkPipelineDepthStencilStateCreateInfo structure defining depth/stencil state used when rasterization is enabled for depth or stencil attachments accessed during rendering. If theVK_EXT_extended_dynamic_state3
extension is enabled, it can beNULL
if the pipeline is created with all ofVK_DYNAMIC_STATE_DEPTH_TEST_ENABLE
,VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE
,VK_DYNAMIC_STATE_DEPTH_COMPARE_OP
,VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE
,VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE
,VK_DYNAMIC_STATE_STENCIL_OP
, andVK_DYNAMIC_STATE_DEPTH_BOUNDS
dynamic states set. -
pColorBlendState
is a pointer to a VkPipelineColorBlendStateCreateInfo structure defining color blend state used when rasterization is enabled for any color attachments accessed during rendering. If theVK_EXT_extended_dynamic_state3
extension is enabled, it can beNULL
if the pipeline is created with all ofVK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT
,VK_DYNAMIC_STATE_LOGIC_OP_EXT
,VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT
,VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT
,VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT
, andVK_DYNAMIC_STATE_BLEND_CONSTANTS
dynamic states set. -
pDynamicState
is a pointer to a VkPipelineDynamicStateCreateInfo structure defining which properties of the pipeline state object are dynamic and can be changed independently of the pipeline state. This can beNULL
, which means no state in the pipeline is considered dynamic. -
layout
is the description of binding locations used by both the pipeline and descriptor sets used with the pipeline. -
renderPass
is a handle to a render pass object describing the environment in which the pipeline will be used. The pipeline must only be used with a render pass instance compatible with the one provided. See Render Pass Compatibility for more information. -
subpass
is the index of the subpass in the render pass where this pipeline will be used. -
basePipelineHandle
is a pipeline to derive from. -
basePipelineIndex
is an index into thepCreateInfos
parameter to use as a pipeline to derive from.
Description
The parameters basePipelineHandle
and basePipelineIndex
are
described in more detail in Pipeline
Derivatives.
If any shader stage fails to compile,
the compile log will be reported back to the application, and
VK_ERROR_INVALID_SHADER_NV
will be generated.
Note
With |
The state required for a graphics pipeline is divided into vertex input state, pre-rasterization shader state, fragment shader state, and fragment output state.
Vertex input state is defined by:
If
this pipeline specifies
pre-rasterization state
either directly or by including it as a pipeline library and its
pStages
includes a vertex shader, this state must be specified to
create a complete graphics pipeline.
If a pipeline includes
VK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT
in
VkGraphicsPipelineLibraryCreateInfoEXT::flags
either explicitly
or as a default, and either the conditions requiring this state for a
complete graphics pipeline are met
or this pipeline does not specify
pre-rasterization state in
any way, that pipeline must specify this state directly.
Pre-rasterization shader state is defined by:
-
VkPipelineShaderStageCreateInfo entries for:
-
Vertex shaders
-
Tessellation control shaders
-
Tessellation evaluation shaders
-
Geometry shaders
-
Task shaders
-
Mesh shaders
-
-
Within the VkPipelineLayout, all descriptor sets with pre-rasterization shader bindings if
VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
was specified.-
If
VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
was not specified, the full pipeline layout must be specified.
-
-
VkRenderPass and
subpass
parameter -
The
viewMask
parameter of VkPipelineRenderingCreateInfo (formats are ignored)
This state must be specified to create a complete graphics pipeline.
If either the pNext
chain includes a
VkGraphicsPipelineLibraryCreateInfoEXT structure with
VK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
included in flags
, or it is not specified and would default to include
that value, this state must be specified in the pipeline.
Fragment shader state is defined by:
-
A VkPipelineShaderStageCreateInfo entry for the fragment shader
-
Within the VkPipelineLayout, all descriptor sets with fragment shader bindings if
VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
was specified.-
If
VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
was not specified, the full pipeline layout must be specified.
-
-
VkPipelineMultisampleStateCreateInfo if sample shading is enabled or
renderpass
is not VK_NULL_HANDLE -
VkRenderPass and
subpass
parameter -
The
viewMask
parameter of VkPipelineRenderingCreateInfo (formats are ignored) -
Inclusion/omission of the
VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
flag -
Inclusion/omission of the
VK_PIPELINE_RASTERIZATION_STATE_CREATE_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
flag
If
a pipeline specifies
pre-rasterization state
either directly or by including it as a pipeline library and
rasterizerDiscardEnable
is set to VK_FALSE
or VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE
is used,
this state must be specified to create a
complete graphics pipeline.
If a pipeline includes
VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
in
VkGraphicsPipelineLibraryCreateInfoEXT::flags
either explicitly
or as a default, and either the conditions requiring this state for a
complete graphics pipeline are met
or this pipeline does not specify
pre-rasterization state in
any way, that pipeline must specify this state directly.
Fragment output state is defined by:
-
VkRenderPass and
subpass
parameter -
Inclusion/omission of the
VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT
andVK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT
flags
If
a pipeline specifies
pre-rasterization state
either directly or by including it as a pipeline library and
rasterizerDiscardEnable
is set to VK_FALSE
or VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE
is used,
this state must be specified to create a
complete graphics pipeline.
If a pipeline includes
VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT
in
VkGraphicsPipelineLibraryCreateInfoEXT::flags
either explicitly
or as a default, and either the conditions requiring this state for a
complete graphics pipeline are met
or this pipeline does not specify
pre-rasterization state in
any way, that pipeline must specify this state directly.
Dynamic state values set via pDynamicState
must be ignored if the
state they correspond to is not otherwise statically set by one of the state
subsets used to create the pipeline.
Additionally, setting dynamic state values must not modify whether state in
a linked library is static or dynamic; this is set and unchangeable when the
library is created.
For example, if a pipeline only included
pre-rasterization shader
state, then any dynamic state value corresponding to depth or stencil
testing has no effect.
Any linked library that has dynamic state enabled that same dynamic state
must also be enabled in all the other linked libraries to which that
dynamic state applies.
A complete graphics pipeline always includes pre-rasterization shader state, with other subsets included depending on that state as specified in the above sections.
If different subsets are linked together with pipeline layouts created with
VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
, the final
effective pipeline layout is effectively the union of the linked pipeline
layouts.
When binding descriptor sets for this pipeline, the pipeline layout used
must be compatible with this union.
This pipeline layout can be overridden when linking with
VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT
by providing a
VkPipelineLayout that is compatible
with this union other than
VK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
, or when linking
without VK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT
by providing
a VkPipelineLayout that is fully
compatible with this union.
If a VkPipelineCreateFlags2CreateInfoKHR structure is present in the
pNext
chain, VkPipelineCreateFlags2CreateInfoKHR::flags
from that structure is used instead of flags
from this structure.
-
VUID-VkGraphicsPipelineCreateInfo-flags-07984
Ifflags
contains theVK_PIPELINE_CREATE_DERIVATIVE_BIT
flag, andbasePipelineIndex
is -1,basePipelineHandle
must be a valid graphicsVkPipeline
handle -
VUID-VkGraphicsPipelineCreateInfo-flags-07985
Ifflags
contains theVK_PIPELINE_CREATE_DERIVATIVE_BIT
flag, andbasePipelineHandle
is VK_NULL_HANDLE,basePipelineIndex
must be a valid index into the calling command’spCreateInfos
parameter -
VUID-VkGraphicsPipelineCreateInfo-flags-07986
Ifflags
contains theVK_PIPELINE_CREATE_DERIVATIVE_BIT
flag,basePipelineIndex
must be -1 orbasePipelineHandle
must be VK_NULL_HANDLE -
VUID-VkGraphicsPipelineCreateInfo-layout-07987
If a push constant block is declared in a shader, a push constant range inlayout
must match both the shader stage and range -
VUID-VkGraphicsPipelineCreateInfo-layout-07988
If a resource variables is declared in a shader, a descriptor slot inlayout
must match the shader stage -
VUID-VkGraphicsPipelineCreateInfo-layout-07990
If a resource variables is declared in a shader, and the descriptor type is notVK_DESCRIPTOR_TYPE_MUTABLE_EXT
, a descriptor slot inlayout
must match the descriptor type -
VUID-VkGraphicsPipelineCreateInfo-layout-07991
If a resource variables is declared in a shader as an array, a descriptor slot inlayout
must match the descriptor count -
VUID-VkGraphicsPipelineCreateInfo-pStages-02095
If the pipeline requires pre-rasterization shader state the geometric shader stages provided inpStages
must be either from the mesh shading pipeline (stage
isVK_SHADER_STAGE_TASK_BIT_EXT
orVK_SHADER_STAGE_MESH_BIT_EXT
) or from the primitive shading pipeline (stage
isVK_SHADER_STAGE_VERTEX_BIT
,VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT
,VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT
, orVK_SHADER_STAGE_GEOMETRY_BIT
) -
VUID-VkGraphicsPipelineCreateInfo-stage-02096
If the pipeline requires pre-rasterization shader state thestage
member of one element ofpStages
must be eitherVK_SHADER_STAGE_VERTEX_BIT
orVK_SHADER_STAGE_MESH_BIT_EXT
-
VUID-VkGraphicsPipelineCreateInfo-TaskNV-07063
The shader stages forVK_SHADER_STAGE_TASK_BIT_EXT
orVK_SHADER_STAGE_MESH_BIT_EXT
must use either theTaskNV
andMeshNV
Execution
Model
or theTaskEXT
andMeshEXT
Execution
Model
, but must not use both -
VUID-VkGraphicsPipelineCreateInfo-pStages-00729
If the pipeline requires pre-rasterization shader state andpStages
includes a tessellation control shader stage, it must include a tessellation evaluation shader stage -
VUID-VkGraphicsPipelineCreateInfo-pStages-00730
If the pipeline requires pre-rasterization shader state andpStages
includes a tessellation evaluation shader stage, it must include a tessellation control shader stage -
VUID-VkGraphicsPipelineCreateInfo-pStages-09022
If the pipeline requires pre-rasterization shader state andpStages
includes a tessellation control shader stage, and theVK_EXT_extended_dynamic_state3
extension is not enabled or theVK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT
dynamic state is not set,pTessellationState
must be a valid pointer to a valid VkPipelineTessellationStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-pTessellationState-09023
IfpTessellationState
is notNULL
it must be a pointer to a valid VkPipelineTessellationStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-pStages-00732
If the pipeline requires pre-rasterization shader state andpStages
includes tessellation shader stages, the shader code of at least one stage must contain anOpExecutionMode
instruction specifying the type of subdivision in the pipeline -
VUID-VkGraphicsPipelineCreateInfo-pStages-00733
If the pipeline requires pre-rasterization shader state andpStages
includes tessellation shader stages, and the shader code of both stages contain anOpExecutionMode
instruction specifying the type of subdivision in the pipeline, they must both specify the same subdivision mode -
VUID-VkGraphicsPipelineCreateInfo-pStages-00734
If the pipeline requires pre-rasterization shader state andpStages
includes tessellation shader stages, the shader code of at least one stage must contain anOpExecutionMode
instruction specifying the output patch size in the pipeline -
VUID-VkGraphicsPipelineCreateInfo-pStages-00735
If the pipeline requires pre-rasterization shader state andpStages
includes tessellation shader stages, and the shader code of both contain anOpExecutionMode
instruction specifying the out patch size in the pipeline, they must both specify the same patch size -
VUID-VkGraphicsPipelineCreateInfo-pStages-08888
If the pipeline is being created with pre-rasterization shader state and vertex input state andpStages
includes tessellation shader stages, and eitherVK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY
dynamic state is not enabled ordynamicPrimitiveTopologyUnrestricted
isVK_FALSE
, thetopology
member ofpInputAssembly
must beVK_PRIMITIVE_TOPOLOGY_PATCH_LIST
-
VUID-VkGraphicsPipelineCreateInfo-topology-08889
If the pipeline is being created with pre-rasterization shader state and vertex input state and thetopology
member ofpInputAssembly
isVK_PRIMITIVE_TOPOLOGY_PATCH_LIST
, and eitherVK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY
dynamic state is not enabled ordynamicPrimitiveTopologyUnrestricted
isVK_FALSE
, thenpStages
must include tessellation shader stages -
VUID-VkGraphicsPipelineCreateInfo-TessellationEvaluation-07723
If the pipeline is being created with aTessellationEvaluation
Execution
Model
, noGeometry
Execution
Model
, uses thePointMode
Execution
Mode
, andshaderTessellationAndGeometryPointSize
is enabled, aPointSize
decorated variable must be written to ifmaintenance5
is not enabled -
VUID-VkGraphicsPipelineCreateInfo-topology-08773
If the pipeline is being created with aVertex
Execution
Model
and noTessellationEvaluation
orGeometry
Execution
Model
, and thetopology
member ofpInputAssembly
isVK_PRIMITIVE_TOPOLOGY_POINT_LIST
, and eitherVK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY
dynamic state is not enabled ordynamicPrimitiveTopologyUnrestricted
isVK_FALSE
, aPointSize
decorated variable must be written to ifmaintenance5
is not enabled -
VUID-VkGraphicsPipelineCreateInfo-maintenance5-08775
Ifmaintenance5
is enabled and aPointSize
decorated variable is written to, all execution paths must write to aPointSize
decorated variable -
VUID-VkGraphicsPipelineCreateInfo-TessellationEvaluation-07724
If the pipeline is being created with aTessellationEvaluation
Execution
Model
, noGeometry
Execution
Model
, uses thePointMode
Execution
Mode
, andshaderTessellationAndGeometryPointSize
is not enabled, aPointSize
decorated variable must not be written to -
VUID-VkGraphicsPipelineCreateInfo-shaderTessellationAndGeometryPointSize-08776
If the pipeline is being created with aGeometry
Execution
Model
, uses theOutputPoints
Execution
Mode
, andshaderTessellationAndGeometryPointSize
is enabled, aPointSize
decorated variable must be written to for every vertex emitted ifmaintenance5
is not enabled -
VUID-VkGraphicsPipelineCreateInfo-Geometry-07726
If the pipeline is being created with aGeometry
Execution
Model
, uses theOutputPoints
Execution
Mode
, andshaderTessellationAndGeometryPointSize
is not enabled, aPointSize
decorated variable must not be written to -
VUID-VkGraphicsPipelineCreateInfo-pStages-00738
If the pipeline requires pre-rasterization shader state andpStages
includes a geometry shader stage, and does not include any tessellation shader stages, its shader code must contain anOpExecutionMode
instruction specifying an input primitive type that is compatible with the primitive topology specified inpInputAssembly
-
VUID-VkGraphicsPipelineCreateInfo-pStages-00739
If the pipeline requires pre-rasterization shader state andpStages
includes a geometry shader stage, and also includes tessellation shader stages, its shader code must contain anOpExecutionMode
instruction specifying an input primitive type that is compatible with the primitive topology that is output by the tessellation stages -
VUID-VkGraphicsPipelineCreateInfo-pStages-00740
If the pipeline requires pre-rasterization shader state and fragment shader state, it includes both a fragment shader and a geometry shader, and the fragment shader code reads from an input variable that is decorated withPrimitiveId
, then the geometry shader code must write to a matching output variable, decorated withPrimitiveId
, in all execution paths -
VUID-VkGraphicsPipelineCreateInfo-PrimitiveId-06264
If the pipeline requires pre-rasterization shader state, it includes a mesh shader and the fragment shader code reads from an input variable that is decorated withPrimitiveId
, then the mesh shader code must write to a matching output variable, decorated withPrimitiveId
, in all execution paths -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06038
IfrenderPass
is not VK_NULL_HANDLE and the pipeline is being created with fragment shader state the fragment shader must not read from any input attachment that is defined asVK_ATTACHMENT_UNUSED
insubpass
-
VUID-VkGraphicsPipelineCreateInfo-pStages-00742
If the pipeline requires pre-rasterization shader state and multiple pre-rasterization shader stages are included inpStages
, the shader code for the entry points identified by thosepStages
and the rest of the state identified by this structure must adhere to the pipeline linking rules described in the Shader Interfaces chapter -
VUID-VkGraphicsPipelineCreateInfo-None-04889
If the pipeline requires pre-rasterization shader state and fragment shader state, the fragment shader and last pre-rasterization shader stage and any relevant state must adhere to the pipeline linking rules described in the Shader Interfaces chapter -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06041
IfrenderPass
is not VK_NULL_HANDLE, and the pipeline is being created with fragment output interface state, then for each color attachment in the subpass, if the potential format features of the format of the corresponding attachment description do not containVK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
, then theblendEnable
member of the corresponding element of thepAttachments
member ofpColorBlendState
must beVK_FALSE
-
VUID-VkGraphicsPipelineCreateInfo-renderPass-07609
IfrenderPass
is not VK_NULL_HANDLE, and the pipeline is being created with fragment output interface state, and thepColorBlendState
pointer is notNULL
, and the subpass uses color attachments, theattachmentCount
member ofpColorBlendState
must be equal to thecolorAttachmentCount
used to createsubpass
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04130
If the pipeline requires pre-rasterization shader state, andpViewportState->pViewports
is not dynamic, thenpViewportState->pViewports
must be a valid pointer to an array ofpViewportState->viewportCount
validVkViewport
structures -
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04131
If the pipeline requires pre-rasterization shader state, andpViewportState->pScissors
is not dynamic, thenpViewportState->pScissors
must be a valid pointer to an array ofpViewportState->scissorCount
VkRect2D
structures -
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00749
If the pipeline requires pre-rasterization shader state, and thewideLines
feature is not enabled, and no element of thepDynamicStates
member ofpDynamicState
isVK_DYNAMIC_STATE_LINE_WIDTH
, thelineWidth
member ofpRasterizationState
must be1.0
-
VUID-VkGraphicsPipelineCreateInfo-rasterizerDiscardEnable-09024
If the pipeline requires pre-rasterization shader state, and theVK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE
dynamic state is enabled or therasterizerDiscardEnable
member ofpRasterizationState
isVK_FALSE
, and either theVK_EXT_extended_dynamic_state3
extension is not enabled, or either theVK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT
orVK_DYNAMIC_STATE_SCISSOR_WITH_COUNT
dynamic states are not set,pViewportState
must be a valid pointer to a valid VkPipelineViewportStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-pViewportState-09025
IfpViewportState
is notNULL
it must be a valid pointer to a valid VkPipelineViewportStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-pViewportState-04892
If the pipeline requires pre-rasterization shader state, and the graphics pipeline state was created with theVK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE
dynamic state enabled,pViewportState
must be a valid pointer to a valid VkPipelineViewportStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-pMultisampleState-09026
If the pipeline requires fragment output interface state, and theVK_EXT_extended_dynamic_state3
extension is not enabled or any of theVK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT
,VK_DYNAMIC_STATE_SAMPLE_MASK_EXT
, orVK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT
dynamic states is not set, or alphaToOne is enabled on the device andVK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT
is not set,pMultisampleState
must be a valid pointer to a valid VkPipelineMultisampleStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-pMultisampleState-09027
IfpMultisampleState
is notNULL
is must be a valid pointer to a valid VkPipelineMultisampleStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-alphaToCoverageEnable-08891
If the pipeline is being created with fragment shader state, the VkPipelineMultisampleStateCreateInfo::alphaToCoverageEnable
is not ignored and isVK_TRUE
, then the Fragment Output Interface must contain a variable for the alphaComponent
word inLocation
0 atIndex
0 -
VUID-VkGraphicsPipelineCreateInfo-renderPass-09028
IfrenderPass
is not VK_NULL_HANDLE, the pipeline is being created with fragment shader state, andsubpass
uses a depth/stencil attachment, and theVK_EXT_extended_dynamic_state3
extension is not enabled or, any of theVK_DYNAMIC_STATE_DEPTH_TEST_ENABLE
,VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE
,VK_DYNAMIC_STATE_DEPTH_COMPARE_OP
,VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE
,VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE
,VK_DYNAMIC_STATE_STENCIL_OP
, orVK_DYNAMIC_STATE_DEPTH_BOUNDS
dynamic states are not set,pDepthStencilState
must be a valid pointer to a valid VkPipelineDepthStencilStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-pDepthStencilState-09029
IfpDepthStencilState
is notNULL
it must be a valid pointer to a valid VkPipelineDepthStencilStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-renderPass-09030
IfrenderPass
is not VK_NULL_HANDLE, the pipeline is being created with fragment output interface state, andsubpass
uses color attachments, andVK_EXT_extended_dynamic_state3
extension is not enabled, or any of theVK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT
,VK_DYNAMIC_STATE_LOGIC_OP_EXT
,VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT
,VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT
,VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT
, orVK_DYNAMIC_STATE_BLEND_CONSTANTS
dynamic states are not set,pColorBlendState
must be a valid pointer to a valid VkPipelineColorBlendStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-00754
If the pipeline requires pre-rasterization shader state, thedepthBiasClamp
feature is not enabled, no element of thepDynamicStates
member ofpDynamicState
isVK_DYNAMIC_STATE_DEPTH_BIAS
, and thedepthBiasEnable
member ofpRasterizationState
isVK_TRUE
, thedepthBiasClamp
member ofpRasterizationState
must be0.0
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-02510
If the pipeline requires fragment shader state, and theVK_EXT_depth_range_unrestricted
extension is not enabled and no element of thepDynamicStates
member ofpDynamicState
isVK_DYNAMIC_STATE_DEPTH_BOUNDS
, and thedepthBoundsTestEnable
member ofpDepthStencilState
isVK_TRUE
, theminDepthBounds
andmaxDepthBounds
members ofpDepthStencilState
must be between0.0
and1.0
, inclusive -
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07610
If the pipeline requires fragment shader state or fragment output interface state, andrasterizationSamples
andsampleLocationsInfo
are not dynamic, and VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable
included in thepNext
chain ofpMultisampleState
isVK_TRUE
,sampleLocationsInfo.sampleLocationGridSize.width
must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.width
as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with asamples
parameter equalingrasterizationSamples
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07611
If the pipeline requires fragment shader state or fragment output interface state, andrasterizationSamples
andsampleLocationsInfo
are not dynamic, and VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable
the included in thepNext
chain ofpMultisampleState
isVK_TRUE
orVK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT
is used,sampleLocationsInfo.sampleLocationGridSize.height
must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.height
as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with asamples
parameter equalingrasterizationSamples
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07612
If the pipeline requires fragment shader state or fragment output interface state, andrasterizationSamples
andsampleLocationsInfo
are not dynamic, and VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable
included in thepNext
chain ofpMultisampleState
isVK_TRUE
orVK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT
is used,sampleLocationsInfo.sampleLocationsPerPixel
must equalrasterizationSamples
-
VUID-VkGraphicsPipelineCreateInfo-sampleLocationsEnable-01524
If the pipeline requires fragment shader state, and thesampleLocationsEnable
member of a VkPipelineSampleLocationsStateCreateInfoEXT structure included in thepNext
chain ofpMultisampleState
isVK_TRUE
, the fragment shader code must not statically use the extended instructionInterpolateAtSample
-
VUID-VkGraphicsPipelineCreateInfo-multisampledRenderToSingleSampled-06853
If the pipeline requires fragment output interface state, and none of theVK_AMD_mixed_attachment_samples
extension, theVK_NV_framebuffer_mixed_samples
extension, or themultisampledRenderToSingleSampled
feature are enabled,rasterizationSamples
is not dynamic, and ifsubpass
uses color and/or depth/stencil attachments, then therasterizationSamples
member ofpMultisampleState
must be the same as the sample count for those subpass attachments -
VUID-VkGraphicsPipelineCreateInfo-subpass-01505
If the pipeline requires fragment output interface state, and theVK_AMD_mixed_attachment_samples
extension is enabled,rasterizationSamples
is not dynamic, and ifsubpass
uses color and/or depth/stencil attachments, then therasterizationSamples
member ofpMultisampleState
must equal the maximum of the sample counts of those subpass attachments -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06854
IfrenderPass
is not VK_NULL_HANDLE, theVK_EXT_multisampled_render_to_single_sampled
extension is enabled,rasterizationSamples
is not dynamic, andsubpass
has a VkMultisampledRenderToSingleSampledInfoEXT structure included in the VkSubpassDescription2::pNext
chain withmultisampledRenderToSingleSampledEnable
equal toVK_TRUE
, then therasterizationSamples
member ofpMultisampleState
must be equal to VkMultisampledRenderToSingleSampledInfoEXT::rasterizationSamples
-
VUID-VkGraphicsPipelineCreateInfo-subpass-01411
If the pipeline requires fragment output interface state, theVK_NV_framebuffer_mixed_samples
extension is enabled,rasterizationSamples
is not dynamic, and ifsubpass
has a depth/stencil attachment and depth test, stencil test, or depth bounds test are enabled, then therasterizationSamples
member ofpMultisampleState
must be the same as the sample count of the depth/stencil attachment -
VUID-VkGraphicsPipelineCreateInfo-subpass-01412
If the pipeline requires fragment output interface state, theVK_NV_framebuffer_mixed_samples
extension is enabled,rasterizationSamples
is not dynamic, and ifsubpass
has any color attachments, then therasterizationSamples
member ofpMultisampleState
must be greater than or equal to the sample count for those subpass attachments -
VUID-VkGraphicsPipelineCreateInfo-coverageReductionMode-02722
If the pipeline requires fragment output interface state, theVK_NV_coverage_reduction_mode
extension is enabled, andrasterizationSamples
is not dynamic, the coverage reduction mode specified by VkPipelineCoverageReductionStateCreateInfoNV::coverageReductionMode
, therasterizationSamples
member ofpMultisampleState
and the sample counts for the color and depth/stencil attachments (if the subpass has them) must be a valid combination returned byvkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
-
VUID-VkGraphicsPipelineCreateInfo-subpass-00758
If the pipeline requires fragment output interface state,rasterizationSamples
is not dynamic, andsubpass
does not use any color and/or depth/stencil attachments, then therasterizationSamples
member ofpMultisampleState
must follow the rules for a zero-attachment subpass -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06046
IfrenderPass
is not VK_NULL_HANDLE,subpass
must be a valid subpass withinrenderPass
-
VUID-VkGraphicsPipelineCreateInfo-renderPass-06047
IfrenderPass
is not VK_NULL_HANDLE, the pipeline is being created with pre-rasterization shader state,subpass
viewMask is not0
, andmultiviewTessellationShader
is not enabled, thenpStages
must not include tessellation shaders -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06048
IfrenderPass
is not VK_NULL_HANDLE, the pipeline is being created with pre-rasterization shader state,subpass
viewMask is not0
, andmultiviewGeometryShader
is not enabled, thenpStages
must not include a geometry shader -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06049
IfrenderPass
is not VK_NULL_HANDLE, the pipeline is being created with pre-rasterization shader state, andsubpass
viewMask is not0
, all of the shaders in the pipeline must not write to theLayer
built-in output -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06050
IfrenderPass
is not VK_NULL_HANDLE and the pipeline is being created with pre-rasterization shader state, andsubpass
viewMask is not0
, then all of the shaders in the pipeline must not include variables decorated with theLayer
built-in decoration in their interfaces -
VUID-VkGraphicsPipelineCreateInfo-renderPass-07717
IfrenderPass
is not VK_NULL_HANDLE and the pipeline is being created with pre-rasterization shader state, andsubpass
viewMask is not0
, then all of the shaders in the pipeline must not include variables decorated with theViewMask
built-in decoration in their interfaces -
VUID-VkGraphicsPipelineCreateInfo-renderPass-07064
IfrenderPass
is not VK_NULL_HANDLE, the pipeline is being created with pre-rasterization shader state,subpass
viewMask is not0
, andmultiviewMeshShader
is not enabled, thenpStages
must not include a mesh shader -
VUID-VkGraphicsPipelineCreateInfo-flags-00764
flags
must not contain theVK_PIPELINE_CREATE_DISPATCH_BASE
flag -
VUID-VkGraphicsPipelineCreateInfo-pStages-01565
If the pipeline requires fragment shader state and an input attachment was referenced by anaspectMask
atrenderPass
creation time, the fragment shader must only read from the aspects that were specified for that input attachment -
VUID-VkGraphicsPipelineCreateInfo-layout-01688
The number of resources inlayout
accessible to each shader stage that is used by the pipeline must be less than or equal toVkPhysicalDeviceLimits
::maxPerStageResources
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-01715
If the pipeline requires pre-rasterization shader state, and no element of thepDynamicStates
member ofpDynamicState
isVK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV
, and theviewportWScalingEnable
member of a VkPipelineViewportWScalingStateCreateInfoNV structure, included in thepNext
chain ofpViewportState
, isVK_TRUE
, thepViewportWScalings
member of the VkPipelineViewportWScalingStateCreateInfoNV must be a pointer to an array of VkPipelineViewportWScalingStateCreateInfoNV::viewportCount
valid VkViewportWScalingNV structures -
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04056
If the pipeline requires pre-rasterization shader state, and no element of thepDynamicStates
member ofpDynamicState
isVK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV
, and ifpViewportState->pNext
chain includes a VkPipelineViewportExclusiveScissorStateCreateInfoNV structure, and if itsexclusiveScissorCount
member is not0
, then itspExclusiveScissors
member must be a valid pointer to an array ofexclusiveScissorCount
VkRect2D structures -
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07854
IfVK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV
is included in thepDynamicStates
array then the implementation must support at leastspecVersion
2
of theVK_NV_scissor_exclusive
extension -
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04057
If the pipeline requires pre-rasterization shader state, and no element of thepDynamicStates
member ofpDynamicState
isVK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV
, and ifpViewportState->pNext
chain includes a VkPipelineViewportShadingRateImageStateCreateInfoNV structure, then itspShadingRatePalettes
member must be a valid pointer to an array ofviewportCount
valid VkShadingRatePaletteNV structures -
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04058
If the pipeline requires pre-rasterization shader state, and no element of thepDynamicStates
member ofpDynamicState
isVK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT
, and ifpNext
chain includes a VkPipelineDiscardRectangleStateCreateInfoEXT structure, and if itsdiscardRectangleCount
member is not0
, then itspDiscardRectangles
member must be a valid pointer to an array ofdiscardRectangleCount
VkRect2D structures -
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07855
IfVK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT
is included in thepDynamicStates
array then the implementation must support at leastspecVersion
2
of theVK_EXT_discard_rectangles
extension -
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07856
IfVK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT
is included in thepDynamicStates
array then the implementation must support at leastspecVersion
2
of theVK_EXT_discard_rectangles
extension -
VUID-VkGraphicsPipelineCreateInfo-pStages-02097
If the pipeline requires vertex input state, andpVertexInputState
is not dynamic, thenpVertexInputState
must be a valid pointer to a valid VkPipelineVertexInputStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-Input-07904
If the pipeline is being created with vertex input state andpVertexInputState
is not dynamic, then all variables with theInput
storage class decorated withLocation
in theVertex
Execution
Model
OpEntryPoint
must contain a location in VkVertexInputAttributeDescription::location
-
VUID-VkGraphicsPipelineCreateInfo-Input-08733
If the pipeline requires vertex input state andpVertexInputState
is not dynamic, then the numeric type associated with allInput
variables of the correspondingLocation
in theVertex
Execution
Model
OpEntryPoint
must be the same as VkVertexInputAttributeDescription::format
-
VUID-VkGraphicsPipelineCreateInfo-pVertexInputState-08929
If the pipeline is being created with vertex input state andpVertexInputState
is not dynamic, and VkVertexInputAttributeDescription::format
has a 64-bit component, then the scalar width associated with allInput
variables of the correspondingLocation
in theVertex
Execution
Model
OpEntryPoint
must be 64-bit -
VUID-VkGraphicsPipelineCreateInfo-pVertexInputState-08930
If the pipeline is being created with vertex input state andpVertexInputState
is not dynamic, and the scalar width associated with aLocation
decoratedInput
variable in theVertex
Execution
Model
OpEntryPoint
is 64-bit, then the corresponding VkVertexInputAttributeDescription::format
must have a 64-bit component -
VUID-VkGraphicsPipelineCreateInfo-pVertexInputState-09198
If the pipeline is being created with vertex input state andpVertexInputState
is not dynamic, and VkVertexInputAttributeDescription::format
has a 64-bit component, then allInput
variables at the correspondingLocation
in theVertex
Execution
Model
OpEntryPoint
must not use components that are not present in the format -
VUID-VkGraphicsPipelineCreateInfo-dynamicPrimitiveTopologyUnrestricted-09031
If the pipeline requires vertex input state, and theVK_EXT_extended_dynamic_state3
extension is not enabled, or eitherVK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE
, orVK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY
dynamic states are not set, ordynamicPrimitiveTopologyUnrestricted
isVK_FALSE
,pInputAssemblyState
must be a valid pointer to a valid VkPipelineInputAssemblyStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-pInputAssemblyState-09032
IfpInputAssemblyState
is notNULL
it must be a valid pointer to a valid VkPipelineInputAssemblyStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-pStages-02317
If the pipeline requires pre-rasterization shader state, theXfb
execution mode can be specified by no more than one shader stage inpStages
-
VUID-VkGraphicsPipelineCreateInfo-pStages-02318
If the pipeline requires pre-rasterization shader state, and any shader stage inpStages
specifiesXfb
execution mode it must be the last pre-rasterization shader stage -
VUID-VkGraphicsPipelineCreateInfo-rasterizationStream-02319
If the pipeline requires pre-rasterization shader state, and a VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream
value other than zero is specified, all variables in the output interface of the entry point being compiled decorated withPosition
,PointSize
,ClipDistance
, orCullDistance
must be decorated with identicalStream
values that match therasterizationStream
-
VUID-VkGraphicsPipelineCreateInfo-rasterizationStream-02320
If the pipeline requires pre-rasterization shader state, and VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream
is zero, or not specified, all variables in the output interface of the entry point being compiled decorated withPosition
,PointSize
,ClipDistance
, orCullDistance
must be decorated with aStream
value of zero, or must not specify theStream
decoration -
VUID-VkGraphicsPipelineCreateInfo-geometryStreams-02321
If the pipeline requires pre-rasterization shader state, and the last pre-rasterization shader stage is a geometry shader, and that geometry shader uses theGeometryStreams
capability, thenVkPhysicalDeviceTransformFeedbackFeaturesEXT
::geometryStreams
feature must be enabled -
VUID-VkGraphicsPipelineCreateInfo-None-02322
If the pipeline requires pre-rasterization shader state, and there are any mesh shader stages in the pipeline there must not be any shader stage in the pipeline with aXfb
execution mode -
VUID-VkGraphicsPipelineCreateInfo-lineRasterizationMode-02766
If the pipeline requires pre-rasterization shader state and at least one of fragment output interface state or fragment shader state, andpMultisampleState
is notNULL
, thelineRasterizationMode
member of a VkPipelineRasterizationLineStateCreateInfoEXT structure included in thepNext
chain ofpRasterizationState
isVK_LINE_RASTERIZATION_MODE_BRESENHAM_EXT
orVK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_EXT
, then thealphaToCoverageEnable
,alphaToOneEnable
, andsampleShadingEnable
members ofpMultisampleState
must all beVK_FALSE
-
VUID-VkGraphicsPipelineCreateInfo-stippledLineEnable-02767
If the pipeline requires pre-rasterization shader state, thestippledLineEnable
member of VkPipelineRasterizationLineStateCreateInfoEXT isVK_TRUE
, and no element of thepDynamicStates
member ofpDynamicState
isVK_DYNAMIC_STATE_LINE_STIPPLE_EXT
, then thelineStippleFactor
member of VkPipelineRasterizationLineStateCreateInfoEXT must be in the range [1,256] -
VUID-VkGraphicsPipelineCreateInfo-flags-03372
flags
must not includeVK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR
-
VUID-VkGraphicsPipelineCreateInfo-flags-03373
flags
must not includeVK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR
-
VUID-VkGraphicsPipelineCreateInfo-flags-03374
flags
must not includeVK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR
-
VUID-VkGraphicsPipelineCreateInfo-flags-03375
flags
must not includeVK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR
-
VUID-VkGraphicsPipelineCreateInfo-flags-03376
flags
must not includeVK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR
-
VUID-VkGraphicsPipelineCreateInfo-flags-03377
flags
must not includeVK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR
-
VUID-VkGraphicsPipelineCreateInfo-flags-03577
flags
must not includeVK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR
-
VUID-VkGraphicsPipelineCreateInfo-flags-04947
flags
must not includeVK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03378
If theextendedDynamicState
feature is not enabled, and the value of VkApplicationInfo::apiVersion
used to create the VkInstance is less than Version 1.3 there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_CULL_MODE
,VK_DYNAMIC_STATE_FRONT_FACE
,VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY
,VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT
,VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT
,VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE
,VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE
,VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE
,VK_DYNAMIC_STATE_DEPTH_COMPARE_OP
,VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE
,VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE
, orVK_DYNAMIC_STATE_STENCIL_OP
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03379
If the pipeline requires pre-rasterization shader state, andVK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT
is included in thepDynamicStates
array thenviewportCount
must be zero -
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03380
If the pipeline requires pre-rasterization shader state, andVK_DYNAMIC_STATE_SCISSOR_WITH_COUNT
is included in thepDynamicStates
array thenscissorCount
must be zero -
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04132
If the pipeline requires pre-rasterization shader state, andVK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT
is included in thepDynamicStates
array thenVK_DYNAMIC_STATE_VIEWPORT
must not be present -
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04133
If the pipeline requires pre-rasterization shader state, andVK_DYNAMIC_STATE_SCISSOR_WITH_COUNT
is included in thepDynamicStates
array thenVK_DYNAMIC_STATE_SCISSOR
must not be present -
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07065
If the pipeline requires pre-rasterization shader state, and includes a mesh shader, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY
, orVK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04868
If theextendedDynamicState2
feature is not enabled, and the value of VkApplicationInfo::apiVersion
used to create the VkInstance is less than Version 1.3 there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE
,VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE
, orVK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04869
If theextendedDynamicState2LogicOp
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_LOGIC_OP_EXT
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04870
If theextendedDynamicState2PatchControlPoints
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07066
If the pipeline requires pre-rasterization shader state, and includes a mesh shader, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE
, orVK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT
-
VUID-VkGraphicsPipelineCreateInfo-flags-02877
Ifflags
includesVK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV
, then thedeviceGeneratedCommands
feature must be enabled -
VUID-VkGraphicsPipelineCreateInfo-flags-02966
If the pipeline requires pre-rasterization shader state andflags
includesVK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV
, then all stages must not specifyXfb
execution mode -
VUID-VkGraphicsPipelineCreateInfo-libraryCount-06648
If the pipeline is not created with a complete set of state, or VkPipelineLibraryCreateInfoKHR::libraryCount
is not0
, VkGraphicsPipelineShaderGroupsCreateInfoNV::groupCount
and VkGraphicsPipelineShaderGroupsCreateInfoNV::pipelineCount
must be0
-
VUID-VkGraphicsPipelineCreateInfo-libraryCount-06649
If the pipeline is created with a complete set of state, and VkPipelineLibraryCreateInfoKHR::libraryCount
is0
, and thepNext
chain includes an instance of VkGraphicsPipelineShaderGroupsCreateInfoNV, VkGraphicsPipelineShaderGroupsCreateInfoNV::groupCount
must be greater than0
-
VUID-VkGraphicsPipelineCreateInfo-pipelineCreationCacheControl-02878
If thepipelineCreationCacheControl
feature is not enabled,flags
must not includeVK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT
orVK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT
-
VUID-VkGraphicsPipelineCreateInfo-pipelineProtectedAccess-07368
If thepipelineProtectedAccess
feature is not enabled,flags
must not includeVK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT
orVK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT
-
VUID-VkGraphicsPipelineCreateInfo-flags-07369
flags
must not include bothVK_PIPELINE_CREATE_NO_PROTECTED_ACCESS_BIT_EXT
andVK_PIPELINE_CREATE_PROTECTED_ACCESS_ONLY_BIT_EXT
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04494
If the pipeline requires pre-rasterization shader state or fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, VkPipelineFragmentShadingRateStateCreateInfoKHR::fragmentSize.width
must be greater than or equal to1
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04495
If the pipeline requires pre-rasterization shader state or fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, VkPipelineFragmentShadingRateStateCreateInfoKHR::fragmentSize.height
must be greater than or equal to1
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04496
If the pipeline requires pre-rasterization shader state or fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, VkPipelineFragmentShadingRateStateCreateInfoKHR::fragmentSize.width
must be a power-of-two value -
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04497
If the pipeline requires pre-rasterization shader state or fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, VkPipelineFragmentShadingRateStateCreateInfoKHR::fragmentSize.height
must be a power-of-two value -
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04498
If the pipeline requires pre-rasterization shader state or fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, VkPipelineFragmentShadingRateStateCreateInfoKHR::fragmentSize.width
must be less than or equal to4
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04499
If the pipeline requires pre-rasterization shader state or fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, VkPipelineFragmentShadingRateStateCreateInfoKHR::fragmentSize.height
must be less than or equal to4
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04500
If the pipeline requires pre-rasterization shader state or fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, and thepipelineFragmentShadingRate
feature is not enabled, VkPipelineFragmentShadingRateStateCreateInfoKHR::fragmentSize.width
and VkPipelineFragmentShadingRateStateCreateInfoKHR::fragmentSize.height
must both be equal to1
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-06567
If the pipeline requires pre-rasterization shader state or fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, VkPipelineFragmentShadingRateStateCreateInfoKHR::combinerOps
[0] must be a valid VkFragmentShadingRateCombinerOpKHR value -
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-06568
If the pipeline requires pre-rasterization shader state or fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, VkPipelineFragmentShadingRateStateCreateInfoKHR::combinerOps
[1] must be a valid VkFragmentShadingRateCombinerOpKHR value -
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04501
If the pipeline requires pre-rasterization shader state or fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, and theprimitiveFragmentShadingRate
feature is not enabled, VkPipelineFragmentShadingRateStateCreateInfoKHR::combinerOps
[0] must beVK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04502
If the pipeline requires pre-rasterization shader state or fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, and theattachmentFragmentShadingRate
feature is not enabled, VkPipelineFragmentShadingRateStateCreateInfoKHR::combinerOps
[1] must beVK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR
-
VUID-VkGraphicsPipelineCreateInfo-primitiveFragmentShadingRateWithMultipleViewports-04503
If the pipeline requires pre-rasterization shader state and theprimitiveFragmentShadingRateWithMultipleViewports
limit is not supported,VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT
is not included inpDynamicState->pDynamicStates
, and VkPipelineViewportStateCreateInfo::viewportCount
is greater than1
, entry points specified inpStages
must not write to thePrimitiveShadingRateKHR
built-in -
VUID-VkGraphicsPipelineCreateInfo-primitiveFragmentShadingRateWithMultipleViewports-04504
If the pipeline requires pre-rasterization shader state and theprimitiveFragmentShadingRateWithMultipleViewports
limit is not supported, and entry points specified inpStages
write to theViewportIndex
built-in, they must not also write to thePrimitiveShadingRateKHR
built-in -
VUID-VkGraphicsPipelineCreateInfo-primitiveFragmentShadingRateWithMultipleViewports-04505
If the pipeline requires pre-rasterization shader state and theprimitiveFragmentShadingRateWithMultipleViewports
limit is not supported, and entry points specified inpStages
write to theViewportMaskNV
built-in, they must not also write to thePrimitiveShadingRateKHR
built-in -
VUID-VkGraphicsPipelineCreateInfo-fragmentShadingRateNonTrivialCombinerOps-04506
If the pipeline requires pre-rasterization shader state or fragment shader state, thefragmentShadingRateNonTrivialCombinerOps
limit is not supported, andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, elements of VkPipelineFragmentShadingRateStateCreateInfoKHR::combinerOps
must beVK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR
orVK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR
-
VUID-VkGraphicsPipelineCreateInfo-None-06569
If the pipeline requires fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, VkPipelineFragmentShadingRateEnumStateCreateInfoNV::shadingRateType
must be a valid VkFragmentShadingRateTypeNV value -
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-06570
If the pipeline requires fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, VkPipelineFragmentShadingRateEnumStateCreateInfoNV::shadingRate
must be a valid VkFragmentShadingRateNV value -
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-06571
If the pipeline requires fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, VkPipelineFragmentShadingRateEnumStateCreateInfoNV::combinerOps
[0] must be a valid VkFragmentShadingRateCombinerOpKHR value -
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-06572
If the pipeline requires fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, VkPipelineFragmentShadingRateEnumStateCreateInfoNV::combinerOps
[1] must be a valid VkFragmentShadingRateCombinerOpKHR value -
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04569
If the pipeline requires fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, and thefragmentShadingRateEnums
feature is not enabled, VkPipelineFragmentShadingRateEnumStateCreateInfoNV::shadingRateType
must be equal toVK_FRAGMENT_SHADING_RATE_TYPE_FRAGMENT_SIZE_NV
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04570
If the pipeline requires fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, and thepipelineFragmentShadingRate
feature is not enabled, VkPipelineFragmentShadingRateEnumStateCreateInfoNV::shadingRate
must be equal toVK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04571
If the pipeline requires fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, and theprimitiveFragmentShadingRate
feature is not enabled, VkPipelineFragmentShadingRateEnumStateCreateInfoNV::combinerOps
[0] must beVK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-04572
If the pipeline requires fragment shader state andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, and theattachmentFragmentShadingRate
feature is not enabled, VkPipelineFragmentShadingRateEnumStateCreateInfoNV::combinerOps
[1] must beVK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR
-
VUID-VkGraphicsPipelineCreateInfo-fragmentShadingRateNonTrivialCombinerOps-04573
If the pipeline requires fragment shader state, and thefragmentShadingRateNonTrivialCombinerOps
limit is not supported andVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
is not included inpDynamicState->pDynamicStates
, elements of VkPipelineFragmentShadingRateEnumStateCreateInfoNV::combinerOps
must beVK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR
orVK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR
-
VUID-VkGraphicsPipelineCreateInfo-None-04574
If the pipeline requires fragment shader state, and thesupersampleFragmentShadingRates
feature is not enabled, VkPipelineFragmentShadingRateEnumStateCreateInfoNV::shadingRate
must not be equal toVK_FRAGMENT_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV
,VK_FRAGMENT_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV
,VK_FRAGMENT_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV
, orVK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV
-
VUID-VkGraphicsPipelineCreateInfo-None-04575
If the pipeline requires fragment shader state, and thenoInvocationFragmentShadingRates
feature is not enabled, VkPipelineFragmentShadingRateEnumStateCreateInfoNV::shadingRate
must not be equal toVK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-03578
All elements of thepDynamicStates
member ofpDynamicState
must not beVK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04807
If the pipeline requires pre-rasterization shader state and thevertexInputDynamicState
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_VERTEX_INPUT_EXT
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07067
If the pipeline requires pre-rasterization shader state, and includes a mesh shader, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_VERTEX_INPUT_EXT
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-04800
If thecolorWriteEnable
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT
-
VUID-VkGraphicsPipelineCreateInfo-rasterizationSamples-04899
If the pipeline requires fragment shader state, and theVK_QCOM_render_pass_shader_resolve
extension is enabled,rasterizationSamples
is not dynamic, and if subpass has any input attachments, and if the subpass description containsVK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM
, then the sample count of the input attachments must equalrasterizationSamples
-
VUID-VkGraphicsPipelineCreateInfo-sampleShadingEnable-04900
If the pipeline requires fragment shader state, and theVK_QCOM_render_pass_shader_resolve
extension is enabled, and if the subpass description containsVK_SUBPASS_DESCRIPTION_FRAGMENT_REGION_BIT_QCOM
, thensampleShadingEnable
must be false -
VUID-VkGraphicsPipelineCreateInfo-flags-04901
Ifflags
includesVK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM
, then the subpass must be the last subpass in a subpass dependency chain -
VUID-VkGraphicsPipelineCreateInfo-flags-04902
Ifflags
includesVK_SUBPASS_DESCRIPTION_SHADER_RESOLVE_BIT_QCOM
, and ifpResolveAttachments
is notNULL
, then each resolve attachment must beVK_ATTACHMENT_UNUSED
-
VUID-VkGraphicsPipelineCreateInfo-renderPass-06575
If the pipeline requires pre-rasterization shader state, fragment shader state, or fragment output interface state,renderPass
must be VK_NULL_HANDLE or a valid render pass object -
VUID-VkGraphicsPipelineCreateInfo-dynamicRendering-06576
If thedynamicRendering
feature is not enabled and the pipeline requires pre-rasterization shader state, fragment shader state, or fragment output interface state,renderPass
must not be VK_NULL_HANDLE -
VUID-VkGraphicsPipelineCreateInfo-multiview-06577
If themultiview
feature is not enabled, the pipeline requires pre-rasterization shader state, fragment shader state, or fragment output interface state, andrenderPass
is VK_NULL_HANDLE, VkPipelineRenderingCreateInfo::viewMask
must be0
-
VUID-VkGraphicsPipelineCreateInfo-renderPass-06578
If the pipeline requires pre-rasterization shader state, fragment shader state, or fragment output interface state, andrenderPass
is VK_NULL_HANDLE, the index of the most significant bit in VkPipelineRenderingCreateInfo::viewMask
must be less thanmaxMultiviewViewCount
-
VUID-VkGraphicsPipelineCreateInfo-renderPass-06579
If the pipeline requires fragment output interface state, andrenderPass
is VK_NULL_HANDLE, and VkPipelineRenderingCreateInfo::colorAttachmentCount
is not 0, VkPipelineRenderingCreateInfo::pColorAttachmentFormats
must be a valid pointer to an array ofcolorAttachmentCount
valid VkFormat values -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06580
If the pipeline requires fragment output interface state, andrenderPass
is VK_NULL_HANDLE, each element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats
must be a valid VkFormat value -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06582
If the pipeline requires fragment output interface state,renderPass
is VK_NULL_HANDLE, and any element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats
is notVK_FORMAT_UNDEFINED
, that format must be a format with potential format features that includeVK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
orVK_FORMAT_FEATURE_2_LINEAR_COLOR_ATTACHMENT_BIT_NV
-
VUID-VkGraphicsPipelineCreateInfo-renderPass-06583
If the pipeline requires fragment output interface state, andrenderPass
is VK_NULL_HANDLE, VkPipelineRenderingCreateInfo::depthAttachmentFormat
must be a valid VkFormat value -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06584
If the pipeline requires fragment output interface state, andrenderPass
is VK_NULL_HANDLE, VkPipelineRenderingCreateInfo::stencilAttachmentFormat
must be a valid VkFormat value -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06585
If the pipeline requires fragment output interface state,renderPass
is VK_NULL_HANDLE, and VkPipelineRenderingCreateInfo::depthAttachmentFormat
is notVK_FORMAT_UNDEFINED
, it must be a format with potential format features that includeVK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
-
VUID-VkGraphicsPipelineCreateInfo-renderPass-06586
If the pipeline requires fragment output interface state,renderPass
is VK_NULL_HANDLE, and VkPipelineRenderingCreateInfo::stencilAttachmentFormat
is notVK_FORMAT_UNDEFINED
, it must be a format with potential format features that includeVK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
-
VUID-VkGraphicsPipelineCreateInfo-renderPass-06587
If the pipeline requires fragment output interface state,renderPass
is VK_NULL_HANDLE, and VkPipelineRenderingCreateInfo::depthAttachmentFormat
is notVK_FORMAT_UNDEFINED
, it must be a format that includes a depth component -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06588
If the pipeline requires fragment output interface state,renderPass
is VK_NULL_HANDLE, and VkPipelineRenderingCreateInfo::stencilAttachmentFormat
is notVK_FORMAT_UNDEFINED
, it must be a format that includes a stencil component -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06589
If the pipeline requires fragment output interface state,renderPass
is VK_NULL_HANDLE, VkPipelineRenderingCreateInfo::depthAttachmentFormat
is notVK_FORMAT_UNDEFINED
, and VkPipelineRenderingCreateInfo::stencilAttachmentFormat
is notVK_FORMAT_UNDEFINED
,depthAttachmentFormat
must equalstencilAttachmentFormat
-
VUID-VkGraphicsPipelineCreateInfo-renderPass-09033
IfrenderPass
is VK_NULL_HANDLE, the pipeline is being created with fragment shader state and fragment output interface state, and either of VkPipelineRenderingCreateInfo::depthAttachmentFormat
or VkPipelineRenderingCreateInfo::stencilAttachmentFormat
are notVK_FORMAT_UNDEFINED
, and theVK_EXT_extended_dynamic_state3
extension is not enabled or any of theVK_DYNAMIC_STATE_DEPTH_TEST_ENABLE
,VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE
,VK_DYNAMIC_STATE_DEPTH_COMPARE_OP
,VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE
,VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE
,VK_DYNAMIC_STATE_STENCIL_OP
, orVK_DYNAMIC_STATE_DEPTH_BOUNDS
dynamic states are not set,pDepthStencilState
must be a valid pointer to a valid VkPipelineDepthStencilStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-pDepthStencilState-09034
IfpDepthStencilState
is notNULL
it must be a valid pointer to a valid VkPipelineDepthStencilStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-renderPass-09035
IfrenderPass
is VK_NULL_HANDLE and the pipeline is being created with fragment shader state but not fragment output interface state, and theVK_EXT_extended_dynamic_state3
extension is not enabled, or any of theVK_DYNAMIC_STATE_DEPTH_TEST_ENABLE
,VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE
,VK_DYNAMIC_STATE_DEPTH_COMPARE_OP
,VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE
,VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE
,VK_DYNAMIC_STATE_STENCIL_OP
, orVK_DYNAMIC_STATE_DEPTH_BOUNDS
dynamic states are not set,pDepthStencilState
must be a valid pointer to a valid VkPipelineDepthStencilStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-pDepthStencilState-09036
IfpDepthStencilState
is notNULL
it must be a valid pointer to a valid VkPipelineDepthStencilStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-renderPass-09037
IfrenderPass
is VK_NULL_HANDLE, the pipeline is being created with fragment output interface state, and VkPipelineRenderingCreateInfo::colorAttachmentCount
is not equal to0
, and theVK_EXT_extended_dynamic_state3
extension is not enabled, or any of theVK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT
,VK_DYNAMIC_STATE_LOGIC_OP_EXT
,VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT
,VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT
,VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT
, orVK_DYNAMIC_STATE_BLEND_CONSTANTS
dynamic states are not set,pColorBlendState
must be a valid pointer to a valid VkPipelineColorBlendStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-pColorBlendState-09038
IfpColorBlendState
is notNULL
it must be a valid pointer to a valid VkPipelineColorBlendStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06055
IfrenderPass
is VK_NULL_HANDLE and the pipeline is being created with fragment output interface state,pColorBlendState->attachmentCount
must be equal to VkPipelineRenderingCreateInfo::colorAttachmentCount
-
VUID-VkGraphicsPipelineCreateInfo-renderPass-06057
IfrenderPass
is VK_NULL_HANDLE, the pipeline is being created with pre-rasterization shader state, VkPipelineRenderingCreateInfo::viewMask
is not0
, and themultiviewTessellationShader
feature is not enabled, thenpStages
must not include tessellation shaders -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06058
IfrenderPass
is VK_NULL_HANDLE, the pipeline is being created with pre-rasterization shader state, VkPipelineRenderingCreateInfo::viewMask
is not0
, and themultiviewGeometryShader
feature is not enabled, thenpStages
must not include a geometry shader -
VUID-VkGraphicsPipelineCreateInfo-renderPass-07718
IfrenderPass
is VK_NULL_HANDLE, the pipeline is being created with pre-rasterization shader state, and VkPipelineRenderingCreateInfo::viewMask
is not0
, all of the shaders in the pipeline must not write to theLayer
built-in output -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06059
IfrenderPass
is VK_NULL_HANDLE, the pipeline is being created with pre-rasterization shader state, and VkPipelineRenderingCreateInfo::viewMask
is not0
, all of the shaders in the pipeline must not include variables decorated with theLayer
built-in decoration in their interfaces -
VUID-VkGraphicsPipelineCreateInfo-renderPass-07719
IfrenderPass
is VK_NULL_HANDLE, the pipeline is being created with pre-rasterization shader state, and VkPipelineRenderingCreateInfo::viewMask
is not0
, all of the shaders in the pipeline must not include variables decorated with theViewIndex
built-in decoration in their interfaces -
VUID-VkGraphicsPipelineCreateInfo-renderPass-07720
IfrenderPass
is VK_NULL_HANDLE, the pipeline is being created with pre-rasterization shader state, and VkPipelineRenderingCreateInfo::viewMask
is not0
, andmultiviewMeshShader
is not enabled, thenpStages
must not include a mesh shader -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06061
If the pipeline requires fragment shader state andrenderPass
is VK_NULL_HANDLE, fragment shaders inpStages
must not include theInputAttachment
capability -
VUID-VkGraphicsPipelineCreateInfo-renderPass-08710
If the pipeline requires fragment shader state andrenderPass
is not VK_NULL_HANDLE, fragment shaders inpStages
must not include any of theTileImageColorReadAccessEXT
,TileImageDepthReadAccessEXT
, orTileImageStencilReadAccessEXT
capabilities -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06062
If the pipeline requires fragment output interface state andrenderPass
is VK_NULL_HANDLE, for each color attachment format defined by thepColorAttachmentFormats
member of VkPipelineRenderingCreateInfo, if its potential format features do not containVK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
, then theblendEnable
member of the corresponding element of thepAttachments
member ofpColorBlendState
must beVK_FALSE
-
VUID-VkGraphicsPipelineCreateInfo-renderPass-06063
If the pipeline requires fragment output interface state andrenderPass
is VK_NULL_HANDLE, if thepNext
chain includes VkAttachmentSampleCountInfoAMD orVkAttachmentSampleCountInfoNV
, thecolorAttachmentCount
member of that structure must be equal to the value of VkPipelineRenderingCreateInfo::colorAttachmentCount
-
VUID-VkGraphicsPipelineCreateInfo-flags-06591
IfpStages
includes a fragment shader stage, and the fragment shader declares theEarlyFragmentTests
execution mode, theflags
member of VkPipelineDepthStencilStateCreateInfo must not includeVK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT
orVK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT
-
VUID-VkGraphicsPipelineCreateInfo-flags-06482
If the pipeline requires fragment output interface state and theflags
member of VkPipelineColorBlendStateCreateInfo includesVK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT
,renderpass
must not be VK_NULL_HANDLE -
VUID-VkGraphicsPipelineCreateInfo-flags-06483
If the pipeline requires fragment output interface state and theflags
member of VkPipelineDepthStencilStateCreateInfo includesVK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT
orVK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT
,renderpass
must not be VK_NULL_HANDLE -
VUID-VkGraphicsPipelineCreateInfo-pColorAttachmentSamples-06592
If the fragment output interface state, elements of thepColorAttachmentSamples
member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV must be valid VkSampleCountFlagBits values -
VUID-VkGraphicsPipelineCreateInfo-depthStencilAttachmentSamples-06593
If the fragment output interface state and thedepthStencilAttachmentSamples
member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV is not 0, it must be a valid VkSampleCountFlagBits value -
VUID-VkGraphicsPipelineCreateInfo-flags-06484
If the pipeline requires fragment output interface state and theflags
member of VkPipelineColorBlendStateCreateInfo includesVK_PIPELINE_COLOR_BLEND_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_ACCESS_BIT_EXT
subpass
must have been created withVK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_COLOR_ACCESS_BIT_EXT
-
VUID-VkGraphicsPipelineCreateInfo-flags-06485
If the pipeline requires fragment shader state and theflags
member of VkPipelineDepthStencilStateCreateInfo includesVK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT
,subpass
must have been created withVK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_DEPTH_ACCESS_BIT_EXT
-
VUID-VkGraphicsPipelineCreateInfo-flags-06486
If the pipeline requires fragment shader state and theflags
member of VkPipelineDepthStencilStateCreateInfo includesVK_PIPELINE_DEPTH_STENCIL_STATE_CREATE_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT
,subpass
must have been created withVK_SUBPASS_DESCRIPTION_RASTERIZATION_ORDER_ATTACHMENT_STENCIL_ACCESS_BIT_EXT
-
VUID-VkGraphicsPipelineCreateInfo-pipelineStageCreationFeedbackCount-06594
If VkPipelineCreationFeedbackCreateInfo::pipelineStageCreationFeedbackCount
is not0
, it must be equal tostageCount
-
VUID-VkGraphicsPipelineCreateInfo-renderPass-06595
IfrenderPass
is VK_NULL_HANDLE, the pipeline is being created with pre-rasterization shader state or fragment shader state, and VkMultiviewPerViewAttributesInfoNVX::perViewAttributesPositionXOnly
isVK_TRUE
then VkMultiviewPerViewAttributesInfoNVX::perViewAttributes
must also beVK_TRUE
-
VUID-VkGraphicsPipelineCreateInfo-flags-06596
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includes only one ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes the other flag, the value of VkMultiviewPerViewAttributesInfoNVX::perViewAttributes
specified in both this pipeline and the library must be equal -
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06597
If one element of VkPipelineLibraryCreateInfoKHR::pLibraries
includesVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
and another element includesVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, the value of VkMultiviewPerViewAttributesInfoNVX::perViewAttributes
specified in both libraries must be equal -
VUID-VkGraphicsPipelineCreateInfo-flags-06598
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includes only one ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes the other flag, the value of VkMultiviewPerViewAttributesInfoNVX::perViewAttributesPositionXOnly
specified in both this pipeline and the library must be equal -
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06599
If one element of VkPipelineLibraryCreateInfoKHR::pLibraries
includesVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
and another element includesVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, the value of VkMultiviewPerViewAttributesInfoNVX::perViewAttributesPositionXOnly
specified in both libraries must be equal -
VUID-VkGraphicsPipelineCreateInfo-pStages-06600
If the pipeline requires pre-rasterization shader state or fragment shader state,pStages
must be a valid pointer to an array ofstageCount
valid VkPipelineShaderStageCreateInfo structures -
VUID-VkGraphicsPipelineCreateInfo-pRasterizationState-09039
If theVK_EXT_extended_dynamic_state3
extension is not enabled, or any of theVK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT
,VK_DYNAMIC_STATE_SAMPLE_MASK_EXT
, orVK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT
dynamic states are not set, or alphaToOne is enabled on the device andVK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT
is not set, thenpMultisampleState
must be a valid pointer to a valid VkPipelineMultisampleStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-pRasterizationState-09040
IfpRasterizationState
is notNULL
it must be a valid pointer to a valid VkPipelineRasterizationStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-layout-06602
If the pipeline requires fragment shader state or pre-rasterization shader state,layout
must be a valid VkPipelineLayout handle -
VUID-VkGraphicsPipelineCreateInfo-renderPass-06603
If pre-rasterization shader state, fragment shader state, or fragment output state, andrenderPass
is not VK_NULL_HANDLE,renderPass
must be a valid VkRenderPass handle -
VUID-VkGraphicsPipelineCreateInfo-stageCount-06604
If the pipeline requires pre-rasterization shader state or fragment shader state,stageCount
must be greater than0
-
VUID-VkGraphicsPipelineCreateInfo-graphicsPipelineLibrary-06606
If thegraphicsPipelineLibrary
feature is not enabled,flags
must not includeVK_PIPELINE_CREATE_LIBRARY_BIT_KHR
-
VUID-VkGraphicsPipelineCreateInfo-flags-06608
If the pipeline defines, or includes as libraries, all the state subsets required for a complete graphics pipeline,flags
must not includeVK_PIPELINE_CREATE_LIBRARY_BIT_KHR
-
VUID-VkGraphicsPipelineCreateInfo-flags-06609
Ifflags
includesVK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT
, pipeline libraries included via VkPipelineLibraryCreateInfoKHR must have been created withVK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT
-
VUID-VkGraphicsPipelineCreateInfo-flags-09245
Ifflags
includesVK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT
,flags
must also includeVK_PIPELINE_CREATE_LIBRARY_BIT_KHR
-
VUID-VkGraphicsPipelineCreateInfo-flags-06610
Ifflags
includesVK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT
, pipeline libraries included via VkPipelineLibraryCreateInfoKHR must have been created withVK_PIPELINE_CREATE_RETAIN_LINK_TIME_OPTIMIZATION_INFO_BIT_EXT
-
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06611
Any pipeline libraries included via VkPipelineLibraryCreateInfoKHR::pLibraries
must not include any state subset already defined by this structure or defined by any other pipeline library in VkPipelineLibraryCreateInfoKHR::pLibraries
-
VUID-VkGraphicsPipelineCreateInfo-flags-06612
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includes only one ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes the other flag, andlayout
was not created withVK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
, then thelayout
used by this pipeline and the library must be identically defined -
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06613
If one element of VkPipelineLibraryCreateInfoKHR::pLibraries
includesVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
and another element includesVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, and thelayout
specified by either library was not created withVK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
, then thelayout
used by each library must be identically defined -
VUID-VkGraphicsPipelineCreateInfo-flags-06614
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includes only one ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, an element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes the other subset, andlayout
was created withVK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
, then thelayout
used by the library must also have been created withVK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
-
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06615
If one element of VkPipelineLibraryCreateInfoKHR::pLibraries
includesVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
and another element includesVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, and thelayout
specified by either library was created withVK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
, then thelayout
used by both libraries must have been created withVK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
-
VUID-VkGraphicsPipelineCreateInfo-flags-06616
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includes only one ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, an element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes the other subset, andlayout
was created withVK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
, elements of thepSetLayouts
array whichlayout
was created with that are not VK_NULL_HANDLE must be identically defined to the element at the same index ofpSetLayouts
used to create the library’slayout
-
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06617
If one element of VkPipelineLibraryCreateInfoKHR::pLibraries
includesVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
and another element includesVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, and thelayout
specified by either library was created withVK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
, elements of thepSetLayouts
array which eitherlayout
was created with that are not VK_NULL_HANDLE must be identically defined to the element at the same index ofpSetLayouts
used to create the other library’slayout
-
VUID-VkGraphicsPipelineCreateInfo-flags-06618
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includes only one ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes the other flag, any descriptor set layout N specified bylayout
in both this pipeline and the library which include bindings accessed by shader stages in each must be identically defined -
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06619
If one element of VkPipelineLibraryCreateInfoKHR::pLibraries
includesVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
and another element includesVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, any descriptor set layout N specified bylayout
in both libraries which include bindings accessed by shader stages in each must be identically defined -
VUID-VkGraphicsPipelineCreateInfo-flags-06620
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includes only one ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes the other flag, push constants specified inlayout
in both this pipeline and the library which are available to shader stages in each must be identically defined -
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06621
If one element of VkPipelineLibraryCreateInfoKHR::pLibraries
includesVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
and another element includesVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, push constants specified inlayout
in both this pipeline and the library which are available to shader stages in each must be identically defined -
VUID-VkGraphicsPipelineCreateInfo-flags-06679
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includes only one ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, an element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes the other subset, and any element of thepSetLayouts
array whichlayout
was created with was VK_NULL_HANDLE, then the corresponding element of thepSetLayouts
array used to create the library’slayout
must not be VK_NULL_HANDLE -
VUID-VkGraphicsPipelineCreateInfo-flags-06680
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includes only one ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, an element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes the other subset, and any element of thepSetLayouts
array used to create the library’slayout
was VK_NULL_HANDLE, then the corresponding element of thepSetLayouts
array used to create this pipeline’slayout
must not be VK_NULL_HANDLE -
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06681
If one element of VkPipelineLibraryCreateInfoKHR::pLibraries
includesVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
and another element includesVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, and any element of thepSetLayouts
array used to create each library’slayout
was VK_NULL_HANDLE, then the corresponding element of thepSetLayouts
array used to create the other library’slayout
must not be VK_NULL_HANDLE -
VUID-VkGraphicsPipelineCreateInfo-flags-06756
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includes only one ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, an element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes the other subset, and any element of thepSetLayouts
array whichlayout
was created with was VK_NULL_HANDLE, then the corresponding element of thepSetLayouts
array used to create the library’slayout
must not have shader bindings for shaders in the other subset -
VUID-VkGraphicsPipelineCreateInfo-flags-06757
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includes only one ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, an element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes the other subset, and any element of thepSetLayouts
array used to create the library’slayout
was VK_NULL_HANDLE, then the corresponding element of thepSetLayouts
array used to create this pipeline’slayout
must not have shader bindings for shaders in the other subset -
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06758
If one element of VkPipelineLibraryCreateInfoKHR::pLibraries
includesVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
and another element includesVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, and any element of thepSetLayouts
array used to create each library’slayout
was VK_NULL_HANDLE, then the corresponding element of thepSetLayouts
array used to create the other library’slayout
must not have shader bindings for shaders in the other subset -
VUID-VkGraphicsPipelineCreateInfo-flags-06682
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includes bothVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
andVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
,layout
must have been created with no elements of thepSetLayouts
array set to VK_NULL_HANDLE -
VUID-VkGraphicsPipelineCreateInfo-flags-06683
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includesVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
andpRasterizationState->rasterizerDiscardEnable
isVK_TRUE
,layout
must have been created with no elements of thepSetLayouts
array set to VK_NULL_HANDLE -
VUID-VkGraphicsPipelineCreateInfo-flags-06684
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includes at least one of and no more than two ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
,VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT
, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes one of the other flags, the value ofsubpass
must be equal to that used to create the library -
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06623
If one element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes at least one of and no more than two ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
,VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT
, and another element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes one of the other flags, the value ofsubpass
used to create each library must be identical -
VUID-VkGraphicsPipelineCreateInfo-renderpass-06624
Ifrenderpass
is not VK_NULL_HANDLE, VkGraphicsPipelineLibraryCreateInfoEXT::flags
includes at least one of and no more than two ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
,VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT
, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes one of the other flags,renderPass
must be compatible with that used to create the library -
VUID-VkGraphicsPipelineCreateInfo-renderpass-06625
Ifrenderpass
is VK_NULL_HANDLE, VkGraphicsPipelineLibraryCreateInfoEXT::flags
includes at least one of and no more than two ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
,VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT
, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes one of the other flags, the value ofrenderPass
used to create that library must also be VK_NULL_HANDLE -
VUID-VkGraphicsPipelineCreateInfo-flags-06626
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includes at least one of and no more than two ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
,VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT
, an element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes one of the other flags, andrenderPass
is VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::viewMask
used by this pipeline and that specified by the library must be identical -
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06627
If one element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes at least one of and no more than two ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
,VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT
, another element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes one of the other flags, andrenderPass
was VK_NULL_HANDLE for both libraries, the value of VkPipelineRenderingCreateInfo::viewMask
set by each library must be identical -
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06628
If one element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes at least one of and no more than two ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
,VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT
, and another element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes one of the other flags, therenderPass
objects used to create each library must be compatible or all equal to VK_NULL_HANDLE -
VUID-VkGraphicsPipelineCreateInfo-pMultisampleState-06629
If the pipeline requires fragment shader statepMultisampleState
must beNULL
or a valid pointer to a valid VkPipelineMultisampleStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-renderpass-06631
If the pipeline requires fragment shader state andrenderpass
is not VK_NULL_HANDLE, thenpMultisampleState
must not beNULL
-
VUID-VkGraphicsPipelineCreateInfo-Input-06632
If the pipeline requires fragment shader state with a fragment shader that either enables sample shading or decorates any variable in theInput
storage class withSample
, thenpMultisampleState
must not beNULL
-
VUID-VkGraphicsPipelineCreateInfo-flags-06633
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includesVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
with apMultisampleState
that was notNULL
, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries
was created withVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT
,pMultisampleState
must be identically defined to that used to create the library -
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06634
If an element of VkPipelineLibraryCreateInfoKHR::pLibraries
was created withVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
with apMultisampleState
that was notNULL
, and if VkGraphicsPipelineLibraryCreateInfoEXT::flags
includesVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT
,pMultisampleState
must be identically defined to that used to create the library -
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06635
If one element of VkPipelineLibraryCreateInfoKHR::pLibraries
was created withVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
with apMultisampleState
that was notNULL
, and if a different element of VkPipelineLibraryCreateInfoKHR::pLibraries
was created withVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT
, thepMultisampleState
used to create each library must be identically defined -
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06636
If one element of VkPipelineLibraryCreateInfoKHR::pLibraries
was created withVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT
and a value ofpMultisampleState->sampleShading
equalVK_TRUE
, and if a different element of VkPipelineLibraryCreateInfoKHR::pLibraries
was created withVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, thepMultisampleState
used to create each library must be identically defined -
VUID-VkGraphicsPipelineCreateInfo-flags-06637
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includesVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT
,pMultisampleState->sampleShading
isVK_TRUE
, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries
was created withVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, thepMultisampleState
used to create that library must be identically definedpMultisampleState
-
VUID-VkGraphicsPipelineCreateInfo-flags-06638
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includes only one ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, and an element of VkPipelineLibraryCreateInfoKHR::pLibraries
includes the other flag, values specified in VkPipelineFragmentShadingRateStateCreateInfoKHR for both this pipeline and that library must be identical -
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06639
If one element of VkPipelineLibraryCreateInfoKHR::pLibraries
includesVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
and another element includesVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, values specified in VkPipelineFragmentShadingRateStateCreateInfoKHR for both this pipeline and that library must be identical -
VUID-VkGraphicsPipelineCreateInfo-flags-06640
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includesVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
,pStages
must be a valid pointer to an array ofstageCount
valid VkPipelineShaderStageCreateInfo structures -
VUID-VkGraphicsPipelineCreateInfo-flags-09041
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includesVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
, and theVK_EXT_extended_dynamic_state3
extension is not enabled, or any of theVK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT
,VK_DYNAMIC_STATE_SAMPLE_MASK_EXT
, orVK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT
dynamic states are not set, or alphaToOne is enabled on the device andVK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT
is not set,pMultisampleState
must be a valid pointer to a valid VkPipelineMultisampleStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-pRasterizationState-09042
IfpRasterizationState
is notNULL
it must be a valid pointer to a valid VkPipelineRasterizationStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-flags-06642
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includesVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
,layout
must be a valid VkPipelineLayout handle -
VUID-VkGraphicsPipelineCreateInfo-flags-06643
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includesVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
, orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
,VK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT
, andrenderPass
is not VK_NULL_HANDLE,renderPass
must be a valid VkRenderPass handle -
VUID-VkGraphicsPipelineCreateInfo-flags-06644
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includesVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
orVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
,stageCount
must be greater than0
-
VUID-VkGraphicsPipelineCreateInfo-flags-06645
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
is non-zero, ifflags
includesVK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR
, any libraries must have also been created withVK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR
-
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06646
If VkPipelineLibraryCreateInfoKHR::pLibraries
includes more than one library, and any library was created withVK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR
, all libraries must have also been created withVK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR
-
VUID-VkGraphicsPipelineCreateInfo-pLibraries-06647
If VkPipelineLibraryCreateInfoKHR::pLibraries
includes at least one library, VkGraphicsPipelineLibraryCreateInfoEXT::flags
is non-zero, and any library was created withVK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR
,flags
must includeVK_PIPELINE_CREATE_CAPTURE_INTERNAL_REPRESENTATIONS_BIT_KHR
-
VUID-VkGraphicsPipelineCreateInfo-None-07826
If the pipeline includes a complete set of state, and there are no libraries included in VkPipelineLibraryCreateInfoKHR::pLibraries
, then VkPipelineLayout must be a valid pipeline layout -
VUID-VkGraphicsPipelineCreateInfo-layout-07827
If the pipeline includes a complete set of state specified entirely by libraries, and each library was created with a VkPipelineLayout created withoutVK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
, thenlayout
must be compatible with the layouts in those libraries -
VUID-VkGraphicsPipelineCreateInfo-flags-06729
Ifflags
includesVK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT
, the pipeline includes a complete set of state specified entirely by libraries, and each library was created with a VkPipelineLayout created withVK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
, thenlayout
must be compatible with the union of the libraries' pipeline layouts other than the inclusion/exclusion ofVK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
-
VUID-VkGraphicsPipelineCreateInfo-flags-06730
Ifflags
does not includeVK_PIPELINE_CREATE_LINK_TIME_OPTIMIZATION_BIT_EXT
, the pipeline includes a complete set of state specified entirely by libraries, and each library was created with a VkPipelineLayout created withVK_PIPELINE_LAYOUT_CREATE_INDEPENDENT_SETS_BIT_EXT
, thenlayout
must be compatible with the union of the libraries' pipeline layouts -
VUID-VkGraphicsPipelineCreateInfo-conservativePointAndLineRasterization-08892
IfconservativePointAndLineRasterization
is not supported; the pipeline is being created with vertex input state and pre-rasterization shader state; the pipeline does not include a geometry shader; and the value of VkPipelineInputAssemblyStateCreateInfo::topology
isVK_PRIMITIVE_TOPOLOGY_POINT_LIST
,VK_PRIMITIVE_TOPOLOGY_LINE_LIST
, orVK_PRIMITIVE_TOPOLOGY_LINE_STRIP
, and eitherVK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY
dynamic state is not enabled ordynamicPrimitiveTopologyUnrestricted
isVK_FALSE
, then VkPipelineRasterizationConservativeStateCreateInfoEXT::conservativeRasterizationMode
must beVK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT
-
VUID-VkGraphicsPipelineCreateInfo-conservativePointAndLineRasterization-06760
IfconservativePointAndLineRasterization
is not supported, the pipeline requires pre-rasterization shader state, and the pipeline includes a geometry shader with either theOutputPoints
orOutputLineStrip
execution modes, VkPipelineRasterizationConservativeStateCreateInfoEXT::conservativeRasterizationMode
must beVK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT
-
VUID-VkGraphicsPipelineCreateInfo-conservativePointAndLineRasterization-06761
IfconservativePointAndLineRasterization
is not supported, the pipeline requires pre-rasterization shader state, and the pipeline includes a mesh shader with either theOutputPoints
orOutputLinesNV
execution modes, VkPipelineRasterizationConservativeStateCreateInfoEXT::conservativeRasterizationMode
must beVK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT
-
VUID-VkGraphicsPipelineCreateInfo-pStages-06894
If the pipeline requires pre-rasterization shader state but not fragment shader state, elements ofpStages
must not havestage
set toVK_SHADER_STAGE_FRAGMENT_BIT
-
VUID-VkGraphicsPipelineCreateInfo-pStages-06895
If the pipeline requires fragment shader state but not pre-rasterization shader state, elements ofpStages
must not havestage
set to a shader stage which participates in pre-rasterization -
VUID-VkGraphicsPipelineCreateInfo-pStages-06896
If the pipeline requires pre-rasterization shader state, all elements ofpStages
must have astage
set to a shader stage which participates in fragment shader state or pre-rasterization shader state -
VUID-VkGraphicsPipelineCreateInfo-stage-06897
If the pipeline requires fragment shader state and/or pre-rasterization shader state, any value ofstage
must not be set in more than one element ofpStages
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3TessellationDomainOrigin-07370
If theextendedDynamicState3TessellationDomainOrigin
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3DepthClampEnable-07371
If theextendedDynamicState3DepthClampEnable
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3PolygonMode-07372
If theextendedDynamicState3PolygonMode
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_POLYGON_MODE_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3RasterizationSamples-07373
If theextendedDynamicState3RasterizationSamples
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3SampleMask-07374
If theextendedDynamicState3SampleMask
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_SAMPLE_MASK_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3AlphaToCoverageEnable-07375
If theextendedDynamicState3AlphaToCoverageEnable
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3AlphaToOneEnable-07376
If theextendedDynamicState3AlphaToOneEnable
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3LogicOpEnable-07377
If theextendedDynamicState3LogicOpEnable
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ColorBlendEnable-07378
If theextendedDynamicState3ColorBlendEnable
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ColorBlendEquation-07379
If theextendedDynamicState3ColorBlendEquation
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ColorWriteMask-07380
If theextendedDynamicState3ColorWriteMask
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3RasterizationStream-07381
If theextendedDynamicState3RasterizationStream
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ConservativeRasterizationMode-07382
If theextendedDynamicState3ConservativeRasterizationMode
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ExtraPrimitiveOverestimationSize-07383
If theextendedDynamicState3ExtraPrimitiveOverestimationSize
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3DepthClipEnable-07384
If theextendedDynamicState3DepthClipEnable
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3SampleLocationsEnable-07385
If theextendedDynamicState3SampleLocationsEnable
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ColorBlendAdvanced-07386
If theextendedDynamicState3ColorBlendAdvanced
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ProvokingVertexMode-07387
If theextendedDynamicState3ProvokingVertexMode
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3LineRasterizationMode-07388
If theextendedDynamicState3LineRasterizationMode
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3LineStippleEnable-07389
If theextendedDynamicState3LineStippleEnable
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3DepthClipNegativeOneToOne-07390
If theextendedDynamicState3DepthClipNegativeOneToOne
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ViewportWScalingEnable-07391
If theextendedDynamicState3ViewportWScalingEnable
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ViewportSwizzle-07392
If theextendedDynamicState3ViewportSwizzle
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3CoverageToColorEnable-07393
If theextendedDynamicState3CoverageToColorEnable
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3CoverageToColorLocation-07394
If theextendedDynamicState3CoverageToColorLocation
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3CoverageModulationMode-07395
If theextendedDynamicState3CoverageModulationMode
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3CoverageModulationTableEnable-07396
If theextendedDynamicState3CoverageModulationTableEnable
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3CoverageModulationTable-07397
If theextendedDynamicState3CoverageModulationTable
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3CoverageReductionMode-07398
If theextendedDynamicState3CoverageReductionMode
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3RepresentativeFragmentTestEnable-07399
If theextendedDynamicState3RepresentativeFragmentTestEnable
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV
-
VUID-VkGraphicsPipelineCreateInfo-extendedDynamicState3ShadingRateImageEnable-07400
If theextendedDynamicState3ShadingRateImageEnable
feature is not enabled, there must be no element of thepDynamicStates
member ofpDynamicState
set toVK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV
-
VUID-VkGraphicsPipelineCreateInfo-flags-07401
flags
must not includeVK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT
-
VUID-VkGraphicsPipelineCreateInfo-flags-07997
flags
must not includeVK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07730
If the pipeline requires pre-rasterization shader state, and no element of thepDynamicStates
member ofpDynamicState
isVK_DYNAMIC_STATE_VIEWPORT
orVK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT
, and ifmultiviewPerViewViewports
is enabled, then the index of the most significant bit in each element of VkRenderPassMultiviewCreateInfo::pViewMasks
must be less thanpViewportState
::viewportCount
-
VUID-VkGraphicsPipelineCreateInfo-pDynamicStates-07731
If the pipeline requires pre-rasterization shader state, and no element of thepDynamicStates
member ofpDynamicState
isVK_DYNAMIC_STATE_SCISSOR
orVK_DYNAMIC_STATE_SCISSOR_WITH_COUNT
, and ifmultiviewPerViewViewports
is enabled, then the index of the most significant bit in each element of VkRenderPassMultiviewCreateInfo::pViewMasks
must be less thanpViewportState
::scissorCount
-
VUID-VkGraphicsPipelineCreateInfo-pStages-08711
IfpStages
includes a fragment shader stage,VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE
is not set in VkPipelineDynamicStateCreateInfo::pDynamicStates
, and the fragment shader declares theEarlyFragmentTests
execution mode and usesOpDepthAttachmentReadEXT
, thedepthWriteEnable
member of VkPipelineDepthStencilStateCreateInfo must beVK_FALSE
-
VUID-VkGraphicsPipelineCreateInfo-pStages-08712
IfpStages
includes a fragment shader stage,VK_DYNAMIC_STATE_STENCIL_WRITE_MASK
is not set in VkPipelineDynamicStateCreateInfo::pDynamicStates
, and the fragment shader declares theEarlyFragmentTests
execution mode and usesOpStencilAttachmentReadEXT
, the value of VkStencilOpState::writeMask
for bothfront
andback
in VkPipelineDepthStencilStateCreateInfo must be0
-
VUID-VkGraphicsPipelineCreateInfo-renderPass-08744
IfrenderPass
is VK_NULL_HANDLE, the pipeline requires fragment output state or fragment shader state, the pipeline enables sample shading,rasterizationSamples
is not dynamic, and thepNext
chain includes a VkPipelineRenderingCreateInfo structure,rasterizationSamples
must be a bit value that is set inimageCreateSampleCounts
(as defined in Image Creation Limits) for every element ofdepthAttachmentFormat
,stencilAttachmentFormat
and thepColorAttachmentFormats
array which is notVK_FORMAT_UNDEFINED
-
VUID-VkGraphicsPipelineCreateInfo-flags-08897
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includesVK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT
, pre-rasterization shader state is specified either in a library or by the inclusion ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
, and that state includes a vertex shader stage inpStages
, the pipeline must define vertex input state -
VUID-VkGraphicsPipelineCreateInfo-flags-08898
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includesVK_GRAPHICS_PIPELINE_LIBRARY_VERTEX_INPUT_INTERFACE_BIT_EXT
, and pre-rasterization shader state is not specified, the pipeline must define vertex input state -
VUID-VkGraphicsPipelineCreateInfo-flags-08899
Ifflags
does not includeVK_PIPELINE_CREATE_LIBRARY_BIT_KHR
, pre-rasterization shader state is specified either in a library or by the inclusion ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
, and that state includes a vertex shader stage inpStages
, the pipeline must either define pre-rasterization shader state or include that state in a linked pipeline library -
VUID-VkGraphicsPipelineCreateInfo-flags-08900
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includesVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
the pipeline must define pre-rasterization shader state -
VUID-VkGraphicsPipelineCreateInfo-flags-08901
Ifflags
does not includeVK_PIPELINE_CREATE_LIBRARY_BIT_KHR
, the pipeline must either define pre-rasterization shader state or include that state in a linked pipeline library -
VUID-VkGraphicsPipelineCreateInfo-flags-08903
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includesVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, pre-rasterization shader state is specified either in a library or by the inclusion ofVK_GRAPHICS_PIPELINE_LIBRARY_PRE_RASTERIZATION_SHADERS_BIT_EXT
, and that state either includesVK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE
or haspRasterizationState->rasterizerDiscardEnable
set toVK_FALSE
, the pipeline must define fragment shader state -
VUID-VkGraphicsPipelineCreateInfo-flags-08904
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includesVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, and pre-rasterization shader state is not specified, the pipeline must define fragment shader state -
VUID-VkGraphicsPipelineCreateInfo-flags-08906
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includesVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, pre-rasterization shader state is specified either in a library or by the inclusion ofVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_OUTPUT_INTERFACE_BIT_EXT
, and that state either includesVK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE
or haspRasterizationState->rasterizerDiscardEnable
set toVK_FALSE
, the pipeline must define fragment output interface state -
VUID-VkGraphicsPipelineCreateInfo-flags-08907
If VkGraphicsPipelineLibraryCreateInfoEXT::flags
includesVK_GRAPHICS_PIPELINE_LIBRARY_FRAGMENT_SHADER_BIT_EXT
, and pre-rasterization shader state is not specified, the pipeline must define fragment output interface state -
VUID-VkGraphicsPipelineCreateInfo-None-09043
IfpDynamicState->pDynamicStates
does not includeVK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT
, and the format of any color attachment isVK_FORMAT_E5B9G9R9_UFLOAT_PACK32
, thecolorWriteMask
member of the corresponding element ofpColorBlendState->pAttachments
must either include all ofVK_COLOR_COMPONENT_R_BIT
,VK_COLOR_COMPONENT_G_BIT
, andVK_COLOR_COMPONENT_B_BIT
, or none of them -
VUID-VkGraphicsPipelineCreateInfo-externalFormatResolve-09301
If theexternalFormatResolve
feature is enabled, the pipeline requires fragment output interface state,renderPass
is VK_NULL_HANDLE, and VkExternalFormatANDROID::externalFormat
is not0
, VkPipelineRenderingCreateInfo::viewMask
must be0
-
VUID-VkGraphicsPipelineCreateInfo-externalFormatResolve-09304
If theexternalFormatResolve
feature is enabled, the pipeline requires fragment output interface state,renderPass
is VK_NULL_HANDLE, VkExternalFormatANDROID::externalFormat
is not0
, andpDynamicState->pDynamicStates
does not includeVK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT
, VkPipelineMultisampleStateCreateInfo::rasterizationSamples
must be1
-
VUID-VkGraphicsPipelineCreateInfo-externalFormatResolve-09305
If theexternalFormatResolve
feature is enabled, the pipeline requires fragment output interface state,renderPass
is VK_NULL_HANDLE, and VkExternalFormatANDROID::externalFormat
is not0
, andpDynamicState->pDynamicStates
does not includeVK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT
, theblendEnable
member of each element ofpColorBlendState->pAttachments
must beVK_FALSE
-
VUID-VkGraphicsPipelineCreateInfo-externalFormatResolve-09306
If theexternalFormatResolve
feature is enabled, the pipeline requires fragment output interface state,renderPass
is VK_NULL_HANDLE, and VkExternalFormatANDROID::externalFormat
is not0
, andpDynamicState->pDynamicStates
does not includeVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
, VkPipelineFragmentShadingRateStateCreateInfoKHR::width
must be1
-
VUID-VkGraphicsPipelineCreateInfo-externalFormatResolve-09307
If theexternalFormatResolve
feature is enabled, the pipeline requires fragment output interface state,renderPass
is VK_NULL_HANDLE, and VkExternalFormatANDROID::externalFormat
is not0
, andpDynamicState->pDynamicStates
does not includeVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
, VkPipelineFragmentShadingRateStateCreateInfoKHR::height
must be1
-
VUID-VkGraphicsPipelineCreateInfo-externalFormatResolve-09308
If theexternalFormatResolve
feature is enabled, the pipeline requires pre-rasterization shader state and fragment output interface state,renderPass
is VK_NULL_HANDLE, and VkExternalFormatANDROID::externalFormat
is not0
, the last pre-rasterization shader stage must not statically use a variable with thePrimitiveShadingRateKHR
built-in -
VUID-VkGraphicsPipelineCreateInfo-externalFormatResolve-09309
If theexternalFormatResolve
feature is enabled, the pipeline requires fragment output interface state,renderPass
is VK_NULL_HANDLE, and VkExternalFormatANDROID::externalFormat
is not0
, VkPipelineRenderingCreateInfo::colorAttachmentCount
must be1
-
VUID-VkGraphicsPipelineCreateInfo-externalFormatResolve-09310
If theexternalFormatResolve
feature is enabled, the pipeline requires fragment shader state and fragment output interface state,renderPass
is VK_NULL_HANDLE, and VkExternalFormatANDROID::externalFormat
is not0
, the fragment shader must not declare theDepthReplacing
orStencilRefReplacingEXT
execution modes -
VUID-VkGraphicsPipelineCreateInfo-externalFormatResolve-09313
If theexternalFormatResolve
feature is enabled, the pipeline requires fragment output interface state,renderPass
is not VK_NULL_HANDLE,subpass
includes an external format resolve attachment, andpDynamicState->pDynamicStates
does not includeVK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT
, VkPipelineMultisampleStateCreateInfo::rasterizationSamples
must beVK_SAMPLE_COUNT_1_BIT
-
VUID-VkGraphicsPipelineCreateInfo-externalFormatResolve-09314
If theexternalFormatResolve
feature is enabled, the pipeline requires fragment output interface state,renderPass
is not VK_NULL_HANDLE,subpass
includes an external format resolve attachment, andpDynamicState->pDynamicStates
does not includeVK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT
, theblendEnable
member of each element ofpColorBlendState->pAttachments
must beVK_FALSE
-
VUID-VkGraphicsPipelineCreateInfo-externalFormatResolve-09315
If theexternalFormatResolve
feature is enabled, the pipeline requires fragment output interface state,renderPass
is not VK_NULL_HANDLE,subpass
includes an external format resolve attachment, andpDynamicState->pDynamicStates
does not includeVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
, VkPipelineFragmentShadingRateStateCreateInfoKHR::width
must be1
-
VUID-VkGraphicsPipelineCreateInfo-externalFormatResolve-09316
If theexternalFormatResolve
feature is enabled, the pipeline requires fragment output interface state,renderPass
is not VK_NULL_HANDLE,subpass
includes an external format resolve attachment, andpDynamicState->pDynamicStates
does not includeVK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR
, VkPipelineFragmentShadingRateStateCreateInfoKHR::height
must be1
-
VUID-VkGraphicsPipelineCreateInfo-externalFormatResolve-09317
If theexternalFormatResolve
feature is enabled, the pipeline requires pre-rasterization shader state and fragment output interface state,renderPass
is not VK_NULL_HANDLE, andsubpass
includes an external format resolve attachment, the last pre-rasterization shader stage must not statically use a variable with thePrimitiveShadingRateKHR
built-in
-
VUID-VkGraphicsPipelineCreateInfo-sType-sType
sType
must beVK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO
-
VUID-VkGraphicsPipelineCreateInfo-pNext-pNext
EachpNext
member of any structure (including this one) in thepNext
chain must be eitherNULL
or a pointer to a valid instance of VkAttachmentSampleCountInfoAMD, VkExternalFormatANDROID, VkGraphicsPipelineLibraryCreateInfoEXT, VkGraphicsPipelineShaderGroupsCreateInfoNV, VkMultiviewPerViewAttributesInfoNVX, VkPipelineCompilerControlCreateInfoAMD, VkPipelineCreateFlags2CreateInfoKHR, VkPipelineCreationFeedbackCreateInfo, VkPipelineDiscardRectangleStateCreateInfoEXT, VkPipelineFragmentShadingRateEnumStateCreateInfoNV, VkPipelineFragmentShadingRateStateCreateInfoKHR, VkPipelineLibraryCreateInfoKHR, VkPipelineRenderingCreateInfo, VkPipelineRepresentativeFragmentTestStateCreateInfoNV, or VkPipelineRobustnessCreateInfoEXT -
VUID-VkGraphicsPipelineCreateInfo-sType-unique
ThesType
value of each struct in thepNext
chain must be unique -
VUID-VkGraphicsPipelineCreateInfo-flags-parameter
flags
must be a valid combination of VkPipelineCreateFlagBits values -
VUID-VkGraphicsPipelineCreateInfo-pDynamicState-parameter
IfpDynamicState
is notNULL
,pDynamicState
must be a valid pointer to a valid VkPipelineDynamicStateCreateInfo structure -
VUID-VkGraphicsPipelineCreateInfo-commonparent
Each ofbasePipelineHandle
,layout
, andrenderPass
that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice
See Also
VK_VERSION_1_0, VkPipeline, VkPipelineColorBlendStateCreateInfo, VkPipelineCreateFlags, VkPipelineDepthStencilStateCreateInfo, VkPipelineDynamicStateCreateInfo, VkPipelineInputAssemblyStateCreateInfo, VkPipelineLayout, VkPipelineMultisampleStateCreateInfo, VkPipelineRasterizationStateCreateInfo, VkPipelineShaderStageCreateInfo, VkPipelineTessellationStateCreateInfo, VkPipelineVertexInputStateCreateInfo, VkPipelineViewportStateCreateInfo, VkRenderPass, VkStructureType, vkCreateGraphicsPipelines
Document Notes
For more information, see the Vulkan Specification
This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.