blob: 599f6ffe5d601d7f28b742644dc7847fbc4320ad [file] [log] [blame]
// Copyright 2019-2021 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0
// Common Valid Usage
// Common to VkPipelineStageFlags parameters
// Set "stageMaskName" attribute to the name of the stage mask to validate
* [[VUID-{refpage}-{stageMaskName}-04090]]
If the <<features-geometryShader,geometry shaders>> feature is not
enabled, pname:{stageMaskName} must: not contain
ename:VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT
* [[VUID-{refpage}-{stageMaskName}-04091]]
If the <<features-tessellationShader,tessellation shaders>> feature is
not enabled, pname:{stageMaskName} must: not contain
ename:VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or
ename:VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
ifdef::VK_EXT_conditional_rendering[]
* [[VUID-{refpage}-{stageMaskName}-04092]]
If the <<features-conditionalRendering,conditional rendering>> feature
is not enabled, pname:{stageMaskName} must: not contain
ename:VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
endif::VK_EXT_conditional_rendering[]
ifdef::VK_EXT_fragment_density_map[]
* [[VUID-{refpage}-{stageMaskName}-04093]]
If the <<features-fragmentDensityMap,fragment density map>> feature is
not enabled, pname:{stageMaskName} must: not contain
ename:VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
endif::VK_EXT_fragment_density_map[]
ifdef::VK_EXT_transform_feedback[]
* [[VUID-{refpage}-{stageMaskName}-04094]]
If the <<features-transformFeedback,transform feedback>> feature is not
enabled, pname:{stageMaskName} must: not contain
ename:VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT
endif::VK_EXT_transform_feedback[]
ifdef::VK_NV_mesh_shader[]
* [[VUID-{refpage}-{stageMaskName}-04095]]
If the <<features-meshShader,mesh shaders>> feature is not enabled,
pname:{stageMaskName} must: not contain
ename:VK_PIPELINE_STAGE_MESH_SHADER_BIT_NV
* [[VUID-{refpage}-{stageMaskName}-04096]]
If the <<features-taskShader,task shaders>> feature is not enabled,
pname:{stageMaskName} must: not contain
ename:VK_PIPELINE_STAGE_TASK_SHADER_BIT_NV
endif::VK_NV_mesh_shader[]
ifdef::VK_NV_shading_rate_image[]
* [[VUID-{refpage}-{stageMaskName}-04097]]
If the <<features-shadingRateImage,shading rate image>> feature is not
enabled, pname:{stageMaskName} must: not contain
ename:VK_PIPELINE_STAGE_SHADING_RATE_IMAGE_BIT_NV
endif::VK_NV_shading_rate_image[]
* [[VUID-{refpage}-{stageMaskName}-04098]]
Any pipeline stage included in pname:{stageMaskName} must: be supported
by the capabilities of the queue family specified by the
pname:queueFamilyIndex member of the slink:VkCommandPoolCreateInfo
structure that was used to create the sname:VkCommandPool that
pname:commandBuffer was allocated from, as specified in the
<<synchronization-pipeline-stages-supported, table of supported pipeline
stages>>
ifdef::VK_KHR_synchronization2[]
* [[VUID-{refpage}-{stageMaskName}-03937]]
If the <<features-synchronization2, pname:synchronization2>> feature is
not enabled, pname:{stageMaskName} must: not be `0`
endif::VK_KHR_synchronization2[]
ifndef::VK_KHR_synchronization2[]
* [[VUID-{refpage}-{stageMaskName}-04996]]
pname:{stageMaskName} must: not be `0`
endif::VK_KHR_synchronization2[]
// Common Valid Usage