Valid Usage Database (1.3.280)

VUID NAMECHECKEDSPIRV-TOOLTESTTYPEAPI/STRUCTVUID TEXT
VUID-BaryCoordNoPerspAMD-BaryCoordNoPerspAMD-04157NNoneexplicitBaryCoordNoPerspAMDThe BaryCoordNoPerspAMD decoration must be used only within the Fragment Execution Model
VUID-BaryCoordNoPerspAMD-BaryCoordNoPerspAMD-04158NNoneexplicitBaryCoordNoPerspAMDThe variable decorated with BaryCoordNoPerspAMD must be declared using the Input Storage Class
VUID-BaryCoordNoPerspAMD-BaryCoordNoPerspAMD-04159NNoneexplicitBaryCoordNoPerspAMDThe variable decorated with BaryCoordNoPerspAMD must be declared as a two-component vector of 32-bit floating-point values
VUID-BaryCoordNoPerspCentroidAMD-BaryCoordNoPerspCentroidAMD-04163NNoneexplicitBaryCoordNoPerspCentroidAMDThe BaryCoordNoPerspCentroidAMD decoration must be used only within the Fragment Execution Model
VUID-BaryCoordNoPerspCentroidAMD-BaryCoordNoPerspCentroidAMD-04164NNoneexplicitBaryCoordNoPerspCentroidAMDThe variable decorated with BaryCoordNoPerspCentroidAMD must be declared using the Input Storage Class
VUID-BaryCoordNoPerspCentroidAMD-BaryCoordNoPerspCentroidAMD-04165NNoneexplicitBaryCoordNoPerspCentroidAMDThe variable decorated with BaryCoordNoPerspCentroidAMD must be declared as a three-component vector of 32-bit floating-point values
VUID-BaryCoordNoPerspSampleAMD-BaryCoordNoPerspSampleAMD-04166NNoneexplicitBaryCoordNoPerspSampleAMDThe BaryCoordNoPerspSampleAMD decoration must be used only within the Fragment Execution Model
VUID-BaryCoordNoPerspSampleAMD-BaryCoordNoPerspSampleAMD-04167NNoneexplicitBaryCoordNoPerspSampleAMDThe variable decorated with BaryCoordNoPerspSampleAMD must be declared using the Input Storage Class
VUID-BaryCoordNoPerspSampleAMD-BaryCoordNoPerspSampleAMD-04168NNoneexplicitBaryCoordNoPerspSampleAMDThe variable decorated with BaryCoordNoPerspSampleAMD must be declared as a two-component vector of 32-bit floating-point values
VUID-BaryCoordPullModelAMD-BaryCoordPullModelAMD-04169NNoneexplicitBaryCoordPullModelAMDThe BaryCoordPullModelAMD decoration must be used only within the Fragment Execution Model
VUID-BaryCoordPullModelAMD-BaryCoordPullModelAMD-04170NNoneexplicitBaryCoordPullModelAMDThe variable decorated with BaryCoordPullModelAMD must be declared using the Input Storage Class
VUID-BaryCoordPullModelAMD-BaryCoordPullModelAMD-04171NNoneexplicitBaryCoordPullModelAMDThe variable decorated with BaryCoordPullModelAMD must be declared as a three-component vector of 32-bit floating-point values
VUID-BaryCoordSmoothAMD-BaryCoordSmoothAMD-04172NNoneexplicitBaryCoordSmoothAMDThe BaryCoordSmoothAMD decoration must be used only within the Fragment Execution Model
VUID-BaryCoordSmoothAMD-BaryCoordSmoothAMD-04173NNoneexplicitBaryCoordSmoothAMDThe variable decorated with BaryCoordSmoothAMD must be declared using the Input Storage Class
VUID-BaryCoordSmoothAMD-BaryCoordSmoothAMD-04174NNoneexplicitBaryCoordSmoothAMDThe variable decorated with BaryCoordSmoothAMD must be declared as a two-component vector of 32-bit floating-point values
VUID-BaryCoordSmoothCentroidAMD-BaryCoordSmoothCentroidAMD-04175NNoneexplicitBaryCoordSmoothCentroidAMDThe BaryCoordSmoothCentroidAMD decoration must be used only within the Fragment Execution Model
VUID-BaryCoordSmoothCentroidAMD-BaryCoordSmoothCentroidAMD-04176NNoneexplicitBaryCoordSmoothCentroidAMDThe variable decorated with BaryCoordSmoothCentroidAMD must be declared using the Input Storage Class
VUID-BaryCoordSmoothCentroidAMD-BaryCoordSmoothCentroidAMD-04177NNoneexplicitBaryCoordSmoothCentroidAMDThe variable decorated with BaryCoordSmoothCentroidAMD must be declared as a two-component vector of 32-bit floating-point values
VUID-BaryCoordSmoothSampleAMD-BaryCoordSmoothSampleAMD-04178NNoneexplicitBaryCoordSmoothSampleAMDThe BaryCoordSmoothSampleAMD decoration must be used only within the Fragment Execution Model
VUID-BaryCoordSmoothSampleAMD-BaryCoordSmoothSampleAMD-04179NNoneexplicitBaryCoordSmoothSampleAMDThe variable decorated with BaryCoordSmoothSampleAMD must be declared using the Input Storage Class
VUID-BaryCoordSmoothSampleAMD-BaryCoordSmoothSampleAMD-04180NNoneexplicitBaryCoordSmoothSampleAMDThe variable decorated with BaryCoordSmoothSampleAMD must be declared as a two-component vector of 32-bit floating-point values
VUID-ClipDistancePerViewNV-ClipDistancePerViewNV-04192NNoneexplicitClipDistancePerViewNVThe ClipDistancePerViewNV decoration must be used only within the MeshNV Execution Model
VUID-ClipDistancePerViewNV-ClipDistancePerViewNV-04193NNoneexplicitClipDistancePerViewNVThe variable decorated with ClipDistancePerViewNV must be declared using the Output Storage Class
VUID-ClipDistancePerViewNV-ClipDistancePerViewNV-04194NNoneexplicitClipDistancePerViewNVThe variable decorated with ClipDistancePerViewNV must also be decorated with the PerViewNV decoration
VUID-ClipDistancePerViewNV-ClipDistancePerViewNV-04195NNoneexplicitClipDistancePerViewNVThe variable decorated with ClipDistancePerViewNV must be declared as a two-dimensional array of 32-bit floating-point values
VUID-ClusterIDHUAWEI-ClusterIDHUAWEI-07797NNoneexplicitClusterIDHUAWEIThe ClusterIDHUAWEI decoration must be used only within the ClusterCullingHUAWEI Execution Model
VUID-ClusterIDHUAWEI-ClusterIDHUAWEI-07798NNoneexplicitClusterIDHUAWEIThe variable decorated with ClusterIDHUAWEI must be declared as a scalar 32-bit integer value
VUID-ClusterShadingRateHUAWEI-ClusterShadingRateHUAWEI-09448NNoneexplicitClusterShadingRateHUAWEIThe ClusterShadingRateHUAWEI decoration must be used only within the ClusterCullingHUAWEI Execution Model
VUID-ClusterShadingRateHUAWEI-ClusterShadingRateHUAWEI-09449NNoneexplicitClusterShadingRateHUAWEIThe variable decorated with ClusterShadingRateHUAWEI must be declared as a scalar 32-bit integer value
VUID-CoalescedInputCountAMDX-CoalescedInputCountAMDX-09172NNoneexplicitCoalescedInputCountAMDXThe variable decorated with CoalescedInputCountAMDX must be declared using the Input Storage Class
VUID-CoalescedInputCountAMDX-CoalescedInputCountAMDX-09173NNoneexplicitCoalescedInputCountAMDXIf a variable is decorated with CoalescedInputCountAMDX, the CoalescingAMDX execution mode must be declared
VUID-CoalescedInputCountAMDX-CoalescedInputCountAMDX-09174NNoneexplicitCoalescedInputCountAMDXThe variable decorated with CoalescedInputCountAMDX must be declared as a scalar 32-bit integer value
VUID-CoreCountARM-CoreCountARM-07595NNoneexplicitCoreCountARMThe variable decorated with CoreCountARM must be declared using the Input Storage Class
VUID-CoreCountARM-CoreCountARM-07596NNoneexplicitCoreCountARMThe variable decorated with CoreCountARM must be declared as a scalar 32-bit integer value
VUID-CoreIDARM-CoreIDARM-07599NNoneexplicitCoreIDARMThe variable decorated with CoreIDARM must be declared using the Input Storage Class
VUID-CoreIDARM-CoreIDARM-07600NNoneexplicitCoreIDARMThe variable decorated with CoreIDARM must be declared as a scalar 32-bit integer value
VUID-CoreMaxIDARM-CoreMaxIDARM-07597NNoneexplicitCoreMaxIDARMThe variable decorated with CoreMaxIDARM must be declared using the Input Storage Class
VUID-CoreMaxIDARM-CoreMaxIDARM-07598NNoneexplicitCoreMaxIDARMThe variable decorated with CoreMaxIDARM must be declared as a scalar 32-bit integer value
VUID-CullDistancePerViewNV-CullDistancePerViewNV-04201NNoneexplicitCullDistancePerViewNVThe CullDistancePerViewNV decoration must be used only within the MeshNV Execution Model
VUID-CullDistancePerViewNV-CullDistancePerViewNV-04202NNoneexplicitCullDistancePerViewNVThe variable decorated with CullDistancePerViewNV must be declared using the Output Storage Class
VUID-CullDistancePerViewNV-CullDistancePerViewNV-04203NNoneexplicitCullDistancePerViewNVThe variable decorated with CullDistancePerViewNV must also be decorated with the PerViewNV decoration
VUID-CullDistancePerViewNV-CullDistancePerViewNV-04204NNoneexplicitCullDistancePerViewNVThe variable decorated with CullDistancePerViewNV must be declared as a two-dimensional array of 32-bit floating-point values
VUID-CurrentRayTimeNV-CurrentRayTimeNV-04942NNoneexplicitCurrentRayTimeNVThe CurrentRayTimeNV decoration must be used only within the IntersectionKHR, AnyHitKHR, ClosestHitKHR, or MissKHR Execution Model
VUID-CurrentRayTimeNV-CurrentRayTimeNV-04943NNoneexplicitCurrentRayTimeNVThe variable decorated with CurrentRayTimeNV must be declared using the Input Storage Class
VUID-CurrentRayTimeNV-CurrentRayTimeNV-04944NNoneexplicitCurrentRayTimeNVThe variable decorated with CurrentRayTimeNV must be declared as a scalar 32-bit floating-point value
VUID-FirstIndexHUAWEI-FirstIndexHUAWEI-07799NNoneexplicitFirstIndexHUAWEIThe FirstIndexHUAWEI decoration must be used only within the ClusterCullingHUAWEI Execution Model
VUID-FirstIndexHUAWEI-FirstIndexHUAWEI-07800NNoneexplicitFirstIndexHUAWEIThe variable decorated with FirstIndexHUAWEI must be declared as a scalar 32-bit integer value
VUID-FirstInstanceHUAWEI-FirstInstanceHUAWEI-07801NNoneexplicitFirstInstanceHUAWEIThe FirstInstanceHUAWEI decoration must be used only within the ClusterCullingHUAWEI Execution Model
VUID-FirstInstanceHUAWEI-FirstInstanceHUAWEI-07802NNoneexplicitFirstInstanceHUAWEIThe variable decorated with FirstInstanceHUAWEI must be declared as a scalar 32-bit integer value
VUID-FirstVertexHUAWEI-FirstVertexHUAWEI-07803NNoneexplicitFirstVertexHUAWEIThe FirstVertexHUAWEI decoration must be used only within the FirstVertexHUAWEI Execution Model
VUID-FirstVertexHUAWEI-FirstVertexHUAWEI-07804NNoneexplicitFirstVertexHUAWEIThe variable decorated with FirstVertexHUAWEI must be declared as a scalar 32-bit integer value
VUID-FragmentSizeNV-FragmentSizeNV-04226NNoneexplicitFragmentSizeNVThe FragmentSizeNV decoration must be used only within the Fragment Execution Model
VUID-FragmentSizeNV-FragmentSizeNV-04227NNoneexplicitFragmentSizeNVThe variable decorated with FragmentSizeNV must be declared using the Input Storage Class
VUID-FragmentSizeNV-FragmentSizeNV-04228NNoneexplicitFragmentSizeNVThe variable decorated with FragmentSizeNV must be declared as a two-component vector of 32-bit integer values
VUID-HitTNV-HitTNV-04245YYValidateLiterals.LiteralsKernelGoodexplicitHitTNVThe HitTNV decoration must be used only within the AnyHitNV or ClosestHitNV Execution Model
VUID-HitTNV-HitTNV-04246YYValidateLiterals.LiteralsKernelGoodexplicitHitTNVThe variable decorated with HitTNV must be declared using the Input Storage Class
VUID-HitTNV-HitTNV-04247YYValidateLiterals.LiteralsKernelGoodexplicitHitTNVThe variable decorated with HitTNV must be declared as a scalar 32-bit floating-point value
VUID-IndexCountHUAWEI-IndexCountHUAWEI-07805NNoneexplicitIndexCountHUAWEIThe IndexCountHUAWEI decoration must be used only within the ClusterCullingHUAWEI Execution Model
VUID-IndexCountHUAWEI-IndexCountHUAWEI-07806NNoneexplicitIndexCountHUAWEIThe variable decorated with IndexCountHUAWEI must be declared as a scalar 32-bit integer value
VUID-InstanceCountHUAWEI-InstanceCountHUAWEI-07807NNoneexplicitInstanceCountHUAWEIThe InstanceCountHUAWEI decoration must be used only within the ClusterCullingHUAWEI Execution Model
VUID-InstanceCountHUAWEI-InstanceCountHUAWEI-07808NNoneexplicitInstanceCountHUAWEIThe variable decorated with InstanceCountHUAWEI must be declared as a scalar 32-bit integer value
VUID-InvocationsPerPixelNV-InvocationsPerPixelNV-04260NNoneexplicitInvocationsPerPixelNVThe InvocationsPerPixelNV decoration must be used only within the Fragment Execution Model
VUID-InvocationsPerPixelNV-InvocationsPerPixelNV-04261NNoneexplicitInvocationsPerPixelNVThe variable decorated with InvocationsPerPixelNV must be declared using the Input Storage Class
VUID-InvocationsPerPixelNV-InvocationsPerPixelNV-04262NNoneexplicitInvocationsPerPixelNVThe variable decorated with InvocationsPerPixelNV must be declared as a scalar 32-bit integer value
VUID-LayerPerViewNV-LayerPerViewNV-04277NNoneexplicitLayerPerViewNVThe LayerPerViewNV decoration must be used only within the MeshNV Execution Model
VUID-LayerPerViewNV-LayerPerViewNV-04278NNoneexplicitLayerPerViewNVThe variable decorated with LayerPerViewNV must be declared using the Output Storage Class
VUID-LayerPerViewNV-LayerPerViewNV-04279NNoneexplicitLayerPerViewNVThe variable decorated with LayerPerViewNV must also be decorated with the PerViewNV decoration
VUID-LayerPerViewNV-LayerPerViewNV-04280NNoneexplicitLayerPerViewNVThe variable decorated with LayerPerViewNV must be declared as an array of scalar 32-bit integer values
VUID-MeshViewCountNV-MeshViewCountNV-04287NNoneexplicitMeshViewCountNVThe MeshViewCountNV decoration must be used only within the MeshNV or TaskNV Execution Model
VUID-MeshViewCountNV-MeshViewCountNV-04288NNoneexplicitMeshViewCountNVThe variable decorated with MeshViewCountNV must be declared using the Input Storage Class
VUID-MeshViewCountNV-MeshViewCountNV-04289NNoneexplicitMeshViewCountNVThe variable decorated with MeshViewCountNV must be declared as a scalar 32-bit integer value
VUID-MeshViewIndicesNV-MeshViewIndicesNV-04290NNoneexplicitMeshViewIndicesNVThe MeshViewIndicesNV decoration must be used only within the MeshNV or TaskNV Execution Model
VUID-MeshViewIndicesNV-MeshViewIndicesNV-04291NNoneexplicitMeshViewIndicesNVThe variable decorated with MeshViewIndicesNV must be declared using the Input Storage Class
VUID-MeshViewIndicesNV-MeshViewIndicesNV-04292NNoneexplicitMeshViewIndicesNVThe variable decorated with MeshViewIndicesNV must be declared as an array of scalar 32-bit integer values
VUID-PositionPerViewNV-PositionPerViewNV-04322NNoneexplicitPositionPerViewNVThe PositionPerViewNV decoration must be used only within the MeshNV, Vertex, TessellationControl, TessellationEvaluation, or Geometry Execution Model
VUID-PositionPerViewNV-PositionPerViewNV-04323NNoneexplicitPositionPerViewNVThe variable decorated with PositionPerViewNV within the Vertex, or MeshNV Execution Model must be declared using the Output Storage Class
VUID-PositionPerViewNV-PositionPerViewNV-04324NNoneexplicitPositionPerViewNVThe variable decorated with PositionPerViewNV within the TessellationControl, TessellationEvaluation, or Geometry Execution Model must not be declared using a Storage Class other than Input or Output
VUID-PositionPerViewNV-PositionPerViewNV-04325NNoneexplicitPositionPerViewNVThe variable decorated with PositionPerViewNV must be declared as an array of four-component vector of 32-bit floating-point values with at least as many elements as the maximum view in the subpass's view mask plus one
VUID-PositionPerViewNV-PositionPerViewNV-04326NNoneexplicitPositionPerViewNVThe array variable decorated with PositionPerViewNV must only be indexed by a constant or specialization constant
VUID-PrimitiveCountNV-PrimitiveCountNV-04327NNoneexplicitPrimitiveCountNVThe PrimitiveCountNV decoration must be used only within the MeshNV Execution Model
VUID-PrimitiveCountNV-PrimitiveCountNV-04328NNoneexplicitPrimitiveCountNVThe variable decorated with PrimitiveCountNV must be declared using the Output Storage Class
VUID-PrimitiveCountNV-PrimitiveCountNV-04329NNoneexplicitPrimitiveCountNVThe variable decorated with PrimitiveCountNV must be declared as a scalar 32-bit integer value
VUID-PrimitiveIndicesNV-OutputLinesNV-04343NNoneexplicitPrimitiveIndicesNVIf the Execution Mode is OutputLinesNV, then the array decorated with PrimitiveIndicesNV must be the size of two times the value specified by OutputPrimitivesNV
VUID-PrimitiveIndicesNV-OutputPoints-04342NNoneexplicitPrimitiveIndicesNVIf the Execution Mode is OutputPoints, then the array decorated with PrimitiveIndicesNV must be the size of the value specified by OutputPrimitivesNV
VUID-PrimitiveIndicesNV-OutputTrianglesNV-04344NNoneexplicitPrimitiveIndicesNVIf the Execution Mode is OutputTrianglesNV, then the array decorated with PrimitiveIndicesNV must be the size of three times the value specified by OutputPrimitivesNV
VUID-PrimitiveIndicesNV-PrimitiveIndicesNV-04338NNoneexplicitPrimitiveIndicesNVThe PrimitiveIndicesNV decoration must be used only within the MeshNV Execution Model
VUID-PrimitiveIndicesNV-PrimitiveIndicesNV-04339NNoneexplicitPrimitiveIndicesNVThe variable decorated with PrimitiveIndicesNV must be declared using the Output Storage Class
VUID-PrimitiveIndicesNV-PrimitiveIndicesNV-04340NNoneexplicitPrimitiveIndicesNVThe variable decorated with PrimitiveIndicesNV must be declared as an array of scalar 32-bit integer values
VUID-PrimitiveIndicesNV-PrimitiveIndicesNV-04341NNoneexplicitPrimitiveIndicesNVAll index values of the array decorated with PrimitiveIndicesNV must be in the range [0, N-1], where N is the value specified by the OutputVertices Execution Mode
VUID-SMCountNV-SMCountNV-04363NNoneexplicitSMCountNVThe variable decorated with SMCountNV must be declared using the Input Storage Class
VUID-SMCountNV-SMCountNV-04364NNoneexplicitSMCountNVThe variable decorated with SMCountNV must be declared as a scalar 32-bit integer value
VUID-SMIDNV-SMIDNV-04365NNoneexplicitSMIDNVThe variable decorated with SMIDNV must be declared using the Input Storage Class
VUID-SMIDNV-SMIDNV-04366NNoneexplicitSMIDNVThe variable decorated with SMIDNV must be declared as a scalar 32-bit integer value
VUID-ShaderIndexAMDX-ShaderIndexAMDX-09175NNoneexplicitShaderIndexAMDXThe variable decorated with ShaderIndexAMDX must be declared using the Input Storage Class
VUID-ShaderIndexAMDX-ShaderIndexAMDX-09176NNoneexplicitShaderIndexAMDXThe variable decorated with ShaderIndexAMDX must be declared as a scalar 32-bit integer value
VUID-TaskCountNV-TaskCountNV-04384NNoneexplicitTaskCountNVThe TaskCountNV decoration must be used only within the TaskNV Execution Model
VUID-TaskCountNV-TaskCountNV-04385NNoneexplicitTaskCountNVThe variable decorated with TaskCountNV must be declared using the Output Storage Class
VUID-TaskCountNV-TaskCountNV-04386NNoneexplicitTaskCountNVThe variable decorated with TaskCountNV must be declared as a scalar 32-bit integer value
VUID-VertexCountHUAWEI-VertexCountHUAWEI-07809NNoneexplicitVertexCountHUAWEIThe VertexCountHUAWEI decoration must be used only within the ClusterCullingHUAWEI Execution Model
VUID-VertexCountHUAWEI-VertexCountHUAWEI-07810NNoneexplicitVertexCountHUAWEIThe variable decorated with VertexCountHUAWEI must be declared as a scalar 32-bit integer value
VUID-VertexOffsetHUAWEI-VertexOffsetHUAWEI-07811NNoneexplicitVertexOffsetHUAWEIThe VertexOffsetHUAWEI decoration must be used only within the ClusterCullingHUAWEI Execution Model
VUID-VertexOffsetHUAWEI-VertexOffsetHUAWEI-07812NNoneexplicitVertexOffsetHUAWEIThe variable decorated with VertexOffsetHUAWEI must be declared as a scalar 32-bit integer value
VUID-ViewportMaskNV-ViewportMaskNV-04409NNoneexplicitViewportMaskNVThe ViewportMaskNV decoration must be used only within the Vertex, MeshNV, TessellationEvaluation, or Geometry Execution Model
VUID-ViewportMaskNV-ViewportMaskNV-04410NNoneexplicitViewportMaskNVThe variable decorated with ViewportMaskNV must be declared using the Output Storage Class
VUID-ViewportMaskNV-ViewportMaskNV-04411NNoneexplicitViewportMaskNVThe variable decorated with ViewportMaskNV must be declared as an array of 32-bit integer values
VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04412NNoneexplicitViewportMaskPerViewNVThe ViewportMaskPerViewNV decoration must be used only within the Vertex, MeshNV, TessellationControl, TessellationEvaluation, or Geometry Execution Model
VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04413NNoneexplicitViewportMaskPerViewNVThe variable decorated with ViewportMaskPerViewNV must be declared using the Output Storage Class
VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04414NNoneexplicitViewportMaskPerViewNVThe variable decorated with ViewportMaskPerViewNV must be declared as an array of 32-bit integer values
VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04415NNoneexplicitViewportMaskPerViewNVThe array decorated with ViewportMaskPerViewNV must be a size less than or equal to 32
VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04416NNoneexplicitViewportMaskPerViewNVThe array decorated with ViewportMaskPerViewNV must be a size greater than the maximum view in the subpass's view mask
VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04417NNoneexplicitViewportMaskPerViewNVThe array variable decorated with ViewportMaskPerViewNV must only be indexed by a constant or specialization constant
VUID-VkAccelerationStructureCreateInfoNV-compactedSize-02421YNegativeRayTracingNV.ValidateCreateAccelerationStructureexplicitVkAccelerationStructureCreateInfoNVIf compactedSize is not 0 then both info.geometryCount and info.instanceCount must be 0
VUID-VkAccelerationStructureCreateInfoNV-info-parameterNNoneimplicitVkAccelerationStructureCreateInfoNVinfo must be a valid VkAccelerationStructureInfoNV structure
VUID-VkAccelerationStructureCreateInfoNV-pNext-pNextYNoneimplicitVkAccelerationStructureCreateInfoNVpNext must be NULL or a pointer to a valid instance of VkOpaqueCaptureDescriptorDataCreateInfoEXT
VUID-VkAccelerationStructureCreateInfoNV-sType-sTypeYNoneimplicitVkAccelerationStructureCreateInfoNVsType must be VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV
VUID-VkAccelerationStructureCreateInfoNV-sType-uniqueYNoneimplicitVkAccelerationStructureCreateInfoNVThe sType value of each struct in the pNext chain must be unique
VUID-VkAccelerationStructureGeometryMotionTrianglesDataNV-sType-sTypeYNoneimplicitVkAccelerationStructureGeometryMotionTrianglesDataNVsType must be VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV
VUID-VkAccelerationStructureInfoNV-flags-02592YNegativeRayTracingNV.ValidateCreateAccelerationStructureexplicitVkAccelerationStructureInfoNVIf flags has the VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_TRACE_BIT_NV bit set, then it must not have the VK_BUILD_ACCELERATION_STRUCTURE_PREFER_FAST_BUILD_BIT_NV bit set
VUID-VkAccelerationStructureInfoNV-flags-parameterYNoneimplicitVkAccelerationStructureInfoNVflags must be a valid combination of VkBuildAccelerationStructureFlagBitsNV values
VUID-VkAccelerationStructureInfoNV-geometryCount-02422YNoneexplicitVkAccelerationStructureInfoNVgeometryCount must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxGeometryCount
VUID-VkAccelerationStructureInfoNV-instanceCount-02423YNoneexplicitVkAccelerationStructureInfoNVinstanceCount must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxInstanceCount
VUID-VkAccelerationStructureInfoNV-instanceData-02782YNegativeRayTracingNV.ValidateCmdBuildAccelerationStructureexplicitVkAccelerationStructureInfoNVIf instanceData is not VK_NULL_HANDLE, instanceData must have been created with VK_BUFFER_USAGE_RAY_TRACING_BIT_NV usage flag
VUID-VkAccelerationStructureInfoNV-maxTriangleCount-02424YNoneexplicitVkAccelerationStructureInfoNVThe total number of triangles in all geometries must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxTriangleCount
VUID-VkAccelerationStructureInfoNV-pGeometries-parameterYNoneimplicitVkAccelerationStructureInfoNVIf geometryCount is not 0, pGeometries must be a valid pointer to an array of geometryCount valid VkGeometryNV structures
VUID-VkAccelerationStructureInfoNV-pNext-pNextYNoneimplicitVkAccelerationStructureInfoNVpNext must be NULL
VUID-VkAccelerationStructureInfoNV-sType-sTypeYNoneimplicitVkAccelerationStructureInfoNVsType must be VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV
VUID-VkAccelerationStructureInfoNV-scratch-02781YNegativeRayTracingNV.ValidateCmdBuildAccelerationStructureexplicitVkAccelerationStructureInfoNVscratch must have been created with VK_BUFFER_USAGE_RAY_TRACING_BIT_NV usage flag
VUID-VkAccelerationStructureInfoNV-type-02425YNegativeRayTracingNV.ValidateCreateAccelerationStructureexplicitVkAccelerationStructureInfoNVIf type is VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV then geometryCount must be 0
VUID-VkAccelerationStructureInfoNV-type-02426YNegativeRayTracingNV.ValidateCreateAccelerationStructureexplicitVkAccelerationStructureInfoNVIf type is VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV then instanceCount must be 0
VUID-VkAccelerationStructureInfoNV-type-02786YNegativeRayTracingNV.ValidateCreateAccelerationStructureexplicitVkAccelerationStructureInfoNVIf type is VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV then the geometryType member of each geometry in pGeometries must be the same
VUID-VkAccelerationStructureInfoNV-type-04623YNegativeRayTracingNV.ValidateCreateAccelerationStructureexplicitVkAccelerationStructureInfoNVtype must not be VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR
VUID-VkAccelerationStructureInfoNV-type-parameterNNoneimplicitVkAccelerationStructureInfoNVtype must be a valid VkAccelerationStructureTypeNV value
VUID-VkAccelerationStructureMatrixMotionInstanceNV-flags-parameterNNoneimplicitVkAccelerationStructureMatrixMotionInstanceNVflags must be a valid combination of VkGeometryInstanceFlagBitsKHR values
VUID-VkAccelerationStructureMemoryRequirementsInfoNV-accelerationStructure-parameterYNoneimplicitVkAccelerationStructureMemoryRequirementsInfoNVaccelerationStructure must be a valid VkAccelerationStructureNV handle
VUID-VkAccelerationStructureMemoryRequirementsInfoNV-pNext-pNextYNoneimplicitVkAccelerationStructureMemoryRequirementsInfoNVpNext must be NULL
VUID-VkAccelerationStructureMemoryRequirementsInfoNV-sType-sTypeYNoneimplicitVkAccelerationStructureMemoryRequirementsInfoNVsType must be VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV
VUID-VkAccelerationStructureMemoryRequirementsInfoNV-type-parameterYNoneimplicitVkAccelerationStructureMemoryRequirementsInfoNVtype must be a valid VkAccelerationStructureMemoryRequirementsTypeNV value
VUID-VkAccelerationStructureMotionInfoNV-flags-zerobitmaskYNoneimplicitVkAccelerationStructureMotionInfoNVflags must be 0
VUID-VkAccelerationStructureMotionInfoNV-sType-sTypeYNoneimplicitVkAccelerationStructureMotionInfoNVsType must be VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV
VUID-VkAccelerationStructureMotionInstanceNV-flags-zerobitmaskNNoneimplicitVkAccelerationStructureMotionInstanceNVflags must be 0
VUID-VkAccelerationStructureMotionInstanceNV-matrixMotionInstance-parameterNNoneimplicitVkAccelerationStructureMotionInstanceNVIf type is VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_MATRIX_MOTION_NV, the matrixMotionInstance member of data must be a valid VkAccelerationStructureMatrixMotionInstanceNV structure
VUID-VkAccelerationStructureMotionInstanceNV-srtMotionInstance-parameterNNoneimplicitVkAccelerationStructureMotionInstanceNVIf type is VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_SRT_MOTION_NV, the srtMotionInstance member of data must be a valid VkAccelerationStructureSRTMotionInstanceNV structure
VUID-VkAccelerationStructureMotionInstanceNV-staticInstance-parameterNNoneimplicitVkAccelerationStructureMotionInstanceNVIf type is VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV, the staticInstance member of data must be a valid VkAccelerationStructureInstanceKHR structure
VUID-VkAccelerationStructureMotionInstanceNV-type-parameterNNoneimplicitVkAccelerationStructureMotionInstanceNVtype must be a valid VkAccelerationStructureMotionInstanceTypeNV value
VUID-VkAccelerationStructureSRTMotionInstanceNV-flags-parameterNNoneimplicitVkAccelerationStructureSRTMotionInstanceNVflags must be a valid combination of VkGeometryInstanceFlagBitsKHR values
VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-displacementBiasAndScaleFormat-09501NNoneexplicitVkAccelerationStructureTrianglesDisplacementMicromapNVdisplacementBiasAndScaleFormat must not be VK_FORMAT_UNDEFINED
VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-displacementBiasAndScaleFormat-parameterYNoneimplicitVkAccelerationStructureTrianglesDisplacementMicromapNVdisplacementBiasAndScaleFormat must be a valid VkFormat value
VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-displacementVectorFormat-09502NNoneexplicitVkAccelerationStructureTrianglesDisplacementMicromapNVdisplacementVectorFormat must not be VK_FORMAT_UNDEFINED
VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-displacementVectorFormat-parameterYNoneimplicitVkAccelerationStructureTrianglesDisplacementMicromapNVdisplacementVectorFormat must be a valid VkFormat value
VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-indexType-parameterYNoneimplicitVkAccelerationStructureTrianglesDisplacementMicromapNVindexType must be a valid VkIndexType value
VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-micromap-parameterNNoneimplicitVkAccelerationStructureTrianglesDisplacementMicromapNVIf micromap is not VK_NULL_HANDLE, micromap must be a valid VkMicromapEXT handle
VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-pUsageCounts-07992NNoneexplicitVkAccelerationStructureTrianglesDisplacementMicromapNVOnly one of pUsageCounts or ppUsageCounts can be a valid pointer, the other must be NULL
VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-pUsageCounts-parameterYNoneimplicitVkAccelerationStructureTrianglesDisplacementMicromapNVIf usageCountsCount is not 0, and pUsageCounts is not NULL, pUsageCounts must be a valid pointer to an array of usageCountsCount VkMicromapUsageEXT structures
VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-ppUsageCounts-parameterYNoneimplicitVkAccelerationStructureTrianglesDisplacementMicromapNVIf usageCountsCount is not 0, and ppUsageCounts is not NULL, ppUsageCounts must be a valid pointer to an array of usageCountsCount valid pointers to VkMicromapUsageEXT structures
VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-sType-sTypeYNoneimplicitVkAccelerationStructureTrianglesDisplacementMicromapNVsType must be VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV
VUID-VkAmigoProfilingSubmitInfoSEC-sType-sTypeYNoneimplicitVkAmigoProfilingSubmitInfoSECsType must be VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC
VUID-VkAndroidHardwareBufferFormatProperties2ANDROID-sType-sTypeYNoneimplicitVkAndroidHardwareBufferFormatProperties2ANDROIDsType must be VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID
VUID-VkAndroidHardwareBufferFormatPropertiesANDROID-sType-sTypeYNoneimplicitVkAndroidHardwareBufferFormatPropertiesANDROIDsType must be VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID
VUID-VkAndroidHardwareBufferFormatResolvePropertiesANDROID-sType-sTypeYNoneimplicitVkAndroidHardwareBufferFormatResolvePropertiesANDROIDsType must be VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID
VUID-VkAndroidHardwareBufferPropertiesANDROID-pNext-pNextYNoneimplicitVkAndroidHardwareBufferPropertiesANDROIDEach pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkAndroidHardwareBufferFormatProperties2ANDROID, VkAndroidHardwareBufferFormatPropertiesANDROID, or VkAndroidHardwareBufferFormatResolvePropertiesANDROID
VUID-VkAndroidHardwareBufferPropertiesANDROID-sType-sTypeYNoneimplicitVkAndroidHardwareBufferPropertiesANDROIDsType must be VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID
VUID-VkAndroidHardwareBufferPropertiesANDROID-sType-uniqueYNoneimplicitVkAndroidHardwareBufferPropertiesANDROIDThe sType value of each struct in the pNext chain must be unique
VUID-VkAndroidHardwareBufferUsageANDROID-sType-sTypeYNoneimplicitVkAndroidHardwareBufferUsageANDROIDsType must be VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID
VUID-VkAttachmentSampleCountInfoAMD-sType-sTypeYNoneimplicitVkAttachmentSampleCountInfoAMDsType must be VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD
VUID-VkBindAccelerationStructureMemoryInfoNV-accelerationStructure-03620YNegativeRayTracingNV.ValidateBindAccelerationStructureexplicitVkBindAccelerationStructureMemoryInfoNVaccelerationStructure must not already be backed by a memory object
VUID-VkBindAccelerationStructureMemoryInfoNV-accelerationStructure-parameterYNoneimplicitVkBindAccelerationStructureMemoryInfoNVaccelerationStructure must be a valid VkAccelerationStructureNV handle
VUID-VkBindAccelerationStructureMemoryInfoNV-commonparentYNoneimplicitVkBindAccelerationStructureMemoryInfoNVBoth of accelerationStructure, and memory must have been created, allocated, or retrieved from the same VkDevice
VUID-VkBindAccelerationStructureMemoryInfoNV-memory-03622YNegativeRayTracingNV.ValidateBindAccelerationStructureexplicitVkBindAccelerationStructureMemoryInfoNVmemory must have been allocated using one of the memory types allowed in the memoryTypeBits member of the VkMemoryRequirements structure returned from a call to vkGetAccelerationStructureMemoryRequirementsNV with accelerationStructure and type of VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV
VUID-VkBindAccelerationStructureMemoryInfoNV-memory-parameterYNegativeRayTracingNV.ValidateBindAccelerationStructureimplicitVkBindAccelerationStructureMemoryInfoNVmemory must be a valid VkDeviceMemory handle
VUID-VkBindAccelerationStructureMemoryInfoNV-memoryOffset-03621YNegativeRayTracingNV.ValidateBindAccelerationStructureexplicitVkBindAccelerationStructureMemoryInfoNVmemoryOffset must be less than the size of memory
VUID-VkBindAccelerationStructureMemoryInfoNV-memoryOffset-03623YNegativeRayTracingNV.ValidateBindAccelerationStructureexplicitVkBindAccelerationStructureMemoryInfoNVmemoryOffset must be an integer multiple of the alignment member of the VkMemoryRequirements structure returned from a call to vkGetAccelerationStructureMemoryRequirementsNV with accelerationStructure and type of VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV
VUID-VkBindAccelerationStructureMemoryInfoNV-pDeviceIndices-parameterYNoneimplicitVkBindAccelerationStructureMemoryInfoNVIf deviceIndexCount is not 0, pDeviceIndices must be a valid pointer to an array of deviceIndexCount uint32_t values
VUID-VkBindAccelerationStructureMemoryInfoNV-pNext-pNextYNoneimplicitVkBindAccelerationStructureMemoryInfoNVpNext must be NULL
VUID-VkBindAccelerationStructureMemoryInfoNV-sType-sTypeYNoneimplicitVkBindAccelerationStructureMemoryInfoNVsType must be VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV
VUID-VkBindAccelerationStructureMemoryInfoNV-size-03624YNegativeRayTracingNV.ValidateBindAccelerationStructureexplicitVkBindAccelerationStructureMemoryInfoNVThe size member of the VkMemoryRequirements structure returned from a call to vkGetAccelerationStructureMemoryRequirementsNV with accelerationStructure and type of VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_OBJECT_NV must be less than or equal to the size of memory minus memoryOffset
VUID-VkBindIndexBufferIndirectCommandNV-None-02946NNoneexplicitVkBindIndexBufferIndirectCommandNVThe buffer's usage flag from which the address was acquired must have the VK_BUFFER_USAGE_INDEX_BUFFER_BIT bit set
VUID-VkBindIndexBufferIndirectCommandNV-None-02948NNoneexplicitVkBindIndexBufferIndirectCommandNVEach element of the buffer from which the address was acquired and that is non-sparse must be bound completely and contiguously to a single VkDeviceMemory object
VUID-VkBindIndexBufferIndirectCommandNV-bufferAddress-02947NNoneexplicitVkBindIndexBufferIndirectCommandNVThe bufferAddress must be aligned to the indexType used
VUID-VkBindIndexBufferIndirectCommandNV-indexType-parameterNNoneimplicitVkBindIndexBufferIndirectCommandNVindexType must be a valid VkIndexType value
VUID-VkBindPipelineIndirectCommandNV-None-09092NNoneexplicitVkBindPipelineIndirectCommandNVThe referenced pipeline must have been created with VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV
VUID-VkBindPipelineIndirectCommandNV-None-09093NNoneexplicitVkBindPipelineIndirectCommandNVThe referenced pipeline must have been updated with vkCmdUpdatePipelineIndirectBufferNV
VUID-VkBindPipelineIndirectCommandNV-None-09094NNoneexplicitVkBindPipelineIndirectCommandNVThe referenced pipeline's address must have been queried with vkGetPipelineIndirectDeviceAddressNV
VUID-VkBindPipelineIndirectCommandNV-deviceGeneratedComputePipelines-09091NNoneexplicitVkBindPipelineIndirectCommandNVThe VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedComputePipelines feature must be enabled
VUID-VkBindShaderGroupIndirectCommandNV-None-02944NNoneexplicitVkBindShaderGroupIndirectCommandNVThe current bound graphics pipeline, as well as the pipelines it may reference, must have been created with VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV
VUID-VkBindShaderGroupIndirectCommandNV-index-02945NNoneexplicitVkBindShaderGroupIndirectCommandNVThe index must be within range of the accessible shader groups of the current bound graphics pipeline. See vkCmdBindPipelineShaderGroupNV for further details
VUID-VkBindVertexBufferIndirectCommandNV-None-02949NNoneexplicitVkBindVertexBufferIndirectCommandNVThe buffer's usage flag from which the address was acquired must have the VK_BUFFER_USAGE_VERTEX_BUFFER_BIT bit set
VUID-VkBindVertexBufferIndirectCommandNV-None-02950NNoneexplicitVkBindVertexBufferIndirectCommandNVEach element of the buffer from which the address was acquired and that is non-sparse must be bound completely and contiguously to a single VkDeviceMemory object
VUID-VkBlitImageCubicWeightsInfoQCOM-cubicWeights-parameterYNoneimplicitVkBlitImageCubicWeightsInfoQCOMcubicWeights must be a valid VkCubicFilterWeightsQCOM value
VUID-VkBlitImageCubicWeightsInfoQCOM-sType-sTypeYNoneimplicitVkBlitImageCubicWeightsInfoQCOMsType must be VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM
VUID-VkBufferCollectionBufferCreateInfoFUCHSIA-collection-parameterYNoneimplicitVkBufferCollectionBufferCreateInfoFUCHSIAcollection must be a valid VkBufferCollectionFUCHSIA handle
VUID-VkBufferCollectionBufferCreateInfoFUCHSIA-index-06388NNoneexplicitVkBufferCollectionBufferCreateInfoFUCHSIAindex must be less than VkBufferCollectionPropertiesFUCHSIA::bufferCount
VUID-VkBufferCollectionBufferCreateInfoFUCHSIA-sType-sTypeYNoneimplicitVkBufferCollectionBufferCreateInfoFUCHSIAsType must be VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA
VUID-VkBufferCollectionConstraintsInfoFUCHSIA-pNext-pNextYNoneimplicitVkBufferCollectionConstraintsInfoFUCHSIApNext must be NULL
VUID-VkBufferCollectionConstraintsInfoFUCHSIA-sType-sTypeYNoneimplicitVkBufferCollectionConstraintsInfoFUCHSIAsType must be VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA
VUID-VkBufferCollectionCreateInfoFUCHSIA-collectionToken-06393NNoneexplicitVkBufferCollectionCreateInfoFUCHSIAcollectionToken must be a valid zx_handle_t to a Zircon channel allocated from Sysmem (fuchsia.sysmem.Allocator/AllocateSharedCollection) with ZX_DEFAULT_CHANNEL_RIGHTS rights
VUID-VkBufferCollectionCreateInfoFUCHSIA-pNext-pNextYNoneimplicitVkBufferCollectionCreateInfoFUCHSIApNext must be NULL
VUID-VkBufferCollectionCreateInfoFUCHSIA-sType-sTypeYNoneimplicitVkBufferCollectionCreateInfoFUCHSIAsType must be VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA
VUID-VkBufferCollectionImageCreateInfoFUCHSIA-collection-parameterYNoneimplicitVkBufferCollectionImageCreateInfoFUCHSIAcollection must be a valid VkBufferCollectionFUCHSIA handle
VUID-VkBufferCollectionImageCreateInfoFUCHSIA-index-06391NNoneexplicitVkBufferCollectionImageCreateInfoFUCHSIAindex must be less than VkBufferCollectionPropertiesFUCHSIA::bufferCount
VUID-VkBufferCollectionImageCreateInfoFUCHSIA-sType-sTypeYNoneimplicitVkBufferCollectionImageCreateInfoFUCHSIAsType must be VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA
VUID-VkBufferCollectionPropertiesFUCHSIA-pNext-pNextYNoneimplicitVkBufferCollectionPropertiesFUCHSIApNext must be NULL
VUID-VkBufferCollectionPropertiesFUCHSIA-sType-sTypeYNoneimplicitVkBufferCollectionPropertiesFUCHSIAsType must be VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA
VUID-VkBufferConstraintsInfoFUCHSIA-bufferCollectionConstraints-parameterNNoneimplicitVkBufferConstraintsInfoFUCHSIAbufferCollectionConstraints must be a valid VkBufferCollectionConstraintsInfoFUCHSIA structure
VUID-VkBufferConstraintsInfoFUCHSIA-createInfo-parameterNNoneimplicitVkBufferConstraintsInfoFUCHSIAcreateInfo must be a valid VkBufferCreateInfo structure
VUID-VkBufferConstraintsInfoFUCHSIA-pNext-pNextYNoneimplicitVkBufferConstraintsInfoFUCHSIApNext must be NULL
VUID-VkBufferConstraintsInfoFUCHSIA-requiredFormatFeatures-06404NNoneexplicitVkBufferConstraintsInfoFUCHSIAThe requiredFormatFeatures bitmask of VkFormatFeatureFlagBits must be chosen from among the buffer compatible format features listed in buffer compatible format features
VUID-VkBufferConstraintsInfoFUCHSIA-requiredFormatFeatures-parameterYNoneimplicitVkBufferConstraintsInfoFUCHSIArequiredFormatFeatures must be a valid combination of VkFormatFeatureFlagBits values
VUID-VkBufferConstraintsInfoFUCHSIA-sType-sTypeYNoneimplicitVkBufferConstraintsInfoFUCHSIAsType must be VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA
VUID-VkCheckpointData2NV-pNext-pNextYNoneimplicitVkCheckpointData2NVpNext must be NULL
VUID-VkCheckpointData2NV-sType-sTypeYNoneimplicitVkCheckpointData2NVsType must be VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV
VUID-VkCheckpointDataNV-pNext-pNextYNoneimplicitVkCheckpointDataNVpNext must be NULL
VUID-VkCheckpointDataNV-sType-sTypeYNoneimplicitVkCheckpointDataNVsType must be VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV
VUID-VkCoarseSampleLocationNV-pixelX-02078YNegativeFragmentShadingRate.ShadingRateImageNVexplicitVkCoarseSampleLocationNVpixelX must be less than the width (in pixels) of the fragment
VUID-VkCoarseSampleLocationNV-pixelY-02079YNegativeFragmentShadingRate.ShadingRateImageNVexplicitVkCoarseSampleLocationNVpixelY must be less than the height (in pixels) of the fragment
VUID-VkCoarseSampleLocationNV-sample-02080YNegativeFragmentShadingRate.ShadingRateImageNVexplicitVkCoarseSampleLocationNVsample must be less than the number of coverage samples in each pixel belonging to the fragment
VUID-VkCoarseSampleOrderCustomNV-pSampleLocations-02077YNegativeFragmentShadingRate.ShadingRateImageNVexplicitVkCoarseSampleOrderCustomNVThe array pSampleLocations must contain exactly one entry for every combination of valid values for pixelX, pixelY, and sample in the structure VkCoarseSampleOrderCustomNV
VUID-VkCoarseSampleOrderCustomNV-pSampleLocations-parameterYNoneimplicitVkCoarseSampleOrderCustomNVpSampleLocations must be a valid pointer to an array of sampleLocationCount VkCoarseSampleLocationNV structures
VUID-VkCoarseSampleOrderCustomNV-sampleCount-02074YNegativeFragmentShadingRate.ShadingRateImageNVexplicitVkCoarseSampleOrderCustomNVsampleCount must correspond to a sample count enumerated in VkSampleCountFlags whose corresponding bit is set in VkPhysicalDeviceLimits::framebufferNoAttachmentsSampleCounts
VUID-VkCoarseSampleOrderCustomNV-sampleLocationCount-02075YNegativeFragmentShadingRate.ShadingRateImageNVexplicitVkCoarseSampleOrderCustomNVsampleLocationCount must be equal to the product of sampleCount, the fragment width for shadingRate, and the fragment height for shadingRate
VUID-VkCoarseSampleOrderCustomNV-sampleLocationCount-02076YNegativeFragmentShadingRate.ShadingRateImageNVexplicitVkCoarseSampleOrderCustomNVsampleLocationCount must be less than or equal to the value of VkPhysicalDeviceShadingRateImagePropertiesNV::shadingRateMaxCoarseSamples
VUID-VkCoarseSampleOrderCustomNV-sampleLocationCount-arraylengthYNoneimplicitVkCoarseSampleOrderCustomNVsampleLocationCount must be greater than 0
VUID-VkCoarseSampleOrderCustomNV-shadingRate-02073YNegativeFragmentShadingRate.ShadingRateImageNVexplicitVkCoarseSampleOrderCustomNVshadingRate must be a shading rate that generates fragments with more than one pixel
VUID-VkCoarseSampleOrderCustomNV-shadingRate-parameterYNoneimplicitVkCoarseSampleOrderCustomNVshadingRate must be a valid VkShadingRatePaletteEntryNV value
VUID-VkCommandBufferInheritanceRenderPassTransformInfoQCOM-sType-sTypeYNoneimplicitVkCommandBufferInheritanceRenderPassTransformInfoQCOMsType must be VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM
VUID-VkCommandBufferInheritanceRenderPassTransformInfoQCOM-transform-02864NNoneexplicitVkCommandBufferInheritanceRenderPassTransformInfoQCOMtransform must be VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR, VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR, VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR, or VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR
VUID-VkCommandBufferInheritanceViewportScissorInfoNV-sType-sTypeYNoneimplicitVkCommandBufferInheritanceViewportScissorInfoNVsType must be VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV
VUID-VkCommandBufferInheritanceViewportScissorInfoNV-viewportScissor2D-04782YNegativeViewportInheritance.MissingFeatureexplicitVkCommandBufferInheritanceViewportScissorInfoNVIf the inheritedViewportScissor2D feature is not enabled, viewportScissor2D must be VK_FALSE
VUID-VkCommandBufferInheritanceViewportScissorInfoNV-viewportScissor2D-04783YNegativeViewportInheritance.ScissorMissingFeatureexplicitVkCommandBufferInheritanceViewportScissorInfoNVIf the multiViewport feature is not enabled and viewportScissor2D is VK_TRUE, then viewportDepthCount must be 1
VUID-VkCommandBufferInheritanceViewportScissorInfoNV-viewportScissor2D-04784YNegativeViewportInheritance.BasicUsageexplicitVkCommandBufferInheritanceViewportScissorInfoNVIf viewportScissor2D is VK_TRUE, then viewportDepthCount must be greater than 0
VUID-VkCommandBufferInheritanceViewportScissorInfoNV-viewportScissor2D-04785NNoneexplicitVkCommandBufferInheritanceViewportScissorInfoNVIf viewportScissor2D is VK_TRUE, then pViewportDepths must be a valid pointer to an array of viewportDepthCount valid VkViewport structures, except any requirements on x, y, width, and height do not apply
VUID-VkCommandBufferInheritanceViewportScissorInfoNV-viewportScissor2D-04786YNegativeViewportInheritance.BasicUsageexplicitVkCommandBufferInheritanceViewportScissorInfoNVIf viewportScissor2D is VK_TRUE, then the command buffer must be recorded with the VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT
VUID-VkComputePipelineIndirectBufferInfoNV-deviceAddress-09011NNoneexplicitVkComputePipelineIndirectBufferInfoNVdeviceAddress must be aligned to the VkMemoryRequirements2::alignment, as returned by vkGetPipelineIndirectMemoryRequirementsNV
VUID-VkComputePipelineIndirectBufferInfoNV-deviceAddress-09012NNoneexplicitVkComputePipelineIndirectBufferInfoNVdeviceAddress must have been allocated from a buffer that was created with usage VK_BUFFER_USAGE_TRANSFER_DST_BIT and VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT
VUID-VkComputePipelineIndirectBufferInfoNV-deviceGeneratedComputePipelines-09009NNoneexplicitVkComputePipelineIndirectBufferInfoNVThe VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedComputePipelines feature must be enabled
VUID-VkComputePipelineIndirectBufferInfoNV-flags-09010NNoneexplicitVkComputePipelineIndirectBufferInfoNVThe pipeline creation flags in VkComputePipelineCreateInfo::flags must include VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV
VUID-VkComputePipelineIndirectBufferInfoNV-pipelineDeviceAddressCaptureReplay-09014NNoneexplicitVkComputePipelineIndirectBufferInfoNVIf pipelineDeviceAddressCaptureReplay is non-zero then the VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedComputeCaptureReplay feature must be enabled
VUID-VkComputePipelineIndirectBufferInfoNV-pipelineDeviceAddressCaptureReplay-09015NNoneexplicitVkComputePipelineIndirectBufferInfoNVIf pipelineDeviceAddressCaptureReplay is non-zero then that address must have been allocated with flag VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT set
VUID-VkComputePipelineIndirectBufferInfoNV-pipelineDeviceAddressCaptureReplay-09016NNoneexplicitVkComputePipelineIndirectBufferInfoNVIf pipelineDeviceAddressCaptureReplay is non-zero, the pipeline must have been recreated for replay
VUID-VkComputePipelineIndirectBufferInfoNV-pipelineDeviceAddressCaptureReplay-09017NNoneexplicitVkComputePipelineIndirectBufferInfoNVpipelineDeviceAddressCaptureReplay must satisfy the alignment and size requirements similar to deviceAddress
VUID-VkComputePipelineIndirectBufferInfoNV-sType-sTypeYNoneimplicitVkComputePipelineIndirectBufferInfoNVsType must be VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV
VUID-VkComputePipelineIndirectBufferInfoNV-size-09013NNoneexplicitVkComputePipelineIndirectBufferInfoNVsize must be greater than or equal to the VkMemoryRequirements2::size, as returned by vkGetPipelineIndirectMemoryRequirementsNV
VUID-VkCooperativeMatrixPropertiesNV-pNext-pNextYNoneimplicitVkCooperativeMatrixPropertiesNVpNext must be NULL
VUID-VkCooperativeMatrixPropertiesNV-sType-sTypeYNoneimplicitVkCooperativeMatrixPropertiesNVsType must be VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV
VUID-VkCopyCommandTransformInfoQCOM-sType-sTypeYNoneimplicitVkCopyCommandTransformInfoQCOMsType must be VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM
VUID-VkCopyCommandTransformInfoQCOM-transform-04560NNoneexplicitVkCopyCommandTransformInfoQCOMtransform must be VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR, VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR, VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR, or VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR
VUID-VkCopyMemoryIndirectCommandNV-dstAddress-07658NNoneexplicitVkCopyMemoryIndirectCommandNVThe dstAddress must be 4 byte aligned
VUID-VkCopyMemoryIndirectCommandNV-size-07659NNoneexplicitVkCopyMemoryIndirectCommandNVThe size must be 4 byte aligned
VUID-VkCopyMemoryIndirectCommandNV-srcAddress-07657NNoneexplicitVkCopyMemoryIndirectCommandNVThe srcAddress must be 4 byte aligned
VUID-VkCopyMemoryToImageIndirectCommandNV-bufferImageHeight-07680NNoneexplicitVkCopyMemoryToImageIndirectCommandNVbufferImageHeight must be 0, or greater than or equal to the height member of imageExtent
VUID-VkCopyMemoryToImageIndirectCommandNV-bufferRowLength-07679NNoneexplicitVkCopyMemoryToImageIndirectCommandNVbufferRowLength must be 0, or greater than or equal to the width member of imageExtent
VUID-VkCopyMemoryToImageIndirectCommandNV-imageExtent-07682NNoneexplicitVkCopyMemoryToImageIndirectCommandNVimageExtent must specify a valid region in the destination image and can be 0
VUID-VkCopyMemoryToImageIndirectCommandNV-imageOffset-07681NNoneexplicitVkCopyMemoryToImageIndirectCommandNVimageOffset must specify a valid offset in the destination image
VUID-VkCopyMemoryToImageIndirectCommandNV-imageSubresource-parameterYNoneimplicitVkCopyMemoryToImageIndirectCommandNVimageSubresource must be a valid VkImageSubresourceLayers structure
VUID-VkCopyMemoryToImageIndirectCommandNV-srcAddress-07678NNoneexplicitVkCopyMemoryToImageIndirectCommandNVThe srcAddress must be 4 byte aligned
VUID-VkCuFunctionCreateInfoNVX-module-parameterYNoneimplicitVkCuFunctionCreateInfoNVXmodule must be a valid VkCuModuleNVX handle
VUID-VkCuFunctionCreateInfoNVX-pName-parameterYNoneimplicitVkCuFunctionCreateInfoNVXpName must be a null-terminated UTF-8 string
VUID-VkCuFunctionCreateInfoNVX-pNext-pNextYNoneimplicitVkCuFunctionCreateInfoNVXpNext must be NULL
VUID-VkCuFunctionCreateInfoNVX-sType-sTypeYNoneimplicitVkCuFunctionCreateInfoNVXsType must be VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX
VUID-VkCuLaunchInfoNVX-function-parameterYNoneimplicitVkCuLaunchInfoNVXfunction must be a valid VkCuFunctionNVX handle
VUID-VkCuLaunchInfoNVX-pExtras-parameterYNoneimplicitVkCuLaunchInfoNVXIf extraCount is not 0, pExtras must be a valid pointer to an array of extraCount bytes
VUID-VkCuLaunchInfoNVX-pNext-pNextYNoneimplicitVkCuLaunchInfoNVXpNext must be NULL
VUID-VkCuLaunchInfoNVX-pParams-parameterYNoneimplicitVkCuLaunchInfoNVXIf paramCount is not 0, pParams must be a valid pointer to an array of paramCount bytes
VUID-VkCuLaunchInfoNVX-sType-sTypeYNoneimplicitVkCuLaunchInfoNVXsType must be VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX
VUID-VkCuModuleCreateInfoNVX-pData-parameterYNoneimplicitVkCuModuleCreateInfoNVXIf dataSize is not 0, pData must be a valid pointer to an array of dataSize bytes
VUID-VkCuModuleCreateInfoNVX-pNext-pNextYNoneimplicitVkCuModuleCreateInfoNVXpNext must be NULL
VUID-VkCuModuleCreateInfoNVX-sType-sTypeYNoneimplicitVkCuModuleCreateInfoNVXsType must be VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX
VUID-VkCudaFunctionCreateInfoNV-module-parameterYNoneimplicitVkCudaFunctionCreateInfoNVmodule must be a valid VkCudaModuleNV handle
VUID-VkCudaFunctionCreateInfoNV-pName-parameterYNoneimplicitVkCudaFunctionCreateInfoNVpName must be a null-terminated UTF-8 string
VUID-VkCudaFunctionCreateInfoNV-pNext-pNextYNoneimplicitVkCudaFunctionCreateInfoNVpNext must be NULL
VUID-VkCudaFunctionCreateInfoNV-sType-sTypeYNoneimplicitVkCudaFunctionCreateInfoNVsType must be VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV
VUID-VkCudaLaunchInfoNV-extraCount-09411NNoneexplicitVkCudaLaunchInfoNVextraCount must be 0
VUID-VkCudaLaunchInfoNV-function-parameterYNoneimplicitVkCudaLaunchInfoNVfunction must be a valid VkCudaFunctionNV handle
VUID-VkCudaLaunchInfoNV-gridDimX-09406NNoneexplicitVkCudaLaunchInfoNVgridDimX must be less than or equal to VkPhysicalDeviceLimits::maxComputeWorkGroupCount[0]
VUID-VkCudaLaunchInfoNV-gridDimY-09407NNoneexplicitVkCudaLaunchInfoNVgridDimY must be less than or equal to VkPhysicalDeviceLimits::maxComputeWorkGroupCount[1]
VUID-VkCudaLaunchInfoNV-gridDimZ-09408NNoneexplicitVkCudaLaunchInfoNVgridDimZ must be less than or equal to VkPhysicalDeviceLimits::maxComputeWorkGroupCount[2]
VUID-VkCudaLaunchInfoNV-pExtras-09412NNoneexplicitVkCudaLaunchInfoNVpExtras must be NULL
VUID-VkCudaLaunchInfoNV-pNext-pNextYNoneimplicitVkCudaLaunchInfoNVpNext must be NULL
VUID-VkCudaLaunchInfoNV-pParams-09410NNoneexplicitVkCudaLaunchInfoNVpParams must be a pointer to a table of paramCount parameters, corresponding to the arguments of function.
VUID-VkCudaLaunchInfoNV-paramCount-09409NNoneexplicitVkCudaLaunchInfoNVparamCount must be the total amount of parameters listed in the pParams table.
VUID-VkCudaLaunchInfoNV-sType-sTypeYNoneimplicitVkCudaLaunchInfoNVsType must be VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV
VUID-VkCudaModuleCreateInfoNV-dataSize-09413NNoneexplicitVkCudaModuleCreateInfoNVdataSize must be the total size in bytes of the PTX files or binary cache passed to pData.
VUID-VkCudaModuleCreateInfoNV-dataSize-arraylengthYNoneimplicitVkCudaModuleCreateInfoNVdataSize must be greater than 0
VUID-VkCudaModuleCreateInfoNV-pData-parameterYNoneimplicitVkCudaModuleCreateInfoNVpData must be a valid pointer to an array of dataSize bytes
VUID-VkCudaModuleCreateInfoNV-pNext-pNextYNoneimplicitVkCudaModuleCreateInfoNVpNext must be NULL
VUID-VkCudaModuleCreateInfoNV-sType-sTypeYNoneimplicitVkCudaModuleCreateInfoNVsType must be VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV
VUID-VkDecompressMemoryRegionNV-decompressedSize-07689NNoneexplicitVkDecompressMemoryRegionNVThe decompressedSize must be large enough to hold the decompressed data based on the decompressionMethod
VUID-VkDecompressMemoryRegionNV-decompressionMethod-07690NNoneexplicitVkDecompressMemoryRegionNVThe decompressionMethod must have a single bit set
VUID-VkDecompressMemoryRegionNV-decompressionMethod-09395NNoneexplicitVkDecompressMemoryRegionNVIf decompressionMethod is VK_MEMORY_DECOMPRESSION_METHOD_GDEFLATE_1_0_BIT_NV, then decompressedSize must be less than or equal to 65536 bytes
VUID-VkDecompressMemoryRegionNV-decompressionMethod-parameterYNoneimplicitVkDecompressMemoryRegionNVdecompressionMethod must be a valid combination of VkMemoryDecompressionMethodFlagBitsNV values
VUID-VkDecompressMemoryRegionNV-decompressionMethod-requiredbitmaskYNoneimplicitVkDecompressMemoryRegionNVdecompressionMethod must not be 0
VUID-VkDecompressMemoryRegionNV-dstAddress-07687NNoneexplicitVkDecompressMemoryRegionNVThe dstAddress must be 4 byte aligned
VUID-VkDecompressMemoryRegionNV-dstAddress-07688NNoneexplicitVkDecompressMemoryRegionNVThe memory in range dstAddress and dstAddress + decompressedSize must be valid and bound to a VkDeviceMemory object
VUID-VkDecompressMemoryRegionNV-srcAddress-07685NNoneexplicitVkDecompressMemoryRegionNVThe srcAddress must be 4 byte aligned
VUID-VkDecompressMemoryRegionNV-srcAddress-07686NNoneexplicitVkDecompressMemoryRegionNVThe memory in range srcAddress and srcAddress + compressedSize must be valid and bound to a VkDeviceMemory object
VUID-VkDecompressMemoryRegionNV-srcAddress-07691NNoneexplicitVkDecompressMemoryRegionNVThe srcAddress to srcAddress + compressedSize region must not overlap with the dstAddress and dstAddress + decompressedSize region
VUID-VkDedicatedAllocationBufferCreateInfoNV-sType-sTypeYNoneimplicitVkDedicatedAllocationBufferCreateInfoNVsType must be VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV
VUID-VkDedicatedAllocationImageCreateInfoNV-dedicatedAllocation-00994NNoneexplicitVkDedicatedAllocationImageCreateInfoNVIf dedicatedAllocation is VK_TRUE, VkImageCreateInfo::flags must not include VK_IMAGE_CREATE_SPARSE_BINDING_BIT, VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT, or VK_IMAGE_CREATE_SPARSE_ALIASED_BIT
VUID-VkDedicatedAllocationImageCreateInfoNV-sType-sTypeYNoneimplicitVkDedicatedAllocationImageCreateInfoNVsType must be VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-buffer-00651NNoneexplicitVkDedicatedAllocationMemoryAllocateInfoNVIf buffer is not VK_NULL_HANDLE, the buffer must have been created with VkDedicatedAllocationBufferCreateInfoNV::dedicatedAllocation equal to VK_TRUE
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-buffer-00653NNoneexplicitVkDedicatedAllocationMemoryAllocateInfoNVIf buffer is not VK_NULL_HANDLE, VkMemoryAllocateInfo::allocationSize must equal the VkMemoryRequirements::size of the buffer
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-buffer-00655NNoneexplicitVkDedicatedAllocationMemoryAllocateInfoNVIf buffer is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation, the memory being imported must also be a dedicated buffer allocation and buffer must be identical to the buffer associated with the imported memory
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-buffer-parameterYNoneimplicitVkDedicatedAllocationMemoryAllocateInfoNVIf buffer is not VK_NULL_HANDLE, buffer must be a valid VkBuffer handle
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-commonparentYNoneimplicitVkDedicatedAllocationMemoryAllocateInfoNVBoth of buffer, and image that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-image-00649NNoneexplicitVkDedicatedAllocationMemoryAllocateInfoNVAt least one of image and buffer must be VK_NULL_HANDLE
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-image-00650NNoneexplicitVkDedicatedAllocationMemoryAllocateInfoNVIf image is not VK_NULL_HANDLE, the image must have been created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to VK_TRUE
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-image-00652NNoneexplicitVkDedicatedAllocationMemoryAllocateInfoNVIf image is not VK_NULL_HANDLE, VkMemoryAllocateInfo::allocationSize must equal the VkMemoryRequirements::size of the image
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-image-00654NNoneexplicitVkDedicatedAllocationMemoryAllocateInfoNVIf image is not VK_NULL_HANDLE and VkMemoryAllocateInfo defines a memory import operation, the memory being imported must also be a dedicated image allocation and image must be identical to the image associated with the imported memory
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-image-parameterYNoneimplicitVkDedicatedAllocationMemoryAllocateInfoNVIf image is not VK_NULL_HANDLE, image must be a valid VkImage handle
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-sType-sTypeYNoneimplicitVkDedicatedAllocationMemoryAllocateInfoNVsType must be VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV
VUID-VkDescriptorSetBindingReferenceVALVE-descriptorSetLayout-parameterYNoneimplicitVkDescriptorSetBindingReferenceVALVEdescriptorSetLayout must be a valid VkDescriptorSetLayout handle
VUID-VkDescriptorSetBindingReferenceVALVE-pNext-pNextYNoneimplicitVkDescriptorSetBindingReferenceVALVEpNext must be NULL
VUID-VkDescriptorSetBindingReferenceVALVE-sType-sTypeYNoneimplicitVkDescriptorSetBindingReferenceVALVEsType must be VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE
VUID-VkDescriptorSetLayoutHostMappingInfoVALVE-pNext-pNextNNoneimplicitVkDescriptorSetLayoutHostMappingInfoVALVEpNext must be NULL
VUID-VkDescriptorSetLayoutHostMappingInfoVALVE-sType-sTypeYNoneimplicitVkDescriptorSetLayoutHostMappingInfoVALVEsType must be VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE
VUID-VkDeviceDiagnosticsConfigCreateInfoNV-flags-parameterYNoneimplicitVkDeviceDiagnosticsConfigCreateInfoNVflags must be a valid combination of VkDeviceDiagnosticsConfigFlagBitsNV values
VUID-VkDeviceDiagnosticsConfigCreateInfoNV-sType-sTypeYNoneimplicitVkDeviceDiagnosticsConfigCreateInfoNVsType must be VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV
VUID-VkDeviceMemoryOverallocationCreateInfoAMD-overallocationBehavior-parameterYNoneimplicitVkDeviceMemoryOverallocationCreateInfoAMDoverallocationBehavior must be a valid VkMemoryOverallocationBehaviorAMD value
VUID-VkDeviceMemoryOverallocationCreateInfoAMD-sType-sTypeYNoneimplicitVkDeviceMemoryOverallocationCreateInfoAMDsType must be VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD
VUID-VkDeviceQueueShaderCoreControlCreateInfoARM-sType-sTypeYNoneimplicitVkDeviceQueueShaderCoreControlCreateInfoARMsType must be VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM
VUID-VkDeviceQueueShaderCoreControlCreateInfoARM-shaderCoreCount-09399NNoneexplicitVkDeviceQueueShaderCoreControlCreateInfoARMshaderCoreCount must be greater than 0 and less than or equal to the total number of shader cores as reported via VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM::shaderCoreCount.
VUID-VkDirectDriverLoadingInfoLUNARG-flags-zerobitmaskYNoneimplicitVkDirectDriverLoadingInfoLUNARGflags must be 0
VUID-VkDirectDriverLoadingInfoLUNARG-sType-sTypeYNoneimplicitVkDirectDriverLoadingInfoLUNARGsType must be VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG
VUID-VkDirectDriverLoadingListLUNARG-driverCount-arraylengthYNoneimplicitVkDirectDriverLoadingListLUNARGdriverCount must be greater than 0
VUID-VkDirectDriverLoadingListLUNARG-mode-parameterYNoneimplicitVkDirectDriverLoadingListLUNARGmode must be a valid VkDirectDriverLoadingModeLUNARG value
VUID-VkDirectDriverLoadingListLUNARG-pDrivers-parameterYNoneimplicitVkDirectDriverLoadingListLUNARGpDrivers must be a valid pointer to an array of driverCount valid VkDirectDriverLoadingInfoLUNARG structures
VUID-VkDirectDriverLoadingListLUNARG-sType-sTypeYNoneimplicitVkDirectDriverLoadingListLUNARGsType must be VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG
VUID-VkDispatchGraphInfoAMDX-payloadCount-09171NNoneexplicitVkDispatchGraphInfoAMDXpayloadCount must be no greater than maxExecutionGraphShaderPayloadCount
VUID-VkDisplayNativeHdrSurfaceCapabilitiesAMD-sType-sTypeYNoneimplicitVkDisplayNativeHdrSurfaceCapabilitiesAMDsType must be VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD
VUID-VkDrawMeshTasksIndirectCommandNV-taskCount-02175NNoneexplicitVkDrawMeshTasksIndirectCommandNVtaskCount must be less than or equal to VkPhysicalDeviceMeshShaderPropertiesNV::maxDrawMeshTasksCount
VUID-VkExecutionGraphPipelineCreateInfoAMDX-CoalescedInputCountAMDX-09137NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXThere must be no two nodes in the pipeline that share the same name where one includes CoalescedInputCountAMDX and the other does not
VUID-VkExecutionGraphPipelineCreateInfoAMDX-None-09134NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXThere must be no two nodes in the pipeline that share both the same shader name and index, as specified by VkPipelineShaderStageNodeCreateInfoAMDX
VUID-VkExecutionGraphPipelineCreateInfoAMDX-None-09135NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXThere must be no two nodes in the pipeline that share the same shader name and have input payload declarations with different sizes
VUID-VkExecutionGraphPipelineCreateInfoAMDX-None-09136NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXThere must be no two nodes in the pipeline that share the same name but have different execution models
VUID-VkExecutionGraphPipelineCreateInfoAMDX-None-09497NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXIf the pNext chain does not include a VkPipelineCreateFlags2CreateInfoKHR structure, flags must be a valid combination of VkPipelineCreateFlagBits values
VUID-VkExecutionGraphPipelineCreateInfoAMDX-PayloadNodeNameAMDX-09139NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXIf an output payload declared in any shader in the pipeline has a PayloadNodeNameAMDX decoration with a Node Name that matches the shader name of any other node in the graph, the size of the output payload must match the size of the input payload in the matching node
VUID-VkExecutionGraphPipelineCreateInfoAMDX-StaticNumWorkgroupsAMDX-09138NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXThere must be no two nodes in the pipeline that share the same name where one includes StaticNumWorkgroupsAMDX and the other does not
VUID-VkExecutionGraphPipelineCreateInfoAMDX-commonparentYNoneimplicitVkExecutionGraphPipelineCreateInfoAMDXBoth of basePipelineHandle, and layout that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03365NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXflags must not include VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03366NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXflags must not include VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03367NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXflags must not include VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03368NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXflags must not include VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03369NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXflags must not include VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03370NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXflags must not include VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03576NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXflags must not include VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-04945NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXflags must not include VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-07984NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXIf flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is -1, basePipelineHandle must be a valid execution graph VkPipeline handle
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-07985NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXIf flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is VK_NULL_HANDLE, basePipelineIndex must be a valid index into the calling command's pCreateInfos parameter
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-07986NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXIf flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, basePipelineIndex must be -1 or basePipelineHandle must be VK_NULL_HANDLE
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-09007NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXIf the VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedComputePipelines is not enabled, flags must not include VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-09008NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXIf flags includes VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV, then the pNext chain must include a pointer to a valid instance of VkComputePipelineIndirectBufferInfoNV specifying the address where the pipeline's metadata will be saved
VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-07987NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXIf a push constant block is declared in a shader, a push constant range in layout must match both the shader stage and range
VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-07988NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXIf a resource variables is declared in a shader, a descriptor slot in layout must match the shader stage
VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-07990NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXIf a resource variables is declared in a shader, and the descriptor type is not VK_DESCRIPTOR_TYPE_MUTABLE_EXT, a descriptor slot in layout must match the descriptor type
VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-07991NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXIf a resource variables is declared in a shader as an array, a descriptor slot in layout must match the descriptor count
VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-09130NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXlayout must be consistent with the layout of the shaders specified in pStages
VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-09132NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXThe number of resources in layout accessible to each shader stage that is used by the pipeline must be less than or equal to VkPhysicalDeviceLimits::maxPerStageResources
VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-parameterYNoneimplicitVkExecutionGraphPipelineCreateInfoAMDXlayout must be a valid VkPipelineLayout handle
VUID-VkExecutionGraphPipelineCreateInfoAMDX-pLibraryInfo-09131NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXIf pLibraryInfo is not NULL, each element of its pLibraries member must have been created with a layout that is compatible with the layout in this pipeline
VUID-VkExecutionGraphPipelineCreateInfoAMDX-pLibraryInfo-09133NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXIf pLibraryInfo is not NULL, each element of pLibraryInfo->libraries must be either a compute pipeline or an execution graph pipeline
VUID-VkExecutionGraphPipelineCreateInfoAMDX-pLibraryInfo-parameterYNoneimplicitVkExecutionGraphPipelineCreateInfoAMDXIf pLibraryInfo is not NULL, pLibraryInfo must be a valid pointer to a valid VkPipelineLibraryCreateInfoKHR structure
VUID-VkExecutionGraphPipelineCreateInfoAMDX-pNext-pNextYNoneimplicitVkExecutionGraphPipelineCreateInfoAMDXEach pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkPipelineCompilerControlCreateInfoAMD or VkPipelineCreationFeedbackCreateInfo
VUID-VkExecutionGraphPipelineCreateInfoAMDX-pStages-09129NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXThe shader code for the entry point identified by each element of pStages and the rest of the state identified by this structure must adhere to the pipeline linking rules described in the Shader Interfaces chapter
VUID-VkExecutionGraphPipelineCreateInfoAMDX-pStages-parameterYNoneimplicitVkExecutionGraphPipelineCreateInfoAMDXIf stageCount is not 0, and pStages is not NULL, pStages must be a valid pointer to an array of stageCount valid VkPipelineShaderStageCreateInfo structures
VUID-VkExecutionGraphPipelineCreateInfoAMDX-pipelineCreationCacheControl-02875NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXIf the pipelineCreationCacheControl feature is not enabled, flags must not include VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT or VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT
VUID-VkExecutionGraphPipelineCreateInfoAMDX-sType-sTypeYNoneimplicitVkExecutionGraphPipelineCreateInfoAMDXsType must be VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX
VUID-VkExecutionGraphPipelineCreateInfoAMDX-sType-uniqueYNoneimplicitVkExecutionGraphPipelineCreateInfoAMDXThe sType value of each struct in the pNext chain must be unique
VUID-VkExecutionGraphPipelineCreateInfoAMDX-stage-09128NNoneexplicitVkExecutionGraphPipelineCreateInfoAMDXThe stage member of any element of pStages must be VK_SHADER_STAGE_COMPUTE_BIT
VUID-VkExecutionGraphPipelineScratchSizeAMDX-sType-sTypeYNoneimplicitVkExecutionGraphPipelineScratchSizeAMDXsType must be VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX
VUID-VkExportMemoryAllocateInfoNV-handleTypes-parameterYNoneimplicitVkExportMemoryAllocateInfoNVhandleTypes must be a valid combination of VkExternalMemoryHandleTypeFlagBitsNV values
VUID-VkExportMemoryAllocateInfoNV-sType-sTypeYNoneimplicitVkExportMemoryAllocateInfoNVsType must be VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV
VUID-VkExportMemoryWin32HandleInfoNV-pAttributes-parameterYNoneimplicitVkExportMemoryWin32HandleInfoNVIf pAttributes is not NULL, pAttributes must be a valid pointer to a valid SECURITY_ATTRIBUTES value
VUID-VkExportMemoryWin32HandleInfoNV-sType-sTypeYNoneimplicitVkExportMemoryWin32HandleInfoNVsType must be VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV
VUID-VkExternalFormatANDROID-externalFormat-01894YNegativeAndroidExternalResolve.Framebuffer, NegativeAndroidExternalResolve.ImagelessFramebuffer, NegativeAndroidHardwareBuffer.ImageCreateexplicitVkExternalFormatANDROIDexternalFormat must be 0 or a value returned in the externalFormat member of VkAndroidHardwareBufferFormatPropertiesANDROID by an earlier call to vkGetAndroidHardwareBufferPropertiesANDROID
VUID-VkExternalFormatANDROID-sType-sTypeYNoneimplicitVkExternalFormatANDROIDsType must be VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID
VUID-VkExternalFormatQNX-externalFormat-08956NNoneexplicitVkExternalFormatQNXexternalFormat must be 0 or a value returned in the externalFormat member of VkScreenBufferFormatPropertiesQNX by an earlier call to vkGetScreenBufferPropertiesQNX
VUID-VkExternalFormatQNX-sType-sTypeYNoneimplicitVkExternalFormatQNXsType must be VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX
VUID-VkExternalMemoryImageCreateInfoNV-handleTypes-parameterYNoneimplicitVkExternalMemoryImageCreateInfoNVhandleTypes must be a valid combination of VkExternalMemoryHandleTypeFlagBitsNV values
VUID-VkExternalMemoryImageCreateInfoNV-sType-sTypeYNoneimplicitVkExternalMemoryImageCreateInfoNVsType must be VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV
VUID-VkFramebufferMixedSamplesCombinationNV-pNext-pNextYNoneimplicitVkFramebufferMixedSamplesCombinationNVpNext must be NULL
VUID-VkFramebufferMixedSamplesCombinationNV-sType-sTypeYNoneimplicitVkFramebufferMixedSamplesCombinationNVsType must be VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV
VUID-VkGeneratedCommandsInfoNV-commonparentYNoneimplicitVkGeneratedCommandsInfoNVEach of indirectCommandsLayout, pipeline, preprocessBuffer, sequencesCountBuffer, and sequencesIndexBuffer that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice
VUID-VkGeneratedCommandsInfoNV-indirectCommandsLayout-02913NNoneexplicitVkGeneratedCommandsInfoNVIf the indirectCommandsLayout uses a token of VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV, then the pipeline must have been created with multiple shader groups
VUID-VkGeneratedCommandsInfoNV-indirectCommandsLayout-02914NNoneexplicitVkGeneratedCommandsInfoNVIf the indirectCommandsLayout uses a token of VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV, then the pipeline must have been created with VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV set in VkGraphicsPipelineCreateInfo::flags
VUID-VkGeneratedCommandsInfoNV-indirectCommandsLayout-02915NNoneexplicitVkGeneratedCommandsInfoNVIf the indirectCommandsLayout uses a token of VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, then the pipeline's VkPipelineLayout must match the VkIndirectCommandsLayoutTokenNV::pushconstantPipelineLayout
VUID-VkGeneratedCommandsInfoNV-indirectCommandsLayout-07078NNoneexplicitVkGeneratedCommandsInfoNVIf the indirectCommandsLayout uses a token of VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV, then the pipeline must contain a shader stage using the MeshNV Execution Model
VUID-VkGeneratedCommandsInfoNV-indirectCommandsLayout-07079NNoneexplicitVkGeneratedCommandsInfoNVIf the indirectCommandsLayout uses a token of VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV, then the pipeline must contain a shader stage using the MeshEXT Execution Model
VUID-VkGeneratedCommandsInfoNV-indirectCommandsLayout-parameterYNoneimplicitVkGeneratedCommandsInfoNVindirectCommandsLayout must be a valid VkIndirectCommandsLayoutNV handle
VUID-VkGeneratedCommandsInfoNV-pNext-pNextYNoneimplicitVkGeneratedCommandsInfoNVpNext must be NULL
VUID-VkGeneratedCommandsInfoNV-pStreams-parameterYNoneimplicitVkGeneratedCommandsInfoNVpStreams must be a valid pointer to an array of streamCount valid VkIndirectCommandsStreamNV structures
VUID-VkGeneratedCommandsInfoNV-pipeline-02912NNoneexplicitVkGeneratedCommandsInfoNVThe provided pipeline must match the pipeline bound at execution time
VUID-VkGeneratedCommandsInfoNV-pipeline-parameterYNoneimplicitVkGeneratedCommandsInfoNVIf pipeline is not VK_NULL_HANDLE, pipeline must be a valid VkPipeline handle
VUID-VkGeneratedCommandsInfoNV-pipelineBindPoint-09084NNoneexplicitVkGeneratedCommandsInfoNVIf pipelineBindPoint is of type VK_PIPELINE_BIND_POINT_COMPUTE, then the pipeline must have been created with the flag VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV
VUID-VkGeneratedCommandsInfoNV-pipelineBindPoint-09085NNoneexplicitVkGeneratedCommandsInfoNVIf pipelineBindPoint is of type VK_PIPELINE_BIND_POINT_COMPUTE, then the pipeline must have been created with a VkComputePipelineIndirectBufferInfoNV structure specifying a valid address where its metadata will be saved
VUID-VkGeneratedCommandsInfoNV-pipelineBindPoint-09086NNoneexplicitVkGeneratedCommandsInfoNVIf pipelineBindPoint is of type VK_PIPELINE_BIND_POINT_COMPUTE, then vkCmdUpdatePipelineIndirectBufferNV must have been called on that pipeline to save its metadata to a device address
VUID-VkGeneratedCommandsInfoNV-pipelineBindPoint-09087NNoneexplicitVkGeneratedCommandsInfoNVIf pipelineBindPoint is of type VK_PIPELINE_BIND_POINT_COMPUTE, and if VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV is used, then pipeline must be VK_NULL_HANDLE
VUID-VkGeneratedCommandsInfoNV-pipelineBindPoint-parameterYNoneimplicitVkGeneratedCommandsInfoNVpipelineBindPoint must be a valid VkPipelineBindPoint value
VUID-VkGeneratedCommandsInfoNV-preprocessBuffer-02918NNoneexplicitVkGeneratedCommandsInfoNVpreprocessBuffer must have the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set in its usage flag
VUID-VkGeneratedCommandsInfoNV-preprocessBuffer-02971NNoneexplicitVkGeneratedCommandsInfoNVIf preprocessBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object
VUID-VkGeneratedCommandsInfoNV-preprocessBuffer-parameterYNoneimplicitVkGeneratedCommandsInfoNVpreprocessBuffer must be a valid VkBuffer handle
VUID-VkGeneratedCommandsInfoNV-preprocessOffset-02919NNoneexplicitVkGeneratedCommandsInfoNVpreprocessOffset must be aligned to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::minIndirectCommandsBufferOffsetAlignment
VUID-VkGeneratedCommandsInfoNV-preprocessSize-02920NNoneexplicitVkGeneratedCommandsInfoNVpreprocessSize must be at least equal to the memory requirement`s size returned by vkGetGeneratedCommandsMemoryRequirementsNV using the matching inputs (indirectCommandsLayout, ...) as within this structure
VUID-VkGeneratedCommandsInfoNV-sType-sTypeYNoneimplicitVkGeneratedCommandsInfoNVsType must be VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV
VUID-VkGeneratedCommandsInfoNV-sequencesCount-02917NNoneexplicitVkGeneratedCommandsInfoNVsequencesCount must be less or equal to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxIndirectSequenceCount and VkGeneratedCommandsMemoryRequirementsInfoNV::maxSequencesCount that was used to determine the preprocessSize
VUID-VkGeneratedCommandsInfoNV-sequencesCountBuffer-02921NNoneexplicitVkGeneratedCommandsInfoNVsequencesCountBuffer can be set if the actual used count of sequences is sourced from the provided buffer. In that case the sequencesCount serves as upper bound
VUID-VkGeneratedCommandsInfoNV-sequencesCountBuffer-02922NNoneexplicitVkGeneratedCommandsInfoNVIf sequencesCountBuffer is not VK_NULL_HANDLE, its usage flag must have the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
VUID-VkGeneratedCommandsInfoNV-sequencesCountBuffer-02923NNoneexplicitVkGeneratedCommandsInfoNVIf sequencesCountBuffer is not VK_NULL_HANDLE, sequencesCountOffset must be aligned to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::minSequencesCountBufferOffsetAlignment
VUID-VkGeneratedCommandsInfoNV-sequencesCountBuffer-02972NNoneexplicitVkGeneratedCommandsInfoNVIf sequencesCountBuffer is not VK_NULL_HANDLE and is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object
VUID-VkGeneratedCommandsInfoNV-sequencesCountBuffer-parameterYNoneimplicitVkGeneratedCommandsInfoNVIf sequencesCountBuffer is not VK_NULL_HANDLE, sequencesCountBuffer must be a valid VkBuffer handle
VUID-VkGeneratedCommandsInfoNV-sequencesIndexBuffer-02924NNoneexplicitVkGeneratedCommandsInfoNVIf indirectCommandsLayout's VK_INDIRECT_COMMANDS_LAYOUT_USAGE_INDEXED_SEQUENCES_BIT_NV is set, sequencesIndexBuffer must be set otherwise it must be VK_NULL_HANDLE
VUID-VkGeneratedCommandsInfoNV-sequencesIndexBuffer-02925NNoneexplicitVkGeneratedCommandsInfoNVIf sequencesIndexBuffer is not VK_NULL_HANDLE, its usage flag must have the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
VUID-VkGeneratedCommandsInfoNV-sequencesIndexBuffer-02926NNoneexplicitVkGeneratedCommandsInfoNVIf sequencesIndexBuffer is not VK_NULL_HANDLE, sequencesIndexOffset must be aligned to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::minSequencesIndexBufferOffsetAlignment
VUID-VkGeneratedCommandsInfoNV-sequencesIndexBuffer-02973NNoneexplicitVkGeneratedCommandsInfoNVIf sequencesIndexBuffer is not VK_NULL_HANDLE and is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object
VUID-VkGeneratedCommandsInfoNV-sequencesIndexBuffer-parameterYNoneimplicitVkGeneratedCommandsInfoNVIf sequencesIndexBuffer is not VK_NULL_HANDLE, sequencesIndexBuffer must be a valid VkBuffer handle
VUID-VkGeneratedCommandsInfoNV-streamCount-02916NNoneexplicitVkGeneratedCommandsInfoNVstreamCount must match the indirectCommandsLayout's streamCount
VUID-VkGeneratedCommandsInfoNV-streamCount-arraylengthYNoneimplicitVkGeneratedCommandsInfoNVstreamCount must be greater than 0
VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-commonparentYNoneimplicitVkGeneratedCommandsMemoryRequirementsInfoNVBoth of indirectCommandsLayout, and pipeline that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice
VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-indirectCommandsLayout-parameterYNoneimplicitVkGeneratedCommandsMemoryRequirementsInfoNVindirectCommandsLayout must be a valid VkIndirectCommandsLayoutNV handle
VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-maxSequencesCount-02907NNoneexplicitVkGeneratedCommandsMemoryRequirementsInfoNVmaxSequencesCount must be less or equal to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxIndirectSequenceCount
VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-pNext-pNextYNoneimplicitVkGeneratedCommandsMemoryRequirementsInfoNVpNext must be NULL
VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-pipeline-parameterYNoneimplicitVkGeneratedCommandsMemoryRequirementsInfoNVIf pipeline is not VK_NULL_HANDLE, pipeline must be a valid VkPipeline handle
VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-pipelineBindPoint-09075NNoneexplicitVkGeneratedCommandsMemoryRequirementsInfoNVIf pipelineBindPoint is of type VK_PIPELINE_BIND_POINT_GRAPHICS, then pipeline must be a valid VkPipeline handle
VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-pipelineBindPoint-09076NNoneexplicitVkGeneratedCommandsMemoryRequirementsInfoNVIf pipelineBindPoint is of type VK_PIPELINE_BIND_POINT_COMPUTE, and the indirectCommandsLayout was not created with a VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV token, then the pipeline must be a valid VkPipeline handle
VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-pipelineBindPoint-09077NNoneexplicitVkGeneratedCommandsMemoryRequirementsInfoNVIf pipelineBindPoint is of type VK_PIPELINE_BIND_POINT_COMPUTE, and the indirectCommandsLayout contains a VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV token, then the pipeline must be VK_NULL_HANDLE
VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-pipelineBindPoint-parameterYNoneimplicitVkGeneratedCommandsMemoryRequirementsInfoNVpipelineBindPoint must be a valid VkPipelineBindPoint value
VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-sType-sTypeYNoneimplicitVkGeneratedCommandsMemoryRequirementsInfoNVsType must be VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV
VUID-VkGeometryAABBNV-aabbData-parameterYNoneimplicitVkGeometryAABBNVIf aabbData is not VK_NULL_HANDLE, aabbData must be a valid VkBuffer handle
VUID-VkGeometryAABBNV-offset-02439YNegativeRayTracingNV.ValidateGeometryexplicitVkGeometryAABBNVoffset must be less than the size of aabbData
VUID-VkGeometryAABBNV-offset-02440YNegativeRayTracingNV.ValidateGeometryexplicitVkGeometryAABBNVoffset must be a multiple of 8
VUID-VkGeometryAABBNV-pNext-pNextYNoneimplicitVkGeometryAABBNVpNext must be NULL
VUID-VkGeometryAABBNV-sType-sTypeYNoneimplicitVkGeometryAABBNVsType must be VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV
VUID-VkGeometryAABBNV-stride-02441YNegativeRayTracingNV.ValidateGeometryexplicitVkGeometryAABBNVstride must be a multiple of 8
VUID-VkGeometryDataNV-aabbs-parameterNNoneimplicitVkGeometryDataNVaabbs must be a valid VkGeometryAABBNV structure
VUID-VkGeometryDataNV-triangles-parameterNNoneimplicitVkGeometryDataNVtriangles must be a valid VkGeometryTrianglesNV structure
VUID-VkGeometryNV-flags-parameterYNoneimplicitVkGeometryNVflags must be a valid combination of VkGeometryFlagBitsKHR values
VUID-VkGeometryNV-geometry-parameterNNoneimplicitVkGeometryNVgeometry must be a valid VkGeometryDataNV structure
VUID-VkGeometryNV-geometryType-03503YNegativeRayTracingNV.ValidateGeometryexplicitVkGeometryNVgeometryType must be VK_GEOMETRY_TYPE_TRIANGLES_NV or VK_GEOMETRY_TYPE_AABBS_NV
VUID-VkGeometryNV-geometryType-parameterYNegativeRayTracingNV.ValidateGeometryimplicitVkGeometryNVgeometryType must be a valid VkGeometryTypeKHR value
VUID-VkGeometryNV-pNext-pNextYNoneimplicitVkGeometryNVpNext must be NULL
VUID-VkGeometryNV-sType-sTypeYNoneimplicitVkGeometryNVsType must be VK_STRUCTURE_TYPE_GEOMETRY_NV
VUID-VkGeometryTrianglesNV-commonparentYNoneimplicitVkGeometryTrianglesNVEach of indexData, transformData, and vertexData that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice
VUID-VkGeometryTrianglesNV-indexCount-02436YNegativeRayTracingNV.ValidateGeometryexplicitVkGeometryTrianglesNVindexCount must be 0 if indexType is VK_INDEX_TYPE_NONE_NV
VUID-VkGeometryTrianglesNV-indexData-02434YNegativeRayTracingNV.ValidateGeometryexplicitVkGeometryTrianglesNVindexData must be VK_NULL_HANDLE if indexType is VK_INDEX_TYPE_NONE_NV
VUID-VkGeometryTrianglesNV-indexData-02435NNoneexplicitVkGeometryTrianglesNVindexData must be a valid VkBuffer handle if indexType is not VK_INDEX_TYPE_NONE_NV
VUID-VkGeometryTrianglesNV-indexData-parameterYNoneimplicitVkGeometryTrianglesNVIf indexData is not VK_NULL_HANDLE, indexData must be a valid VkBuffer handle
VUID-VkGeometryTrianglesNV-indexOffset-02431YNegativeRayTracingNV.ValidateGeometryexplicitVkGeometryTrianglesNVindexOffset must be less than the size of indexData
VUID-VkGeometryTrianglesNV-indexOffset-02432YNegativeRayTracingNV.ValidateGeometryexplicitVkGeometryTrianglesNVindexOffset must be a multiple of the element size of indexType
VUID-VkGeometryTrianglesNV-indexType-02433YNoneexplicitVkGeometryTrianglesNVindexType must be VK_INDEX_TYPE_UINT16, VK_INDEX_TYPE_UINT32, or VK_INDEX_TYPE_NONE_NV
VUID-VkGeometryTrianglesNV-indexType-parameterYNoneimplicitVkGeometryTrianglesNVindexType must be a valid VkIndexType value
VUID-VkGeometryTrianglesNV-pNext-pNextYNoneimplicitVkGeometryTrianglesNVpNext must be NULL
VUID-VkGeometryTrianglesNV-sType-sTypeYNoneimplicitVkGeometryTrianglesNVsType must be VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV
VUID-VkGeometryTrianglesNV-transformData-parameterYNoneimplicitVkGeometryTrianglesNVIf transformData is not VK_NULL_HANDLE, transformData must be a valid VkBuffer handle
VUID-VkGeometryTrianglesNV-transformOffset-02437YNegativeRayTracingNV.ValidateGeometryexplicitVkGeometryTrianglesNVtransformOffset must be less than the size of transformData
VUID-VkGeometryTrianglesNV-transformOffset-02438YNegativeRayTracingNV.ValidateGeometryexplicitVkGeometryTrianglesNVtransformOffset must be a multiple of 16
VUID-VkGeometryTrianglesNV-vertexData-parameterYNegativeRayTracingNV.ValidateGeometryimplicitVkGeometryTrianglesNVIf vertexData is not VK_NULL_HANDLE, vertexData must be a valid VkBuffer handle
VUID-VkGeometryTrianglesNV-vertexFormat-02430YNegativeRayTracingNV.ValidateGeometryexplicitVkGeometryTrianglesNVvertexFormat must be one of VK_FORMAT_R32G32B32_SFLOAT, VK_FORMAT_R32G32_SFLOAT, VK_FORMAT_R16G16B16_SFLOAT, VK_FORMAT_R16G16_SFLOAT, VK_FORMAT_R16G16_SNORM, or VK_FORMAT_R16G16B16_SNORM
VUID-VkGeometryTrianglesNV-vertexFormat-parameterYNoneimplicitVkGeometryTrianglesNVvertexFormat must be a valid VkFormat value
VUID-VkGeometryTrianglesNV-vertexOffset-02428YNegativeRayTracingNV.ValidateGeometryexplicitVkGeometryTrianglesNVvertexOffset must be less than the size of vertexData
VUID-VkGeometryTrianglesNV-vertexOffset-02429YNegativeRayTracingNV.ValidateGeometryexplicitVkGeometryTrianglesNVvertexOffset must be a multiple of the component size of vertexFormat
VUID-VkGeometryTrianglesNV-vertexStride-03818NNoneexplicitVkGeometryTrianglesNVvertexStride must be less than or equal to 232-1
VUID-VkGetLatencyMarkerInfoNV-pTimings-parameterNNoneimplicitVkGetLatencyMarkerInfoNVIf timingCount is not 0, and pTimings is not NULL, pTimings must be a valid pointer to an array of timingCount VkLatencyTimingsFrameReportNV structures
VUID-VkGetLatencyMarkerInfoNV-sType-sTypeYNoneimplicitVkGetLatencyMarkerInfoNVsType must be VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-deviceGeneratedCommands-02887NNoneexplicitVkGraphicsPipelineShaderGroupsCreateInfoNVThe deviceGeneratedCommands feature must be enabled
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-groupCount-02879NNoneexplicitVkGraphicsPipelineShaderGroupsCreateInfoNVgroupCount must be at least 1 and as maximum VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxGraphicsShaderGroupCount
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-groupCount-02880NNoneexplicitVkGraphicsPipelineShaderGroupsCreateInfoNVThe sum of groupCount including those groups added from referenced pPipelines must also be as maximum VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxGraphicsShaderGroupCount
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-pGroups-02881NNoneexplicitVkGraphicsPipelineShaderGroupsCreateInfoNVThe state of the first element of pGroups must match its equivalent within the parent's VkGraphicsPipelineCreateInfo
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-pGroups-02882NNoneexplicitVkGraphicsPipelineShaderGroupsCreateInfoNVEach element of pGroups must in combination with the rest of the pipeline state yield a valid state configuration
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-pGroups-02884NNoneexplicitVkGraphicsPipelineShaderGroupsCreateInfoNVAll elements of pGroups must use the same shader stage combinations unless any mesh shader stage is used, then either combination of task and mesh or just mesh shader is valid
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-pGroups-02885NNoneexplicitVkGraphicsPipelineShaderGroupsCreateInfoNVMesh and regular primitive shading stages cannot be mixed across pGroups
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-pGroups-parameterYNoneimplicitVkGraphicsPipelineShaderGroupsCreateInfoNVIf groupCount is not 0, pGroups must be a valid pointer to an array of groupCount valid VkGraphicsShaderGroupCreateInfoNV structures
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-pPipelines-02886NNoneexplicitVkGraphicsPipelineShaderGroupsCreateInfoNVEach element of pPipelines must have been created with identical state to the pipeline currently created except the state that can be overridden by VkGraphicsShaderGroupCreateInfoNV
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-pPipelines-parameterYNoneimplicitVkGraphicsPipelineShaderGroupsCreateInfoNVIf pipelineCount is not 0, pPipelines must be a valid pointer to an array of pipelineCount valid VkPipeline handles
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-sType-sTypeYNoneimplicitVkGraphicsPipelineShaderGroupsCreateInfoNVsType must be VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV
VUID-VkGraphicsShaderGroupCreateInfoNV-pNext-pNextNNoneimplicitVkGraphicsShaderGroupCreateInfoNVpNext must be NULL
VUID-VkGraphicsShaderGroupCreateInfoNV-pStages-02889NNoneexplicitVkGraphicsShaderGroupCreateInfoNVFor pStages, the same restrictions as in VkGraphicsPipelineCreateInfo::pStages apply
VUID-VkGraphicsShaderGroupCreateInfoNV-pStages-parameterYNoneimplicitVkGraphicsShaderGroupCreateInfoNVpStages must be a valid pointer to an array of stageCount valid VkPipelineShaderStageCreateInfo structures
VUID-VkGraphicsShaderGroupCreateInfoNV-pTessellationState-02891NNoneexplicitVkGraphicsShaderGroupCreateInfoNVFor pTessellationState, the same restrictions as in VkGraphicsPipelineCreateInfo::pTessellationState apply
VUID-VkGraphicsShaderGroupCreateInfoNV-pVertexInputState-02890NNoneexplicitVkGraphicsShaderGroupCreateInfoNVFor pVertexInputState, the same restrictions as in VkGraphicsPipelineCreateInfo::pVertexInputState apply
VUID-VkGraphicsShaderGroupCreateInfoNV-sType-sTypeYNoneimplicitVkGraphicsShaderGroupCreateInfoNVsType must be VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV
VUID-VkGraphicsShaderGroupCreateInfoNV-stageCount-02888NNoneexplicitVkGraphicsShaderGroupCreateInfoNVFor stageCount, the same restrictions as in VkGraphicsPipelineCreateInfo::stageCount apply
VUID-VkGraphicsShaderGroupCreateInfoNV-stageCount-arraylengthYNoneimplicitVkGraphicsShaderGroupCreateInfoNVstageCount must be greater than 0
VUID-VkIOSSurfaceCreateInfoMVK-flags-zerobitmaskYNoneimplicitVkIOSSurfaceCreateInfoMVKflags must be 0
VUID-VkIOSSurfaceCreateInfoMVK-pNext-pNextYNoneimplicitVkIOSSurfaceCreateInfoMVKpNext must be NULL
VUID-VkIOSSurfaceCreateInfoMVK-pView-01316NNoneexplicitVkIOSSurfaceCreateInfoMVKIf pView is a UIView object, it must be a valid UIView, must be backed by a CALayer object of type CAMetalLayer, and vkCreateIOSSurfaceMVK must be called on the main thread
VUID-VkIOSSurfaceCreateInfoMVK-pView-04143NNoneexplicitVkIOSSurfaceCreateInfoMVKIf pView is a CAMetalLayer object, it must be a valid CAMetalLayer
VUID-VkIOSSurfaceCreateInfoMVK-sType-sTypeYNoneimplicitVkIOSSurfaceCreateInfoMVKsType must be VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK
VUID-VkImageConstraintsInfoFUCHSIA-attachmentFragmentShadingRate-06401NNoneexplicitVkImageConstraintsInfoFUCHSIAIf the attachmentFragmentShadingRate feature is enabled, and pFormatConstraints->imageCreateInfo->usage contains VK_IMAGE_USAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR, then pFormatConstraints->requiredFormatFeatures must contain VK_FORMAT_FEATURE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
VUID-VkImageConstraintsInfoFUCHSIA-bufferCollectionConstraints-parameterNNoneimplicitVkImageConstraintsInfoFUCHSIAbufferCollectionConstraints must be a valid VkBufferCollectionConstraintsInfoFUCHSIA structure
VUID-VkImageConstraintsInfoFUCHSIA-flags-parameterYNoneimplicitVkImageConstraintsInfoFUCHSIAflags must be a valid combination of VkImageConstraintsInfoFlagBitsFUCHSIA values
VUID-VkImageConstraintsInfoFUCHSIA-formatConstraintsCount-arraylengthYNoneimplicitVkImageConstraintsInfoFUCHSIAformatConstraintsCount must be greater than 0
VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06395NNoneexplicitVkImageConstraintsInfoFUCHSIAAll elements of pFormatConstraints must have at least one bit set in its VkImageFormatConstraintsInfoFUCHSIA::requiredFormatFeatures
VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06396NNoneexplicitVkImageConstraintsInfoFUCHSIAIf pFormatConstraints->imageCreateInfo->usage contains VK_IMAGE_USAGE_SAMPLED_BIT, then pFormatConstraints->requiredFormatFeatures must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT
VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06397NNoneexplicitVkImageConstraintsInfoFUCHSIAIf pFormatConstraints->imageCreateInfo->usage contains VK_IMAGE_USAGE_STORAGE_BIT, then pFormatConstraints->requiredFormatFeatures must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT
VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06398NNoneexplicitVkImageConstraintsInfoFUCHSIAIf pFormatConstraints->imageCreateInfo->usage contains VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, then pFormatConstraints->requiredFormatFeatures must contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT
VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06399NNoneexplicitVkImageConstraintsInfoFUCHSIAIf pFormatConstraints->imageCreateInfo->usage contains VK_IMAGE_USAGE_DEPTH_STENCIL_ATTACHMENT_BIT, then pFormatConstraints->requiredFormatFeatures must contain VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06400NNoneexplicitVkImageConstraintsInfoFUCHSIAIf pFormatConstraints->imageCreateInfo->usage contains VK_IMAGE_USAGE_INPUT_ATTACHMENT_BIT, then pFormatConstraints->requiredFormatFeatures must contain at least one of VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT or VK_FORMAT_FEATURE_DEPTH_STENCIL_ATTACHMENT_BIT
VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-parameterYNoneimplicitVkImageConstraintsInfoFUCHSIApFormatConstraints must be a valid pointer to an array of formatConstraintsCount valid VkImageFormatConstraintsInfoFUCHSIA structures
VUID-VkImageConstraintsInfoFUCHSIA-pNext-pNextYNoneimplicitVkImageConstraintsInfoFUCHSIApNext must be NULL
VUID-VkImageConstraintsInfoFUCHSIA-sType-sTypeYNoneimplicitVkImageConstraintsInfoFUCHSIAsType must be VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA
VUID-VkImageFormatConstraintsInfoFUCHSIA-colorSpaceCount-arraylengthYNoneimplicitVkImageFormatConstraintsInfoFUCHSIAcolorSpaceCount must be greater than 0
VUID-VkImageFormatConstraintsInfoFUCHSIA-flags-zerobitmaskYNoneimplicitVkImageFormatConstraintsInfoFUCHSIAflags must be 0
VUID-VkImageFormatConstraintsInfoFUCHSIA-imageCreateInfo-parameterNNoneimplicitVkImageFormatConstraintsInfoFUCHSIAimageCreateInfo must be a valid VkImageCreateInfo structure
VUID-VkImageFormatConstraintsInfoFUCHSIA-pColorSpaces-parameterYNoneimplicitVkImageFormatConstraintsInfoFUCHSIApColorSpaces must be a valid pointer to an array of colorSpaceCount valid VkSysmemColorSpaceFUCHSIA structures
VUID-VkImageFormatConstraintsInfoFUCHSIA-pNext-pNextYNoneimplicitVkImageFormatConstraintsInfoFUCHSIApNext must be NULL
VUID-VkImageFormatConstraintsInfoFUCHSIA-requiredFormatFeatures-parameterYNoneimplicitVkImageFormatConstraintsInfoFUCHSIArequiredFormatFeatures must be a valid combination of VkFormatFeatureFlagBits values
VUID-VkImageFormatConstraintsInfoFUCHSIA-requiredFormatFeatures-requiredbitmaskYNoneimplicitVkImageFormatConstraintsInfoFUCHSIArequiredFormatFeatures must not be 0
VUID-VkImageFormatConstraintsInfoFUCHSIA-sType-sTypeYNoneimplicitVkImageFormatConstraintsInfoFUCHSIAsType must be VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA
VUID-VkImagePipeSurfaceCreateInfoFUCHSIA-flags-zerobitmaskYNoneimplicitVkImagePipeSurfaceCreateInfoFUCHSIAflags must be 0
VUID-VkImagePipeSurfaceCreateInfoFUCHSIA-imagePipeHandle-04863NNoneexplicitVkImagePipeSurfaceCreateInfoFUCHSIAimagePipeHandle must be a valid zx_handle_t
VUID-VkImagePipeSurfaceCreateInfoFUCHSIA-pNext-pNextYNoneimplicitVkImagePipeSurfaceCreateInfoFUCHSIApNext must be NULL
VUID-VkImagePipeSurfaceCreateInfoFUCHSIA-sType-sTypeYNoneimplicitVkImagePipeSurfaceCreateInfoFUCHSIAsType must be VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA
VUID-VkImageViewAddressPropertiesNVX-pNext-pNextYNoneimplicitVkImageViewAddressPropertiesNVXpNext must be NULL
VUID-VkImageViewAddressPropertiesNVX-sType-sTypeYNoneimplicitVkImageViewAddressPropertiesNVXsType must be VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX
VUID-VkImageViewHandleInfoNVX-commonparentYNoneimplicitVkImageViewHandleInfoNVXBoth of imageView, and sampler that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice
VUID-VkImageViewHandleInfoNVX-descriptorType-02654NNoneexplicitVkImageViewHandleInfoNVXdescriptorType must be VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
VUID-VkImageViewHandleInfoNVX-descriptorType-parameterYNoneimplicitVkImageViewHandleInfoNVXdescriptorType must be a valid VkDescriptorType value
VUID-VkImageViewHandleInfoNVX-imageView-02656NNoneexplicitVkImageViewHandleInfoNVXIf descriptorType is VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE or VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER, the image that imageView was created from must have been created with the VK_IMAGE_USAGE_SAMPLED_BIT usage bit set
VUID-VkImageViewHandleInfoNVX-imageView-02657NNoneexplicitVkImageViewHandleInfoNVXIf descriptorType is VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, the image that imageView was created from must have been created with the VK_IMAGE_USAGE_STORAGE_BIT usage bit set
VUID-VkImageViewHandleInfoNVX-imageView-parameterYNoneimplicitVkImageViewHandleInfoNVXimageView must be a valid VkImageView handle
VUID-VkImageViewHandleInfoNVX-pNext-pNextYNoneimplicitVkImageViewHandleInfoNVXpNext must be NULL
VUID-VkImageViewHandleInfoNVX-sType-sTypeYNoneimplicitVkImageViewHandleInfoNVXsType must be VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX
VUID-VkImageViewHandleInfoNVX-sampler-02655NNoneexplicitVkImageViewHandleInfoNVXsampler must be a valid VkSampler if descriptorType is VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER
VUID-VkImageViewHandleInfoNVX-sampler-parameterYNoneimplicitVkImageViewHandleInfoNVXIf sampler is not VK_NULL_HANDLE, sampler must be a valid VkSampler handle
VUID-VkImageViewSampleWeightCreateInfoQCOM-filterCenter-06960YNegativeImage.ImageViewTextureSampleWeightedexplicitVkImageViewSampleWeightCreateInfoQCOMfilterCenter.x must be less than or equal to (filterSize.width - 1)
VUID-VkImageViewSampleWeightCreateInfoQCOM-filterCenter-06961YNegativeImage.ImageViewTextureSampleWeightedexplicitVkImageViewSampleWeightCreateInfoQCOMfilterCenter.y must be less than or equal to (filterSize.height - 1)
VUID-VkImageViewSampleWeightCreateInfoQCOM-filterSize-06958YNegativeImage.ImageViewTextureSampleWeightedexplicitVkImageViewSampleWeightCreateInfoQCOMfilterSize.width must be less than or equal to VkPhysicalDeviceImageProcessingPropertiesQCOM::maxWeightFilterDimension.width
VUID-VkImageViewSampleWeightCreateInfoQCOM-filterSize-06959YNegativeImage.ImageViewTextureSampleWeightedexplicitVkImageViewSampleWeightCreateInfoQCOMfilterSize.height must be less than or equal to VkPhysicalDeviceImageProcessingPropertiesQCOM::maxWeightFilterDimension.height
VUID-VkImageViewSampleWeightCreateInfoQCOM-numPhases-06962YNegativeImage.ImageViewTextureSampleWeightedexplicitVkImageViewSampleWeightCreateInfoQCOMnumPhases must be a power of two squared value (i.e., 1, 4, 16, 64, 256, etc.)
VUID-VkImageViewSampleWeightCreateInfoQCOM-numPhases-06963YNegativeImage.ImageViewTextureSampleWeightedexplicitVkImageViewSampleWeightCreateInfoQCOMnumPhases must be less than or equal to VkPhysicalDeviceImageProcessingPropertiesQCOM::maxWeightFilterPhases
VUID-VkImageViewSampleWeightCreateInfoQCOM-sType-sTypeYNoneimplicitVkImageViewSampleWeightCreateInfoQCOMsType must be VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM
VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-01880YNoneexplicitVkImportAndroidHardwareBufferInfoANDROIDIf buffer is not NULL, Android hardware buffers must be supported for import, as reported by VkExternalImageFormatProperties or VkExternalBufferProperties
VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-01881YNegativeAndroidHardwareBuffer.ImportBufferexplicitVkImportAndroidHardwareBufferInfoANDROIDIf buffer is not NULL, it must be a valid Android hardware buffer object with AHardwareBuffer_Desc::usage compatible with Vulkan as described in Android Hardware Buffers
VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-parameterYNegativeAndroidHardwareBuffer.NullAHBImportimplicitVkImportAndroidHardwareBufferInfoANDROIDbuffer must be a valid pointer to an AHardwareBuffer value
VUID-VkImportAndroidHardwareBufferInfoANDROID-sType-sTypeYNoneimplicitVkImportAndroidHardwareBufferInfoANDROIDsType must be VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID
VUID-VkImportMemoryBufferCollectionFUCHSIA-collection-parameterYNoneimplicitVkImportMemoryBufferCollectionFUCHSIAcollection must be a valid VkBufferCollectionFUCHSIA handle
VUID-VkImportMemoryBufferCollectionFUCHSIA-index-06406NNoneexplicitVkImportMemoryBufferCollectionFUCHSIAindex must be less than the value retrieved as VkBufferCollectionPropertiesFUCHSIA:bufferCount
VUID-VkImportMemoryBufferCollectionFUCHSIA-sType-sTypeYNoneimplicitVkImportMemoryBufferCollectionFUCHSIAsType must be VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA
VUID-VkImportMemoryWin32HandleInfoNV-handle-01328NNoneexplicitVkImportMemoryWin32HandleInfoNVhandle must be a valid handle to memory, obtained as specified by handleType
VUID-VkImportMemoryWin32HandleInfoNV-handleType-01327NNoneexplicitVkImportMemoryWin32HandleInfoNVhandleType must not have more than one bit set
VUID-VkImportMemoryWin32HandleInfoNV-handleType-parameterYNoneimplicitVkImportMemoryWin32HandleInfoNVhandleType must be a valid combination of VkExternalMemoryHandleTypeFlagBitsNV values
VUID-VkImportMemoryWin32HandleInfoNV-sType-sTypeYNoneimplicitVkImportMemoryWin32HandleInfoNVsType must be VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV
VUID-VkImportMemoryZirconHandleInfoFUCHSIA-handle-04772NNoneexplicitVkImportMemoryZirconHandleInfoFUCHSIAhandle must be a valid VMO handle
VUID-VkImportMemoryZirconHandleInfoFUCHSIA-handleType-04771NNoneexplicitVkImportMemoryZirconHandleInfoFUCHSIAhandleType must be VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA
VUID-VkImportMemoryZirconHandleInfoFUCHSIA-handleType-parameterYNoneimplicitVkImportMemoryZirconHandleInfoFUCHSIAIf handleType is not 0, handleType must be a valid VkExternalMemoryHandleTypeFlagBits value
VUID-VkImportMemoryZirconHandleInfoFUCHSIA-sType-sTypeYNoneimplicitVkImportMemoryZirconHandleInfoFUCHSIAsType must be VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA
VUID-VkImportScreenBufferInfoQNX-buffer-08966NNoneexplicitVkImportScreenBufferInfoQNXIf buffer is not NULL, QNX Screen Buffers must be supported for import, as reported by VkExternalImageFormatProperties or VkExternalBufferProperties
VUID-VkImportScreenBufferInfoQNX-buffer-08967NNoneexplicitVkImportScreenBufferInfoQNXbuffer is not NULL, it must be a pointer to valid QNX Screen buffer
VUID-VkImportScreenBufferInfoQNX-sType-sTypeYNoneimplicitVkImportScreenBufferInfoQNXsType must be VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX
VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-flags-parameterYNoneimplicitVkImportSemaphoreZirconHandleInfoFUCHSIAflags must be a valid combination of VkSemaphoreImportFlagBits values
VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-handleType-04765NNoneexplicitVkImportSemaphoreZirconHandleInfoFUCHSIAhandleType must be a value included in the Handle Types Supported by VkImportSemaphoreZirconHandleInfoFUCHSIA table
VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-handleType-parameterYNoneimplicitVkImportSemaphoreZirconHandleInfoFUCHSIAhandleType must be a valid VkExternalSemaphoreHandleTypeFlagBits value
VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-pNext-pNextYNoneimplicitVkImportSemaphoreZirconHandleInfoFUCHSIApNext must be NULL
VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-sType-sTypeYNoneimplicitVkImportSemaphoreZirconHandleInfoFUCHSIAsType must be VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA
VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-semaphore-parameterYNoneimplicitVkImportSemaphoreZirconHandleInfoFUCHSIAsemaphore must be a valid VkSemaphore handle
VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-semaphoreType-04768YNoneexplicitVkImportSemaphoreZirconHandleInfoFUCHSIAThe VkSemaphoreTypeCreateInfo::semaphoreType field must not be VK_SEMAPHORE_TYPE_TIMELINE
VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-zirconHandle-04766NNoneexplicitVkImportSemaphoreZirconHandleInfoFUCHSIAzirconHandle must obey any requirements listed for handleType in external semaphore handle types compatibility
VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-zirconHandle-04767NNoneexplicitVkImportSemaphoreZirconHandleInfoFUCHSIAzirconHandle must have ZX_RIGHTS_BASIC and ZX_RIGHTS_SIGNAL rights
VUID-VkIndirectCommandsLayoutCreateInfoNV-flags-parameterYNoneimplicitVkIndirectCommandsLayoutCreateInfoNVflags must be a valid combination of VkIndirectCommandsLayoutUsageFlagBitsNV values
VUID-VkIndirectCommandsLayoutCreateInfoNV-pNext-pNextYNoneimplicitVkIndirectCommandsLayoutCreateInfoNVpNext must be NULL
VUID-VkIndirectCommandsLayoutCreateInfoNV-pStreamStrides-02937NNoneexplicitVkIndirectCommandsLayoutCreateInfoNVeach element of pStreamStrides must be greater than 0 and less than or equal to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxIndirectCommandsStreamStride. Furthermore the alignment of each token input must be ensured
VUID-VkIndirectCommandsLayoutCreateInfoNV-pStreamStrides-parameterYNoneimplicitVkIndirectCommandsLayoutCreateInfoNVpStreamStrides must be a valid pointer to an array of streamCount uint32_t values
VUID-VkIndirectCommandsLayoutCreateInfoNV-pTokens-02932NNoneexplicitVkIndirectCommandsLayoutCreateInfoNVIf pTokens contains an entry of VK_INDIRECT_COMMANDS_TOKEN_TYPE_SHADER_GROUP_NV it must be the first element of the array and there must be only a single element of such token type
VUID-VkIndirectCommandsLayoutCreateInfoNV-pTokens-02933NNoneexplicitVkIndirectCommandsLayoutCreateInfoNVIf pTokens contains an entry of VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV there must be only a single element of such token type
VUID-VkIndirectCommandsLayoutCreateInfoNV-pTokens-02934NNoneexplicitVkIndirectCommandsLayoutCreateInfoNVAll state tokens in pTokens must occur before any action command tokens (VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_NV, VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_NV, VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_TASKS_NV, VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV , VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV )
VUID-VkIndirectCommandsLayoutCreateInfoNV-pTokens-02935NNoneexplicitVkIndirectCommandsLayoutCreateInfoNVThe content of pTokens must include one single action command token that is compatible with the pipelineBindPoint
VUID-VkIndirectCommandsLayoutCreateInfoNV-pTokens-09585NNoneexplicitVkIndirectCommandsLayoutCreateInfoNVIf pTokens contains an entry of VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV it must be the first element of the array and there must be only a single element of such token type
VUID-VkIndirectCommandsLayoutCreateInfoNV-pTokens-parameterYNoneimplicitVkIndirectCommandsLayoutCreateInfoNVpTokens must be a valid pointer to an array of tokenCount valid VkIndirectCommandsLayoutTokenNV structures
VUID-VkIndirectCommandsLayoutCreateInfoNV-pipelineBindPoint-02930NNoneexplicitVkIndirectCommandsLayoutCreateInfoNVThe pipelineBindPoint must be VK_PIPELINE_BIND_POINT_GRAPHICS or VK_PIPELINE_BIND_POINT_COMPUTE
VUID-VkIndirectCommandsLayoutCreateInfoNV-pipelineBindPoint-09088NNoneexplicitVkIndirectCommandsLayoutCreateInfoNVIf pipelineBindPoint is VK_PIPELINE_BIND_POINT_COMPUTE then the VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedCompute feature must be enabled
VUID-VkIndirectCommandsLayoutCreateInfoNV-pipelineBindPoint-09089NNoneexplicitVkIndirectCommandsLayoutCreateInfoNVIf pipelineBindPoint is VK_PIPELINE_BIND_POINT_COMPUTE then the state tokens in pTokens must only include VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_NV, VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV, or VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV
VUID-VkIndirectCommandsLayoutCreateInfoNV-pipelineBindPoint-09090NNoneexplicitVkIndirectCommandsLayoutCreateInfoNVIf pipelineBindPoint is VK_PIPELINE_BIND_POINT_COMPUTE and pTokens includes VK_INDIRECT_COMMANDS_TOKEN_TYPE_PIPELINE_NV, then the VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedComputePipelines feature must be enabled
VUID-VkIndirectCommandsLayoutCreateInfoNV-pipelineBindPoint-parameterYNoneimplicitVkIndirectCommandsLayoutCreateInfoNVpipelineBindPoint must be a valid VkPipelineBindPoint value
VUID-VkIndirectCommandsLayoutCreateInfoNV-sType-sTypeYNoneimplicitVkIndirectCommandsLayoutCreateInfoNVsType must be VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV
VUID-VkIndirectCommandsLayoutCreateInfoNV-streamCount-02936NNoneexplicitVkIndirectCommandsLayoutCreateInfoNVstreamCount must be greater than 0 and less or equal to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxIndirectCommandsStreamCount
VUID-VkIndirectCommandsLayoutCreateInfoNV-streamCount-arraylengthYNoneimplicitVkIndirectCommandsLayoutCreateInfoNVstreamCount must be greater than 0
VUID-VkIndirectCommandsLayoutCreateInfoNV-tokenCount-02931NNoneexplicitVkIndirectCommandsLayoutCreateInfoNVtokenCount must be greater than 0 and less than or equal to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxIndirectCommandsTokenCount
VUID-VkIndirectCommandsLayoutCreateInfoNV-tokenCount-arraylengthYNoneimplicitVkIndirectCommandsLayoutCreateInfoNVtokenCount must be greater than 0
VUID-VkIndirectCommandsLayoutTokenNV-indirectStateFlags-parameterYNoneimplicitVkIndirectCommandsLayoutTokenNVindirectStateFlags must be a valid combination of VkIndirectStateFlagBitsNV values
VUID-VkIndirectCommandsLayoutTokenNV-offset-02952NNoneexplicitVkIndirectCommandsLayoutTokenNVoffset must be less than or equal to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxIndirectCommandsTokenOffset
VUID-VkIndirectCommandsLayoutTokenNV-offset-06888NNoneexplicitVkIndirectCommandsLayoutTokenNVoffset must be aligned to the scalar alignment of tokenType or minIndirectCommandsBufferOffsetAlignment, whichever is lower
VUID-VkIndirectCommandsLayoutTokenNV-pIndexTypeValues-parameterYNoneimplicitVkIndirectCommandsLayoutTokenNVIf indexTypeCount is not 0, pIndexTypeValues must be a valid pointer to an array of indexTypeCount uint32_t values
VUID-VkIndirectCommandsLayoutTokenNV-pIndexTypes-parameterYNoneimplicitVkIndirectCommandsLayoutTokenNVIf indexTypeCount is not 0, pIndexTypes must be a valid pointer to an array of indexTypeCount valid VkIndexType values
VUID-VkIndirectCommandsLayoutTokenNV-pNext-pNextYNoneimplicitVkIndirectCommandsLayoutTokenNVpNext must be NULL
VUID-VkIndirectCommandsLayoutTokenNV-pushconstantPipelineLayout-parameterYNoneimplicitVkIndirectCommandsLayoutTokenNVIf pushconstantPipelineLayout is not VK_NULL_HANDLE, pushconstantPipelineLayout must be a valid VkPipelineLayout handle
VUID-VkIndirectCommandsLayoutTokenNV-pushconstantShaderStageFlags-parameterYNoneimplicitVkIndirectCommandsLayoutTokenNVpushconstantShaderStageFlags must be a valid combination of VkShaderStageFlagBits values
VUID-VkIndirectCommandsLayoutTokenNV-sType-sTypeYNoneimplicitVkIndirectCommandsLayoutTokenNVsType must be VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV
VUID-VkIndirectCommandsLayoutTokenNV-stream-02951NNoneexplicitVkIndirectCommandsLayoutTokenNVstream must be smaller than VkIndirectCommandsLayoutCreateInfoNV::streamCount
VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02976NNoneexplicitVkIndirectCommandsLayoutTokenNVIf tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV, vertexBindingUnit must stay within device supported limits for the appropriate commands
VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02977NNoneexplicitVkIndirectCommandsLayoutTokenNVIf tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, pushconstantPipelineLayout must be valid
VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02978NNoneexplicitVkIndirectCommandsLayoutTokenNVIf tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, pushconstantOffset must be a multiple of 4
VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02979NNoneexplicitVkIndirectCommandsLayoutTokenNVIf tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, pushconstantSize must be a multiple of 4
VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02980NNoneexplicitVkIndirectCommandsLayoutTokenNVIf tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, pushconstantOffset must be less than VkPhysicalDeviceLimits::maxPushConstantsSize
VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02981NNoneexplicitVkIndirectCommandsLayoutTokenNVIf tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, pushconstantSize must be less than or equal to VkPhysicalDeviceLimits::maxPushConstantsSize minus pushconstantOffset
VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02982NNoneexplicitVkIndirectCommandsLayoutTokenNVIf tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, for each byte in the range specified by pushconstantOffset and pushconstantSize and for each shader stage in pushconstantShaderStageFlags, there must be a push constant range in pushconstantPipelineLayout that includes that byte and that stage
VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02983NNoneexplicitVkIndirectCommandsLayoutTokenNVIf tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, for each byte in the range specified by pushconstantOffset and pushconstantSize and for each push constant range that overlaps that byte, pushconstantShaderStageFlags must include all stages in that push constant range's VkPushConstantRange::stageFlags
VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02984NNoneexplicitVkIndirectCommandsLayoutTokenNVIf tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV, indirectStateFlags must not be 0
VUID-VkIndirectCommandsLayoutTokenNV-tokenType-parameterYNoneimplicitVkIndirectCommandsLayoutTokenNVtokenType must be a valid VkIndirectCommandsTokenTypeNV value
VUID-VkIndirectCommandsStreamNV-buffer-02942NNoneexplicitVkIndirectCommandsStreamNVThe buffer's usage flag must have the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
VUID-VkIndirectCommandsStreamNV-buffer-02975NNoneexplicitVkIndirectCommandsStreamNVIf buffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object
VUID-VkIndirectCommandsStreamNV-buffer-parameterYNoneimplicitVkIndirectCommandsStreamNVbuffer must be a valid VkBuffer handle
VUID-VkIndirectCommandsStreamNV-offset-02943NNoneexplicitVkIndirectCommandsStreamNVThe offset must be aligned to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::minIndirectCommandsBufferOffsetAlignment
VUID-VkInitializePerformanceApiInfoINTEL-pNext-pNextYNoneimplicitVkInitializePerformanceApiInfoINTELpNext must be NULL
VUID-VkInitializePerformanceApiInfoINTEL-sType-sTypeYNoneimplicitVkInitializePerformanceApiInfoINTELsType must be VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL
VUID-VkLatencySleepInfoNV-sType-sTypeYNoneimplicitVkLatencySleepInfoNVsType must be VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV
VUID-VkLatencySleepInfoNV-signalSemaphore-09361NNoneexplicitVkLatencySleepInfoNVsignalSemaphore must be a timeline semaphore
VUID-VkLatencySleepInfoNV-signalSemaphore-parameterYNoneimplicitVkLatencySleepInfoNVsignalSemaphore must be a valid VkSemaphore handle
VUID-VkLatencySleepModeInfoNV-sType-sTypeYNoneimplicitVkLatencySleepModeInfoNVsType must be VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV
VUID-VkLatencySubmissionPresentIdNV-sType-sTypeYNoneimplicitVkLatencySubmissionPresentIdNVsType must be VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV
VUID-VkLatencySurfaceCapabilitiesNV-pPresentModes-parameterYNoneimplicitVkLatencySurfaceCapabilitiesNVIf presentModeCount is not 0, and pPresentModes is not NULL, pPresentModes must be a valid pointer to an array of presentModeCount VkPresentModeKHR values
VUID-VkLatencySurfaceCapabilitiesNV-sType-sTypeYNoneimplicitVkLatencySurfaceCapabilitiesNVsType must be VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV
VUID-VkLatencyTimingsFrameReportNV-sType-sTypeNNoneimplicitVkLatencyTimingsFrameReportNVsType must be VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV
VUID-VkMacOSSurfaceCreateInfoMVK-flags-zerobitmaskYNoneimplicitVkMacOSSurfaceCreateInfoMVKflags must be 0
VUID-VkMacOSSurfaceCreateInfoMVK-pNext-pNextYNoneimplicitVkMacOSSurfaceCreateInfoMVKpNext must be NULL
VUID-VkMacOSSurfaceCreateInfoMVK-pView-01317NNoneexplicitVkMacOSSurfaceCreateInfoMVKIf pView is an NSView object, it must be a valid NSView, must be backed by a CALayer object of type CAMetalLayer, and vkCreateMacOSSurfaceMVK must be called on the main thread
VUID-VkMacOSSurfaceCreateInfoMVK-pView-04144NNoneexplicitVkMacOSSurfaceCreateInfoMVKIf pView is a CAMetalLayer object, it must be a valid CAMetalLayer
VUID-VkMacOSSurfaceCreateInfoMVK-sType-sTypeYNoneimplicitVkMacOSSurfaceCreateInfoMVKsType must be VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK
VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-handleTypes-01882YNegativeAndroidHardwareBuffer.ExportBufferHandleTypeexplicitVkMemoryGetAndroidHardwareBufferInfoANDROIDVK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID must have been included in VkExportMemoryAllocateInfo::handleTypes when memory was created
VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-memory-parameterYNoneimplicitVkMemoryGetAndroidHardwareBufferInfoANDROIDmemory must be a valid VkDeviceMemory handle
VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-pNext-01883YNegativeAndroidHardwareBuffer.ExportImageNonBoundexplicitVkMemoryGetAndroidHardwareBufferInfoANDROIDIf the pNext chain of the VkMemoryAllocateInfo used to allocate memory included a VkMemoryDedicatedAllocateInfo with non-NULL image member, then that image must already be bound to memory
VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-pNext-pNextYNoneimplicitVkMemoryGetAndroidHardwareBufferInfoANDROIDpNext must be NULL
VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-sType-sTypeYNoneimplicitVkMemoryGetAndroidHardwareBufferInfoANDROIDsType must be VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID
VUID-VkMemoryGetRemoteAddressInfoNV-handleType-04966NNoneexplicitVkMemoryGetRemoteAddressInfoNVhandleType must have been included in VkExportMemoryAllocateInfo::handleTypes when memory was created
VUID-VkMemoryGetRemoteAddressInfoNV-handleType-parameterYNoneimplicitVkMemoryGetRemoteAddressInfoNVhandleType must be a valid VkExternalMemoryHandleTypeFlagBits value
VUID-VkMemoryGetRemoteAddressInfoNV-memory-parameterYNoneimplicitVkMemoryGetRemoteAddressInfoNVmemory must be a valid VkDeviceMemory handle
VUID-VkMemoryGetRemoteAddressInfoNV-pNext-pNextYNoneimplicitVkMemoryGetRemoteAddressInfoNVpNext must be NULL
VUID-VkMemoryGetRemoteAddressInfoNV-sType-sTypeYNoneimplicitVkMemoryGetRemoteAddressInfoNVsType must be VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV
VUID-VkMemoryGetZirconHandleInfoFUCHSIA-handleType-04775NNoneexplicitVkMemoryGetZirconHandleInfoFUCHSIAhandleType must be VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA
VUID-VkMemoryGetZirconHandleInfoFUCHSIA-handleType-04776NNoneexplicitVkMemoryGetZirconHandleInfoFUCHSIAhandleType must have been included in the handleTypes field of the VkExportMemoryAllocateInfo structure when the external memory was allocated
VUID-VkMemoryGetZirconHandleInfoFUCHSIA-handleType-parameterYNoneimplicitVkMemoryGetZirconHandleInfoFUCHSIAhandleType must be a valid VkExternalMemoryHandleTypeFlagBits value
VUID-VkMemoryGetZirconHandleInfoFUCHSIA-memory-parameterYNoneimplicitVkMemoryGetZirconHandleInfoFUCHSIAmemory must be a valid VkDeviceMemory handle
VUID-VkMemoryGetZirconHandleInfoFUCHSIA-pNext-pNextYNoneimplicitVkMemoryGetZirconHandleInfoFUCHSIApNext must be NULL
VUID-VkMemoryGetZirconHandleInfoFUCHSIA-sType-sTypeYNoneimplicitVkMemoryGetZirconHandleInfoFUCHSIAsType must be VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA
VUID-VkMemoryZirconHandlePropertiesFUCHSIA-pNext-pNextYNoneimplicitVkMemoryZirconHandlePropertiesFUCHSIApNext must be NULL
VUID-VkMemoryZirconHandlePropertiesFUCHSIA-sType-sTypeYNoneimplicitVkMemoryZirconHandlePropertiesFUCHSIAsType must be VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA
VUID-VkMultiviewPerViewAttributesInfoNVX-sType-sTypeYNoneimplicitVkMultiviewPerViewAttributesInfoNVXsType must be VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-offset-07861NNoneexplicitVkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOMThe offset.x member of any element of pPerViewRenderAreas must be greater than or equal to 0
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-offset-07862NNoneexplicitVkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOMThe offset.y member of any element of pPerViewRenderAreas must be greater than or equal to 0
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-offset-07863NNoneexplicitVkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOMThe sum of the offset.x and extent.width members of any element of pPerViewRenderAreas must be less than or equal to maxFramebufferWidth
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-offset-07864NNoneexplicitVkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOMThe sum of the offset.y and extent.height members of any element of pPerViewRenderAreas must be less than or equal to maxFramebufferHeight
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-pNext-07865NNoneexplicitVkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOMIf this structure is in the pNext chain of VkRenderPassBeginInfo and if the render pass object included an element in VkRenderPassMultiviewCreateInfo::pViewMasks that set bit n, then perViewRenderAreaCount must be at least equal to n+1.
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-pNext-07866NNoneexplicitVkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOMIf this structure is in the pNext chain of VkRenderingInfo and if VkRenderingInfo::viewMask set bit n, then perViewRenderAreaCount must be at least equal to n+1.
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-pPerViewRenderAreas-parameterYNoneimplicitVkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOMIf perViewRenderAreaCount is not 0, pPerViewRenderAreas must be a valid pointer to an array of perViewRenderAreaCount VkRect2D structures
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-sType-sTypeYNoneimplicitVkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOMsType must be VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM
VUID-VkOpticalFlowExecuteInfoNV-flags-parameterYNoneimplicitVkOpticalFlowExecuteInfoNVflags must be a valid combination of VkOpticalFlowExecuteFlagBitsNV values
VUID-VkOpticalFlowExecuteInfoNV-pNext-pNextYNoneimplicitVkOpticalFlowExecuteInfoNVpNext must be NULL
VUID-VkOpticalFlowExecuteInfoNV-pRegions-parameterYNoneimplicitVkOpticalFlowExecuteInfoNVIf regionCount is not 0, pRegions must be a valid pointer to an array of regionCount VkRect2D structures
VUID-VkOpticalFlowExecuteInfoNV-regionCount-07593NNoneexplicitVkOpticalFlowExecuteInfoNVregionCount must be 0 if VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV was not set for VkOpticalFlowSessionNV on which this command is operating
VUID-VkOpticalFlowExecuteInfoNV-sType-sTypeYNoneimplicitVkOpticalFlowExecuteInfoNVsType must be VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV
VUID-VkOpticalFlowImageFormatInfoNV-sType-sTypeYNoneimplicitVkOpticalFlowImageFormatInfoNVsType must be VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV
VUID-VkOpticalFlowImageFormatInfoNV-usage-parameterYNoneimplicitVkOpticalFlowImageFormatInfoNVusage must be a valid combination of VkOpticalFlowUsageFlagBitsNV values
VUID-VkOpticalFlowImageFormatInfoNV-usage-requiredbitmaskYNoneimplicitVkOpticalFlowImageFormatInfoNVusage must not be 0
VUID-VkOpticalFlowImageFormatPropertiesNV-pNext-pNextYNoneimplicitVkOpticalFlowImageFormatPropertiesNVpNext must be NULL
VUID-VkOpticalFlowImageFormatPropertiesNV-sType-sTypeYNoneimplicitVkOpticalFlowImageFormatPropertiesNVsType must be VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV
VUID-VkOpticalFlowSessionCreateInfoNV-costFormat-07585NNoneexplicitVkOpticalFlowSessionCreateInfoNVcostFormat must be one of the formats returned by vkGetPhysicalDeviceOpticalFlowImageFormatsNV for VK_OPTICAL_FLOW_USAGE_COST_BIT_NV if VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV is set in flags
VUID-VkOpticalFlowSessionCreateInfoNV-costFormat-parameterYNoneimplicitVkOpticalFlowSessionCreateInfoNVIf costFormat is not 0, costFormat must be a valid VkFormat value
VUID-VkOpticalFlowSessionCreateInfoNV-flags-07588NNoneexplicitVkOpticalFlowSessionCreateInfoNVVK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV must not be set in flags if VkPhysicalDeviceOpticalFlowPropertiesNV::hintSupported is VK_FALSE
VUID-VkOpticalFlowSessionCreateInfoNV-flags-07589NNoneexplicitVkOpticalFlowSessionCreateInfoNVVK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV must not be set in flags if VkPhysicalDeviceOpticalFlowPropertiesNV::costSupported is VK_FALSE
VUID-VkOpticalFlowSessionCreateInfoNV-flags-07590NNoneexplicitVkOpticalFlowSessionCreateInfoNVVK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV must not be set in flags if VkPhysicalDeviceOpticalFlowPropertiesNV::globalFlowSupported is VK_FALSE
VUID-VkOpticalFlowSessionCreateInfoNV-flags-07591NNoneexplicitVkOpticalFlowSessionCreateInfoNVVK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV must not be set in flags if VkPhysicalDeviceOpticalFlowPropertiesNV::maxNumRegionsOfInterest is 0
VUID-VkOpticalFlowSessionCreateInfoNV-flags-07592NNoneexplicitVkOpticalFlowSessionCreateInfoNVVK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV must not be set in flags if VkPhysicalDeviceOpticalFlowPropertiesNV::bidirectionalFlowSupported is VK_FALSE
VUID-VkOpticalFlowSessionCreateInfoNV-flags-parameterYNoneimplicitVkOpticalFlowSessionCreateInfoNVflags must be a valid combination of VkOpticalFlowSessionCreateFlagBitsNV values
VUID-VkOpticalFlowSessionCreateInfoNV-flowVectorFormat-07584NNoneexplicitVkOpticalFlowSessionCreateInfoNVflowVectorFormat must be one of the formats returned by vkGetPhysicalDeviceOpticalFlowImageFormatsNV for VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV
VUID-VkOpticalFlowSessionCreateInfoNV-flowVectorFormat-parameterYNoneimplicitVkOpticalFlowSessionCreateInfoNVflowVectorFormat must be a valid VkFormat value
VUID-VkOpticalFlowSessionCreateInfoNV-height-07582NNoneexplicitVkOpticalFlowSessionCreateInfoNVheight must be greater than or equal to VkPhysicalDeviceOpticalFlowPropertiesNV::minHeight and less than or equal to VkPhysicalDeviceOpticalFlowPropertiesNV::maxHeight
VUID-VkOpticalFlowSessionCreateInfoNV-hintGridSize-07587NNoneexplicitVkOpticalFlowSessionCreateInfoNVhintGridSize must be exactly one of the bits reported in VkPhysicalDeviceOpticalFlowPropertiesNV::supportedHintGridSizes if VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV is set in flags
VUID-VkOpticalFlowSessionCreateInfoNV-hintGridSize-parameterYNoneimplicitVkOpticalFlowSessionCreateInfoNVhintGridSize must be a valid combination of VkOpticalFlowGridSizeFlagBitsNV values
VUID-VkOpticalFlowSessionCreateInfoNV-imageFormat-07583NNoneexplicitVkOpticalFlowSessionCreateInfoNVimageFormat must be one of the formats returned by vkGetPhysicalDeviceOpticalFlowImageFormatsNV for VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV
VUID-VkOpticalFlowSessionCreateInfoNV-imageFormat-parameterYNoneimplicitVkOpticalFlowSessionCreateInfoNVimageFormat must be a valid VkFormat value
VUID-VkOpticalFlowSessionCreateInfoNV-outputGridSize-07586NNoneexplicitVkOpticalFlowSessionCreateInfoNVoutputGridSize must be exactly one of the bits reported in VkPhysicalDeviceOpticalFlowPropertiesNV::supportedOutputGridSizes
VUID-VkOpticalFlowSessionCreateInfoNV-outputGridSize-parameterYNoneimplicitVkOpticalFlowSessionCreateInfoNVoutputGridSize must be a valid combination of VkOpticalFlowGridSizeFlagBitsNV values
VUID-VkOpticalFlowSessionCreateInfoNV-outputGridSize-requiredbitmaskYNoneimplicitVkOpticalFlowSessionCreateInfoNVoutputGridSize must not be 0
VUID-VkOpticalFlowSessionCreateInfoNV-pNext-pNextYNoneimplicitVkOpticalFlowSessionCreateInfoNVpNext must be NULL or a pointer to a valid instance of VkOpticalFlowSessionCreatePrivateDataInfoNV
VUID-VkOpticalFlowSessionCreateInfoNV-performanceLevel-parameterYNoneimplicitVkOpticalFlowSessionCreateInfoNVIf performanceLevel is not 0, performanceLevel must be a valid VkOpticalFlowPerformanceLevelNV value
VUID-VkOpticalFlowSessionCreateInfoNV-sType-sTypeYNoneimplicitVkOpticalFlowSessionCreateInfoNVsType must be VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV
VUID-VkOpticalFlowSessionCreateInfoNV-sType-uniqueYNoneimplicitVkOpticalFlowSessionCreateInfoNVThe sType value of each struct in the pNext chain must be unique
VUID-VkOpticalFlowSessionCreateInfoNV-width-07581NNoneexplicitVkOpticalFlowSessionCreateInfoNVwidth must be greater than or equal to VkPhysicalDeviceOpticalFlowPropertiesNV::minWidth and less than or equal to VkPhysicalDeviceOpticalFlowPropertiesNV::maxWidth
VUID-VkOpticalFlowSessionCreatePrivateDataInfoNV-pPrivateData-parameterYNoneimplicitVkOpticalFlowSessionCreatePrivateDataInfoNVpPrivateData must be a pointer value
VUID-VkOpticalFlowSessionCreatePrivateDataInfoNV-sType-sTypeYNoneimplicitVkOpticalFlowSessionCreatePrivateDataInfoNVsType must be VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV
VUID-VkOutOfBandQueueTypeInfoNV-queueType-parameterYNoneimplicitVkOutOfBandQueueTypeInfoNVqueueType must be a valid VkOutOfBandQueueTypeNV value
VUID-VkOutOfBandQueueTypeInfoNV-sType-sTypeYNoneimplicitVkOutOfBandQueueTypeInfoNVsType must be VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV
VUID-VkPerformanceConfigurationAcquireInfoINTEL-pNext-pNextYNoneimplicitVkPerformanceConfigurationAcquireInfoINTELpNext must be NULL
VUID-VkPerformanceConfigurationAcquireInfoINTEL-sType-sTypeYNoneimplicitVkPerformanceConfigurationAcquireInfoINTELsType must be VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL
VUID-VkPerformanceConfigurationAcquireInfoINTEL-type-parameterYNoneimplicitVkPerformanceConfigurationAcquireInfoINTELtype must be a valid VkPerformanceConfigurationTypeINTEL value
VUID-VkPerformanceMarkerInfoINTEL-pNext-pNextYNoneimplicitVkPerformanceMarkerInfoINTELpNext must be NULL
VUID-VkPerformanceMarkerInfoINTEL-sType-sTypeYNoneimplicitVkPerformanceMarkerInfoINTELsType must be VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL
VUID-VkPerformanceOverrideInfoINTEL-pNext-pNextYNoneimplicitVkPerformanceOverrideInfoINTELpNext must be NULL
VUID-VkPerformanceOverrideInfoINTEL-sType-sTypeYNoneimplicitVkPerformanceOverrideInfoINTELsType must be VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL
VUID-VkPerformanceOverrideInfoINTEL-type-parameterYNoneimplicitVkPerformanceOverrideInfoINTELtype must be a valid VkPerformanceOverrideTypeINTEL value
VUID-VkPerformanceStreamMarkerInfoINTEL-marker-02735NNoneexplicitVkPerformanceStreamMarkerInfoINTELThe value written by the application into marker must only used the valid bits as reported by vkGetPerformanceParameterINTEL with the VK_PERFORMANCE_PARAMETER_TYPE_STREAM_MARKER_VALID_BITS_INTEL
VUID-VkPerformanceStreamMarkerInfoINTEL-pNext-pNextYNoneimplicitVkPerformanceStreamMarkerInfoINTELpNext must be NULL
VUID-VkPerformanceStreamMarkerInfoINTEL-sType-sTypeYNoneimplicitVkPerformanceStreamMarkerInfoINTELsType must be VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL
VUID-VkPhysicalDeviceAmigoProfilingFeaturesSEC-sType-sTypeYNoneimplicitVkPhysicalDeviceAmigoProfilingFeaturesSECsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC
VUID-VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI-sType-sTypeYNoneimplicitVkPhysicalDeviceClusterCullingShaderFeaturesHUAWEIsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI
VUID-VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI-sType-sTypeYNoneimplicitVkPhysicalDeviceClusterCullingShaderPropertiesHUAWEIsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI
VUID-VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI-sType-sTypeYNoneimplicitVkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEIsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI
VUID-VkPhysicalDeviceCoherentMemoryFeaturesAMD-sType-sTypeYNoneimplicitVkPhysicalDeviceCoherentMemoryFeaturesAMDsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD
VUID-VkPhysicalDeviceComputeShaderDerivativesFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceComputeShaderDerivativesFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV
VUID-VkPhysicalDeviceCooperativeMatrixFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceCooperativeMatrixFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV
VUID-VkPhysicalDeviceCooperativeMatrixPropertiesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceCooperativeMatrixPropertiesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV
VUID-VkPhysicalDeviceCopyMemoryIndirectFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceCopyMemoryIndirectFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV
VUID-VkPhysicalDeviceCopyMemoryIndirectPropertiesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceCopyMemoryIndirectPropertiesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV
VUID-VkPhysicalDeviceCornerSampledImageFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceCornerSampledImageFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV
VUID-VkPhysicalDeviceCoverageReductionModeFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceCoverageReductionModeFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV
VUID-VkPhysicalDeviceCubicClampFeaturesQCOM-sType-sTypeYNoneimplicitVkPhysicalDeviceCubicClampFeaturesQCOMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM
VUID-VkPhysicalDeviceCubicWeightsFeaturesQCOM-sType-sTypeYNoneimplicitVkPhysicalDeviceCubicWeightsFeaturesQCOMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM
VUID-VkPhysicalDeviceCudaKernelLaunchFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceCudaKernelLaunchFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV
VUID-VkPhysicalDeviceCudaKernelLaunchPropertiesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceCudaKernelLaunchPropertiesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV
VUID-VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV
VUID-VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceDescriptorPoolOverallocationFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV
VUID-VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE-sType-sTypeYNoneimplicitVkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVEsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE
VUID-VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV
VUID-VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceDeviceGeneratedCommandsFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV
VUID-VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceDeviceGeneratedCommandsPropertiesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV
VUID-VkPhysicalDeviceDiagnosticsConfigFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceDiagnosticsConfigFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV
VUID-VkPhysicalDeviceDisplacementMicromapFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceDisplacementMicromapFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV
VUID-VkPhysicalDeviceDisplacementMicromapPropertiesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceDisplacementMicromapPropertiesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV
VUID-VkPhysicalDeviceExclusiveScissorFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceExclusiveScissorFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV
VUID-VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV
VUID-VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceExtendedSparseAddressSpacePropertiesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV
VUID-VkPhysicalDeviceExternalFormatResolveFeaturesANDROID-sType-sTypeYNoneimplicitVkPhysicalDeviceExternalFormatResolveFeaturesANDROIDsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID
VUID-VkPhysicalDeviceExternalFormatResolvePropertiesANDROID-sType-sTypeYNoneimplicitVkPhysicalDeviceExternalFormatResolvePropertiesANDROIDsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID
VUID-VkPhysicalDeviceExternalMemoryRDMAFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceExternalMemoryRDMAFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV
VUID-VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX-sType-sTypeYNoneimplicitVkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNXsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX
VUID-VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM-sType-sTypeYNoneimplicitVkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM
VUID-VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM-sType-sTypeYNoneimplicitVkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM
VUID-VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceFragmentShadingRateEnumsFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV
VUID-VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV-maxFragmentShadingRateInvocationCount-parameterYNoneimplicitVkPhysicalDeviceFragmentShadingRateEnumsPropertiesNVmaxFragmentShadingRateInvocationCount must be a valid VkSampleCountFlagBits value
VUID-VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceFragmentShadingRateEnumsPropertiesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV
VUID-VkPhysicalDeviceImageProcessing2FeaturesQCOM-sType-sTypeYNoneimplicitVkPhysicalDeviceImageProcessing2FeaturesQCOMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM
VUID-VkPhysicalDeviceImageProcessing2PropertiesQCOM-sType-sTypeYNoneimplicitVkPhysicalDeviceImageProcessing2PropertiesQCOMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM
VUID-VkPhysicalDeviceImageProcessingFeaturesQCOM-sType-sTypeYNoneimplicitVkPhysicalDeviceImageProcessingFeaturesQCOMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM
VUID-VkPhysicalDeviceImageProcessingPropertiesQCOM-sType-sTypeYNoneimplicitVkPhysicalDeviceImageProcessingPropertiesQCOMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM
VUID-VkPhysicalDeviceInheritedViewportScissorFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceInheritedViewportScissorFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV
VUID-VkPhysicalDeviceInvocationMaskFeaturesHUAWEI-sType-sTypeYNoneimplicitVkPhysicalDeviceInvocationMaskFeaturesHUAWEIsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI
VUID-VkPhysicalDeviceLayeredDriverPropertiesMSFT-sType-sTypeYNoneimplicitVkPhysicalDeviceLayeredDriverPropertiesMSFTsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT
VUID-VkPhysicalDeviceLinearColorAttachmentFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceLinearColorAttachmentFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV
VUID-VkPhysicalDeviceMemoryDecompressionFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceMemoryDecompressionFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV
VUID-VkPhysicalDeviceMemoryDecompressionPropertiesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceMemoryDecompressionPropertiesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV
VUID-VkPhysicalDeviceMeshShaderFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceMeshShaderFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV
VUID-VkPhysicalDeviceMeshShaderPropertiesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceMeshShaderPropertiesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV
VUID-VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-sType-sTypeYNoneimplicitVkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVXsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX
VUID-VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM-sType-sTypeYNoneimplicitVkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM
VUID-VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM-sType-sTypeYNoneimplicitVkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM
VUID-VkPhysicalDeviceOpticalFlowFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceOpticalFlowFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV
VUID-VkPhysicalDeviceOpticalFlowPropertiesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceOpticalFlowPropertiesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV
VUID-VkPhysicalDevicePerStageDescriptorSetFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDevicePerStageDescriptorSetFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV
VUID-VkPhysicalDevicePresentBarrierFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDevicePresentBarrierFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV
VUID-VkPhysicalDeviceRawAccessChainsFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceRawAccessChainsFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV
VUID-VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceRayTracingInvocationReorderFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV
VUID-VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceRayTracingInvocationReorderPropertiesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV
VUID-VkPhysicalDeviceRayTracingMotionBlurFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceRayTracingMotionBlurFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV
VUID-VkPhysicalDeviceRayTracingPropertiesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceRayTracingPropertiesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV
VUID-VkPhysicalDeviceRayTracingValidationFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceRayTracingValidationFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV
VUID-VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG-sType-sTypeYNoneimplicitVkPhysicalDeviceRelaxedLineRasterizationFeaturesIMGsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG
VUID-VkPhysicalDeviceRenderPassStripedFeaturesARM-sType-sTypeYNoneimplicitVkPhysicalDeviceRenderPassStripedFeaturesARMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM
VUID-VkPhysicalDeviceRenderPassStripedPropertiesARM-sType-sTypeYNoneimplicitVkPhysicalDeviceRenderPassStripedPropertiesARMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM
VUID-VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceRepresentativeFragmentTestFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV
VUID-VkPhysicalDeviceSchedulingControlsFeaturesARM-sType-sTypeYNoneimplicitVkPhysicalDeviceSchedulingControlsFeaturesARMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM
VUID-VkPhysicalDeviceSchedulingControlsPropertiesARM-sType-sTypeYNoneimplicitVkPhysicalDeviceSchedulingControlsPropertiesARMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM
VUID-VkPhysicalDeviceSchedulingControlsPropertiesARM-schedulingControlsFlags-parameterYNoneimplicitVkPhysicalDeviceSchedulingControlsPropertiesARMschedulingControlsFlags must be a valid combination of VkPhysicalDeviceSchedulingControlsFlagBitsARM values
VUID-VkPhysicalDeviceSchedulingControlsPropertiesARM-schedulingControlsFlags-requiredbitmaskYNoneimplicitVkPhysicalDeviceSchedulingControlsPropertiesARMschedulingControlsFlags must not be 0
VUID-VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV
VUID-VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM-sType-sTypeYNoneimplicitVkPhysicalDeviceShaderCoreBuiltinsFeaturesARMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM
VUID-VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM-sType-sTypeYNoneimplicitVkPhysicalDeviceShaderCoreBuiltinsPropertiesARMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM
VUID-VkPhysicalDeviceShaderCoreProperties2AMD-sType-sTypeYNoneimplicitVkPhysicalDeviceShaderCoreProperties2AMDsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD
VUID-VkPhysicalDeviceShaderCorePropertiesAMD-sType-sTypeYNoneimplicitVkPhysicalDeviceShaderCorePropertiesAMDsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD
VUID-VkPhysicalDeviceShaderCorePropertiesARM-sType-sTypeYNoneimplicitVkPhysicalDeviceShaderCorePropertiesARMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM
VUID-VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD-sType-sTypeYNoneimplicitVkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMDsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD
VUID-VkPhysicalDeviceShaderEnqueueFeaturesAMDX-sType-sTypeYNoneimplicitVkPhysicalDeviceShaderEnqueueFeaturesAMDXsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX
VUID-VkPhysicalDeviceShaderEnqueuePropertiesAMDX-sType-sTypeYNoneimplicitVkPhysicalDeviceShaderEnqueuePropertiesAMDXsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX
VUID-VkPhysicalDeviceShaderImageFootprintFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceShaderImageFootprintFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV
VUID-VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL-sType-sTypeYNoneimplicitVkPhysicalDeviceShaderIntegerFunctions2FeaturesINTELsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL
VUID-VkPhysicalDeviceShaderSMBuiltinsFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceShaderSMBuiltinsFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV
VUID-VkPhysicalDeviceShaderSMBuiltinsPropertiesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceShaderSMBuiltinsPropertiesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV
VUID-VkPhysicalDeviceShadingRateImageFeaturesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceShadingRateImageFeaturesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV
VUID-VkPhysicalDeviceShadingRateImagePropertiesNV-sType-sTypeYNoneimplicitVkPhysicalDeviceShadingRateImagePropertiesNVsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV
VUID-VkPhysicalDeviceSubpassShadingFeaturesHUAWEI-sType-sTypeYNoneimplicitVkPhysicalDeviceSubpassShadingFeaturesHUAWEIsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI
VUID-VkPhysicalDeviceSubpassShadingPropertiesHUAWEI-sType-sTypeYNoneimplicitVkPhysicalDeviceSubpassShadingPropertiesHUAWEIsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI
VUID-VkPhysicalDeviceTilePropertiesFeaturesQCOM-sType-sTypeYNoneimplicitVkPhysicalDeviceTilePropertiesFeaturesQCOMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM
VUID-VkPhysicalDeviceYcbcrDegammaFeaturesQCOM-sType-sTypeYNoneimplicitVkPhysicalDeviceYcbcrDegammaFeaturesQCOMsType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM
VUID-VkPipelineCompilerControlCreateInfoAMD-compilerControlFlags-zerobitmaskYNoneimplicitVkPipelineCompilerControlCreateInfoAMDcompilerControlFlags must be 0
VUID-VkPipelineCompilerControlCreateInfoAMD-sType-sTypeYNoneimplicitVkPipelineCompilerControlCreateInfoAMDsType must be VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD
VUID-VkPipelineCoverageModulationStateCreateInfoNV-coverageModulationMode-parameterYNoneimplicitVkPipelineCoverageModulationStateCreateInfoNVcoverageModulationMode must be a valid VkCoverageModulationModeNV value
VUID-VkPipelineCoverageModulationStateCreateInfoNV-coverageModulationTableEnable-01405YNegativePipeline.FramebufferMixedSamplesNVexplicitVkPipelineCoverageModulationStateCreateInfoNVIf coverageModulationTableEnable is VK_TRUE, coverageModulationTableCount must be equal to the number of rasterization samples divided by the number of color samples in the subpass
VUID-VkPipelineCoverageModulationStateCreateInfoNV-flags-zerobitmaskYNoneimplicitVkPipelineCoverageModulationStateCreateInfoNVflags must be 0
VUID-VkPipelineCoverageModulationStateCreateInfoNV-sType-sTypeYNoneimplicitVkPipelineCoverageModulationStateCreateInfoNVsType must be VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV
VUID-VkPipelineCoverageReductionStateCreateInfoNV-coverageReductionMode-parameterYNoneimplicitVkPipelineCoverageReductionStateCreateInfoNVcoverageReductionMode must be a valid VkCoverageReductionModeNV value
VUID-VkPipelineCoverageReductionStateCreateInfoNV-flags-zerobitmaskYNoneimplicitVkPipelineCoverageReductionStateCreateInfoNVflags must be 0
VUID-VkPipelineCoverageReductionStateCreateInfoNV-sType-sTypeYNoneimplicitVkPipelineCoverageReductionStateCreateInfoNVsType must be VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV
VUID-VkPipelineCoverageToColorStateCreateInfoNV-coverageToColorEnable-01404YNegativePipeline.FragmentCoverageToColorNVexplicitVkPipelineCoverageToColorStateCreateInfoNVIf coverageToColorEnable is VK_TRUE, then the render pass subpass indicated by VkGraphicsPipelineCreateInfo::renderPass and VkGraphicsPipelineCreateInfo::subpass must have a color attachment at the location selected by coverageToColorLocation, with a VkFormat of VK_FORMAT_R8_UINT, VK_FORMAT_R8_SINT, VK_FORMAT_R16_UINT, VK_FORMAT_R16_SINT, VK_FORMAT_R32_UINT, or VK_FORMAT_R32_SINT
VUID-VkPipelineCoverageToColorStateCreateInfoNV-flags-zerobitmaskYNoneimplicitVkPipelineCoverageToColorStateCreateInfoNVflags must be 0
VUID-VkPipelineCoverageToColorStateCreateInfoNV-sType-sTypeYNoneimplicitVkPipelineCoverageToColorStateCreateInfoNVsType must be VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV
VUID-VkPipelineFragmentShadingRateEnumStateCreateInfoNV-sType-sTypeYNoneimplicitVkPipelineFragmentShadingRateEnumStateCreateInfoNVsType must be VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV
VUID-VkPipelineIndirectDeviceAddressInfoNV-pNext-pNextYNoneimplicitVkPipelineIndirectDeviceAddressInfoNVpNext must be NULL
VUID-VkPipelineIndirectDeviceAddressInfoNV-pipeline-09080NNoneexplicitVkPipelineIndirectDeviceAddressInfoNVpipeline must have been created with flag VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV set
VUID-VkPipelineIndirectDeviceAddressInfoNV-pipeline-09081NNoneexplicitVkPipelineIndirectDeviceAddressInfoNVpipeline must have been created with a VkComputePipelineIndirectBufferInfoNV structure specifying a valid address where its metadata will be saved
VUID-VkPipelineIndirectDeviceAddressInfoNV-pipeline-parameterYNoneimplicitVkPipelineIndirectDeviceAddressInfoNVpipeline must be a valid VkPipeline handle
VUID-VkPipelineIndirectDeviceAddressInfoNV-pipelineBindPoint-09079NNoneexplicitVkPipelineIndirectDeviceAddressInfoNVThe provided pipelineBindPoint must be of type VK_PIPELINE_BIND_POINT_COMPUTE
VUID-VkPipelineIndirectDeviceAddressInfoNV-pipelineBindPoint-parameterYNoneimplicitVkPipelineIndirectDeviceAddressInfoNVpipelineBindPoint must be a valid VkPipelineBindPoint value
VUID-VkPipelineIndirectDeviceAddressInfoNV-sType-sTypeYNoneimplicitVkPipelineIndirectDeviceAddressInfoNVsType must be VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV
VUID-VkPipelineRasterizationStateRasterizationOrderAMD-rasterizationOrder-parameterYNoneimplicitVkPipelineRasterizationStateRasterizationOrderAMDrasterizationOrder must be a valid VkRasterizationOrderAMD value
VUID-VkPipelineRasterizationStateRasterizationOrderAMD-sType-sTypeYNoneimplicitVkPipelineRasterizationStateRasterizationOrderAMDsType must be VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD
VUID-VkPipelineRepresentativeFragmentTestStateCreateInfoNV-sType-sTypeYNoneimplicitVkPipelineRepresentativeFragmentTestStateCreateInfoNVsType must be VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV
VUID-VkPipelineShaderStageNodeCreateInfoAMDX-pName-parameterYNoneimplicitVkPipelineShaderStageNodeCreateInfoAMDXIf pName is not NULL, pName must be a null-terminated UTF-8 string
VUID-VkPipelineShaderStageNodeCreateInfoAMDX-sType-sTypeYNoneimplicitVkPipelineShaderStageNodeCreateInfoAMDXsType must be VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX
VUID-VkPipelineViewportCoarseSampleOrderStateCreateInfoNV-pCustomSampleOrders-02234NNoneexplicitVkPipelineViewportCoarseSampleOrderStateCreateInfoNVThe array pCustomSampleOrders must not contain two structures with matching values for both the shadingRate and sampleCount members
VUID-VkPipelineViewportCoarseSampleOrderStateCreateInfoNV-pCustomSampleOrders-parameterYNoneimplicitVkPipelineViewportCoarseSampleOrderStateCreateInfoNVIf customSampleOrderCount is not 0, pCustomSampleOrders must be a valid pointer to an array of customSampleOrderCount valid VkCoarseSampleOrderCustomNV structures
VUID-VkPipelineViewportCoarseSampleOrderStateCreateInfoNV-sType-sTypeYNoneimplicitVkPipelineViewportCoarseSampleOrderStateCreateInfoNVsType must be VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV
VUID-VkPipelineViewportCoarseSampleOrderStateCreateInfoNV-sampleOrderType-02072YNoneexplicitVkPipelineViewportCoarseSampleOrderStateCreateInfoNVIf sampleOrderType is not VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV, customSamplerOrderCount must be 0
VUID-VkPipelineViewportCoarseSampleOrderStateCreateInfoNV-sampleOrderType-parameterYNoneimplicitVkPipelineViewportCoarseSampleOrderStateCreateInfoNVsampleOrderType must be a valid VkCoarseSampleOrderTypeNV value
VUID-VkPipelineViewportExclusiveScissorStateCreateInfoNV-exclusiveScissorCount-02027YNegativeCommand.ExclusiveScissorNVexplicitVkPipelineViewportExclusiveScissorStateCreateInfoNVIf the multiViewport feature is not enabled, exclusiveScissorCount must be 0 or 1
VUID-VkPipelineViewportExclusiveScissorStateCreateInfoNV-exclusiveScissorCount-02028YNegativeCommand.ExclusiveScissorNVexplicitVkPipelineViewportExclusiveScissorStateCreateInfoNVexclusiveScissorCount must be less than or equal to VkPhysicalDeviceLimits::maxViewports
VUID-VkPipelineViewportExclusiveScissorStateCreateInfoNV-exclusiveScissorCount-02029YNegativeCommand.ExclusiveScissorNVexplicitVkPipelineViewportExclusiveScissorStateCreateInfoNVexclusiveScissorCount must be 0 or greater than or equal to the viewportCount member of VkPipelineViewportStateCreateInfo
VUID-VkPipelineViewportExclusiveScissorStateCreateInfoNV-sType-sTypeYNoneimplicitVkPipelineViewportExclusiveScissorStateCreateInfoNVsType must be VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV
VUID-VkPipelineViewportShadingRateImageStateCreateInfoNV-sType-sTypeYNoneimplicitVkPipelineViewportShadingRateImageStateCreateInfoNVsType must be VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV
VUID-VkPipelineViewportShadingRateImageStateCreateInfoNV-shadingRateImageEnable-02056YNegativeFragmentShadingRate.ShadingRateImageNVViewportCountexplicitVkPipelineViewportShadingRateImageStateCreateInfoNVIf shadingRateImageEnable is VK_TRUE, viewportCount must be greater or equal to the viewportCount member of VkPipelineViewportStateCreateInfo
VUID-VkPipelineViewportShadingRateImageStateCreateInfoNV-viewportCount-02054YNegativeFragmentShadingRate.ShadingRateImageNVexplicitVkPipelineViewportShadingRateImageStateCreateInfoNVIf the multiViewport feature is not enabled, viewportCount must be 0 or 1
VUID-VkPipelineViewportShadingRateImageStateCreateInfoNV-viewportCount-02055YNoneexplicitVkPipelineViewportShadingRateImageStateCreateInfoNVviewportCount must be less than or equal to VkPhysicalDeviceLimits::maxViewports
VUID-VkPipelineViewportSwizzleStateCreateInfoNV-flags-zerobitmaskYNoneimplicitVkPipelineViewportSwizzleStateCreateInfoNVflags must be 0
VUID-VkPipelineViewportSwizzleStateCreateInfoNV-pViewportSwizzles-parameterYNoneimplicitVkPipelineViewportSwizzleStateCreateInfoNVpViewportSwizzles must be a valid pointer to an array of viewportCount valid VkViewportSwizzleNV structures
VUID-VkPipelineViewportSwizzleStateCreateInfoNV-sType-sTypeYNoneimplicitVkPipelineViewportSwizzleStateCreateInfoNVsType must be VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV
VUID-VkPipelineViewportSwizzleStateCreateInfoNV-viewportCount-01215YNegativePipeline.ViewportSwizzleNVexplicitVkPipelineViewportSwizzleStateCreateInfoNVviewportCount must be greater than or equal to the viewportCount set in VkPipelineViewportStateCreateInfo
VUID-VkPipelineViewportSwizzleStateCreateInfoNV-viewportCount-arraylengthYNoneimplicitVkPipelineViewportSwizzleStateCreateInfoNVviewportCount must be greater than 0
VUID-VkPipelineViewportWScalingStateCreateInfoNV-sType-sTypeYNoneimplicitVkPipelineViewportWScalingStateCreateInfoNVsType must be VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV
VUID-VkPipelineViewportWScalingStateCreateInfoNV-viewportCount-arraylengthYNoneimplicitVkPipelineViewportWScalingStateCreateInfoNVviewportCount must be greater than 0
VUID-VkPresentFrameTokenGGP-frameToken-02680NNoneexplicitVkPresentFrameTokenGGPframeToken must be a valid GgpFrameToken
VUID-VkPresentFrameTokenGGP-sType-sTypeYNoneimplicitVkPresentFrameTokenGGPsType must be VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP
VUID-VkPresentTimesInfoGOOGLE-pTimes-parameterYNoneimplicitVkPresentTimesInfoGOOGLEIf pTimes is not NULL, pTimes must be a valid pointer to an array of swapchainCount VkPresentTimeGOOGLE structures
VUID-VkPresentTimesInfoGOOGLE-sType-sTypeYNoneimplicitVkPresentTimesInfoGOOGLEsType must be VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE
VUID-VkPresentTimesInfoGOOGLE-swapchainCount-01247YNoneexplicitVkPresentTimesInfoGOOGLEswapchainCount must be the same value as VkPresentInfoKHR::swapchainCount, where VkPresentInfoKHR is included in the pNext chain of this VkPresentTimesInfoGOOGLE structure
VUID-VkPresentTimesInfoGOOGLE-swapchainCount-arraylengthYNoneimplicitVkPresentTimesInfoGOOGLEswapchainCount must be greater than 0
VUID-VkQueryLowLatencySupportNV-pQueriedLowLatencyData-parameterYNoneimplicitVkQueryLowLatencySupportNVpQueriedLowLatencyData must be a pointer value
VUID-VkQueryLowLatencySupportNV-sType-sTypeYNoneimplicitVkQueryLowLatencySupportNVsType must be VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV
VUID-VkQueryPoolPerformanceQueryCreateInfoINTEL-performanceCountersSampling-parameterYNoneimplicitVkQueryPoolPerformanceQueryCreateInfoINTELperformanceCountersSampling must be a valid VkQueryPoolSamplingModeINTEL value
VUID-VkQueryPoolPerformanceQueryCreateInfoINTEL-sType-sTypeYNoneimplicitVkQueryPoolPerformanceQueryCreateInfoINTELsType must be VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL
VUID-VkQueueFamilyCheckpointProperties2NV-sType-sTypeYNoneimplicitVkQueueFamilyCheckpointProperties2NVsType must be VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV
VUID-VkQueueFamilyCheckpointPropertiesNV-sType-sTypeYNoneimplicitVkQueueFamilyCheckpointPropertiesNVsType must be VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV
VUID-VkRayTracingPipelineCreateInfoNV-None-09497YNegativeRayTracingPipelineNV.BasicUsageexplicitVkRayTracingPipelineCreateInfoNVIf the pNext chain does not include a VkPipelineCreateFlags2CreateInfoKHR structure, flags must be a valid combination of VkPipelineCreateFlagBits values
VUID-VkRayTracingPipelineCreateInfoNV-commonparentYNoneimplicitVkRayTracingPipelineCreateInfoNVBoth of basePipelineHandle, and layout that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice
VUID-VkRayTracingPipelineCreateInfoNV-flags-02904YNegativeRayTracingPipelineNV.BasicUsageexplicitVkRayTracingPipelineCreateInfoNVflags must not include VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV
VUID-VkRayTracingPipelineCreateInfoNV-flags-02957YNegativeRayTracingPipelineNV.BasicUsageexplicitVkRayTracingPipelineCreateInfoNVflags must not include both VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV and VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT at the same time
VUID-VkRayTracingPipelineCreateInfoNV-flags-03456YNegativeRayTracingPipelineNV.BasicUsageexplicitVkRayTracingPipelineCreateInfoNVflags must not include VK_PIPELINE_CREATE_LIBRARY_BIT_KHR
VUID-VkRayTracingPipelineCreateInfoNV-flags-03458YNegativeRayTracingPipelineNV.BasicUsageexplicitVkRayTracingPipelineCreateInfoNVflags must not include VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR
VUID-VkRayTracingPipelineCreateInfoNV-flags-03459YNegativeRayTracingPipelineNV.BasicUsageexplicitVkRayTracingPipelineCreateInfoNVflags must not include VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR
VUID-VkRayTracingPipelineCreateInfoNV-flags-03460YNegativeRayTracingPipelineNV.BasicUsageexplicitVkRayTracingPipelineCreateInfoNVflags must not include VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR
VUID-VkRayTracingPipelineCreateInfoNV-flags-03461YNegativeRayTracingPipelineNV.BasicUsageexplicitVkRayTracingPipelineCreateInfoNVflags must not include VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR
VUID-VkRayTracingPipelineCreateInfoNV-flags-03462YNegativeRayTracingPipelineNV.BasicUsageexplicitVkRayTracingPipelineCreateInfoNVflags must not include VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR
VUID-VkRayTracingPipelineCreateInfoNV-flags-03463YNegativeRayTracingPipelineNV.BasicUsageexplicitVkRayTracingPipelineCreateInfoNVflags must not include VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR
VUID-VkRayTracingPipelineCreateInfoNV-flags-03588YNegativeRayTracingPipelineNV.BasicUsageexplicitVkRayTracingPipelineCreateInfoNVflags must not include VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR
VUID-VkRayTracingPipelineCreateInfoNV-flags-04948YNegativeRayTracingPipelineNV.BasicUsageexplicitVkRayTracingPipelineCreateInfoNVflags must not include VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV
VUID-VkRayTracingPipelineCreateInfoNV-flags-07402NNoneexplicitVkRayTracingPipelineCreateInfoNVflags must not include VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT
VUID-VkRayTracingPipelineCreateInfoNV-flags-07984YNegativeRayTracingPipelineNV.BasicUsageexplicitVkRayTracingPipelineCreateInfoNVIf flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is -1, basePipelineHandle must be a valid ray tracing VkPipeline handle
VUID-VkRayTracingPipelineCreateInfoNV-flags-07985YNegativeRayTracingPipelineNV.BasicUsageexplicitVkRayTracingPipelineCreateInfoNVIf flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is VK_NULL_HANDLE, basePipelineIndex must be a valid index into the calling command's pCreateInfos parameter
VUID-VkRayTracingPipelineCreateInfoNV-flags-07986YNoneexplicitVkRayTracingPipelineCreateInfoNVIf flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, basePipelineIndex must be -1 or basePipelineHandle must be VK_NULL_HANDLE
VUID-VkRayTracingPipelineCreateInfoNV-flags-07998NNoneexplicitVkRayTracingPipelineCreateInfoNVflags must not include VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV
VUID-VkRayTracingPipelineCreateInfoNV-groupCount-arraylengthYNoneimplicitVkRayTracingPipelineCreateInfoNVgroupCount must be greater than 0
VUID-VkRayTracingPipelineCreateInfoNV-layout-03428NNoneexplicitVkRayTracingPipelineCreateInfoNVThe number of resources in layout accessible to each shader stage that is used by the pipeline must be less than or equal to VkPhysicalDeviceLimits::maxPerStageResources
VUID-VkRayTracingPipelineCreateInfoNV-layout-07987YNoneexplicitVkRayTracingPipelineCreateInfoNVIf a push constant block is declared in a shader, a push constant range in layout must match both the shader stage and range
VUID-VkRayTracingPipelineCreateInfoNV-layout-07988YNoneexplicitVkRayTracingPipelineCreateInfoNVIf a resource variables is declared in a shader, a descriptor slot in layout must match the shader stage
VUID-VkRayTracingPipelineCreateInfoNV-layout-07990YNoneexplicitVkRayTracingPipelineCreateInfoNVIf a resource variables is declared in a shader, and the descriptor type is not VK_DESCRIPTOR_TYPE_MUTABLE_EXT, a descriptor slot in layout must match the descriptor type
VUID-VkRayTracingPipelineCreateInfoNV-layout-07991YNoneexplicitVkRayTracingPipelineCreateInfoNVIf a resource variables is declared in a shader as an array, a descriptor slot in layout must match the descriptor count
VUID-VkRayTracingPipelineCreateInfoNV-layout-parameterYNoneimplicitVkRayTracingPipelineCreateInfoNVlayout must be a valid VkPipelineLayout handle
VUID-VkRayTracingPipelineCreateInfoNV-maxRecursionDepth-03457YNoneexplicitVkRayTracingPipelineCreateInfoNVmaxRecursionDepth must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxRecursionDepth
VUID-VkRayTracingPipelineCreateInfoNV-pGroups-parameterYNoneimplicitVkRayTracingPipelineCreateInfoNVpGroups must be a valid pointer to an array of groupCount valid VkRayTracingShaderGroupCreateInfoNV structures
VUID-VkRayTracingPipelineCreateInfoNV-pNext-pNextYNoneimplicitVkRayTracingPipelineCreateInfoNVEach pNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkPipelineCreateFlags2CreateInfoKHR or VkPipelineCreationFeedbackCreateInfo
VUID-VkRayTracingPipelineCreateInfoNV-pStages-03426NNoneexplicitVkRayTracingPipelineCreateInfoNVThe shader code for the entry points identified by pStages, and the rest of the state identified by this structure must adhere to the pipeline linking rules described in the Shader Interfaces chapter
VUID-VkRayTracingPipelineCreateInfoNV-pStages-parameterYNoneimplicitVkRayTracingPipelineCreateInfoNVpStages must be a valid pointer to an array of stageCount valid VkPipelineShaderStageCreateInfo structures
VUID-VkRayTracingPipelineCreateInfoNV-pipelineCreationCacheControl-02905YNoneexplicitVkRayTracingPipelineCreateInfoNVIf the pipelineCreationCacheControl feature is not enabled, flags must not include VK_PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT or VK_PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BIT
VUID-VkRayTracingPipelineCreateInfoNV-pipelineStageCreationFeedbackCount-06651YNegativeRayTracingPipelineNV.StageCreationFeedbackCountexplicitVkRayTracingPipelineCreateInfoNVIf VkPipelineCreationFeedbackCreateInfo::pipelineStageCreationFeedbackCount is not 0, it must be equal to stageCount
VUID-VkRayTracingPipelineCreateInfoNV-sType-sTypeYNoneimplicitVkRayTracingPipelineCreateInfoNVsType must be VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV
VUID-VkRayTracingPipelineCreateInfoNV-sType-uniqueYNoneimplicitVkRayTracingPipelineCreateInfoNVThe sType value of each struct in the pNext chain must be unique
VUID-VkRayTracingPipelineCreateInfoNV-stage-06232YNegativeRayTracingPipelineNV.ShaderGroupsexplicitVkRayTracingPipelineCreateInfoNVThe stage member of at least one element of pStages must be VK_SHADER_STAGE_RAYGEN_BIT_KHR
VUID-VkRayTracingPipelineCreateInfoNV-stage-06898NNoneexplicitVkRayTracingPipelineCreateInfoNVThe stage value in all pStages elements must be one of VK_SHADER_STAGE_RAYGEN_BIT_KHR, VK_SHADER_STAGE_ANY_HIT_BIT_KHR, VK_SHADER_STAGE_CLOSEST_HIT_BIT_KHR, VK_SHADER_STAGE_MISS_BIT_KHR, VK_SHADER_STAGE_INTERSECTION_BIT_KHR, or VK_SHADER_STAGE_CALLABLE_BIT_KHR
VUID-VkRayTracingPipelineCreateInfoNV-stageCount-arraylengthYNoneimplicitVkRayTracingPipelineCreateInfoNVstageCount must be greater than 0
VUID-VkRayTracingShaderGroupCreateInfoNV-anyHitShader-02418YNegativeRayTracingPipelineNV.ShaderGroupsexplicitVkRayTracingShaderGroupCreateInfoNVanyHitShader must be either VK_SHADER_UNUSED_NV or a valid index into VkRayTracingPipelineCreateInfoNV::pStages referring to a shader of VK_SHADER_STAGE_ANY_HIT_BIT_NV
VUID-VkRayTracingShaderGroupCreateInfoNV-closestHitShader-02417YNegativeRayTracingPipelineNV.ShaderGroupsexplicitVkRayTracingShaderGroupCreateInfoNVclosestHitShader must be either VK_SHADER_UNUSED_NV or a valid index into VkRayTracingPipelineCreateInfoNV::pStages referring to a shader of VK_SHADER_STAGE_CLOSEST_HIT_BIT_NV
VUID-VkRayTracingShaderGroupCreateInfoNV-pNext-pNextYNoneimplicitVkRayTracingShaderGroupCreateInfoNVpNext must be NULL
VUID-VkRayTracingShaderGroupCreateInfoNV-sType-sTypeYNoneimplicitVkRayTracingShaderGroupCreateInfoNVsType must be VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV
VUID-VkRayTracingShaderGroupCreateInfoNV-type-02413YNegativeRayTracingPipelineNV.ShaderGroupsexplicitVkRayTracingShaderGroupCreateInfoNVIf type is VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV then generalShader must be a valid index into VkRayTracingPipelineCreateInfoNV::pStages referring to a shader of VK_SHADER_STAGE_RAYGEN_BIT_NV, VK_SHADER_STAGE_MISS_BIT_NV, or VK_SHADER_STAGE_CALLABLE_BIT_NV
VUID-VkRayTracingShaderGroupCreateInfoNV-type-02414YNegativeRayTracingPipelineNV.ShaderGroupsexplicitVkRayTracingShaderGroupCreateInfoNVIf type is VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV then closestHitShader, anyHitShader, and intersectionShader must be VK_SHADER_UNUSED_NV
VUID-VkRayTracingShaderGroupCreateInfoNV-type-02415YNegativeRayTracingPipelineNV.ShaderGroupsexplicitVkRayTracingShaderGroupCreateInfoNVIf type is VK_RAY_TRACING_SHADER_GROUP_TYPE_PROCEDURAL_HIT_GROUP_NV then intersectionShader must be a valid index into VkRayTracingPipelineCreateInfoNV::pStages referring to a shader of VK_SHADER_STAGE_INTERSECTION_BIT_NV
VUID-VkRayTracingShaderGroupCreateInfoNV-type-02416YNegativeRayTracingPipelineNV.ShaderGroupsexplicitVkRayTracingShaderGroupCreateInfoNVIf type is VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV then intersectionShader must be VK_SHADER_UNUSED_NV
VUID-VkRayTracingShaderGroupCreateInfoNV-type-parameterYNoneimplicitVkRayTracingShaderGroupCreateInfoNVtype must be a valid VkRayTracingShaderGroupTypeKHR value
VUID-VkRenderPassStripeBeginInfoARM-pStripeInfos-parameterYNoneimplicitVkRenderPassStripeBeginInfoARMpStripeInfos must be a valid pointer to an array of stripeInfoCount valid VkRenderPassStripeInfoARM structures
VUID-VkRenderPassStripeBeginInfoARM-sType-sTypeYNoneimplicitVkRenderPassStripeBeginInfoARMsType must be VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM
VUID-VkRenderPassStripeBeginInfoARM-stripeArea-09451YNegativeDynamicRendering.BeginRenderingWithRenderPassStriped, NegativeRenderPass.BeginRenderPassWithRenderPassStripedexplicitVkRenderPassStripeBeginInfoARMThe stripeArea defined by each element of pStripeInfos must not overlap the stripeArea of any other element
VUID-VkRenderPassStripeBeginInfoARM-stripeInfoCount-09450YNegativeDynamicRendering.BeginRenderingWithRenderPassStriped, NegativeRenderPass.BeginRenderPassWithRenderPassStripedexplicitVkRenderPassStripeBeginInfoARMstripeInfoCount must be less than or equal to VkPhysicalDeviceRenderPassStripedPropertiesARM::maxRenderPassStripes
VUID-VkRenderPassStripeBeginInfoARM-stripeInfoCount-arraylengthYNoneimplicitVkRenderPassStripeBeginInfoARMstripeInfoCount must be greater than 0
VUID-VkRenderPassStripeInfoARM-pNext-pNextNNoneimplicitVkRenderPassStripeInfoARMpNext must be NULL
VUID-VkRenderPassStripeInfoARM-sType-sTypeYNoneimplicitVkRenderPassStripeInfoARMsType must be VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM
VUID-VkRenderPassStripeInfoARM-stripeArea-09452YNegativeDynamicRendering.BeginRenderingWithRenderPassStriped, NegativeRenderPass.BeginRenderPassWithRenderPassStripedexplicitVkRenderPassStripeInfoARMstripeArea.offset.x must be a multiple of VkPhysicalDeviceRenderPassStripedPropertiesARM::renderPassStripeGranularity.width
VUID-VkRenderPassStripeInfoARM-stripeArea-09453YNegativeDynamicRendering.BeginRenderingWithRenderPassStriped, NegativeRenderPass.BeginRenderPassWithRenderPassStripedexplicitVkRenderPassStripeInfoARMstripeArea.extent.width must be a multiple of VkPhysicalDeviceRenderPassStripedPropertiesARM::renderPassStripeGranularity.width, or the sum of stripeArea.offset.x and stripeArea.extent.width must be equal to the renderArea.extent.width of the render pass instance
VUID-VkRenderPassStripeInfoARM-stripeArea-09454YNegativeDynamicRendering.BeginRenderingWithRenderPassStriped, NegativeRenderPass.BeginRenderPassWithRenderPassStripedexplicitVkRenderPassStripeInfoARMstripeArea.offset.y must be a multiple of VkPhysicalDeviceRenderPassStripedPropertiesARM::renderPassStripeGranularity.height
VUID-VkRenderPassStripeInfoARM-stripeArea-09455YNegativeDynamicRendering.BeginRenderingWithRenderPassStriped, NegativeRenderPass.BeginRenderPassWithRenderPassStripedexplicitVkRenderPassStripeInfoARMstripeArea.extent.height must be a multiple of VkPhysicalDeviceRenderPassStripedPropertiesARM::renderPassStripeGranularity.height, or the sum of stripeArea.offset.y and stripeArea.extent.height must be equal to the renderArea.extent.height of the render pass instance
VUID-VkRenderPassStripeSubmitInfoARM-pStripeSemaphoreInfos-parameterYNoneimplicitVkRenderPassStripeSubmitInfoARMpStripeSemaphoreInfos must be a valid pointer to an array of stripeSemaphoreInfoCount valid VkSemaphoreSubmitInfo structures
VUID-VkRenderPassStripeSubmitInfoARM-sType-sTypeYNoneimplicitVkRenderPassStripeSubmitInfoARMsType must be VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM
VUID-VkRenderPassStripeSubmitInfoARM-semaphore-09447YNegativeDynamicRendering.RenderPassStripeInfoQueueSubmit2, NegativeRenderPass.RenderPassWithRenderPassStripedQueueSubmit2explicitVkRenderPassStripeSubmitInfoARMThe semaphore member of each element of pStripeSemaphoreInfos must have been created with a VkSemaphoreType of VK_SEMAPHORE_TYPE_BINARY
VUID-VkRenderPassStripeSubmitInfoARM-stripeSemaphoreInfoCount-arraylengthYNoneimplicitVkRenderPassStripeSubmitInfoARMstripeSemaphoreInfoCount must be greater than 0
VUID-VkRenderPassTransformBeginInfoQCOM-flags-02872NNoneexplicitVkRenderPassTransformBeginInfoQCOMThe renderpass must have been created with VkRenderPassCreateInfo::flags containing VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM
VUID-VkRenderPassTransformBeginInfoQCOM-sType-sTypeYNoneimplicitVkRenderPassTransformBeginInfoQCOMsType must be VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM
VUID-VkRenderPassTransformBeginInfoQCOM-transform-02871NNoneexplicitVkRenderPassTransformBeginInfoQCOMtransform must be VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR, VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR, VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR, or VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR
VUID-VkSamplerBlockMatchWindowCreateInfoQCOM-WindowExtent-09210NNoneexplicitVkSamplerBlockMatchWindowCreateInfoQCOMWindowExtent must not be larger than VkPhysicalDeviceImageProcessing2PropertiesQCOM::maxBlockMatchWindow.
VUID-VkSamplerBlockMatchWindowCreateInfoQCOM-sType-sTypeYNoneimplicitVkSamplerBlockMatchWindowCreateInfoQCOMsType must be VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM
VUID-VkSamplerBlockMatchWindowCreateInfoQCOM-windowCompareMode-parameterYNoneimplicitVkSamplerBlockMatchWindowCreateInfoQCOMwindowCompareMode must be a valid VkBlockMatchWindowCompareModeQCOM value
VUID-VkSamplerCubicWeightsCreateInfoQCOM-cubicWeights-parameterYNoneimplicitVkSamplerCubicWeightsCreateInfoQCOMcubicWeights must be a valid VkCubicFilterWeightsQCOM value
VUID-VkSamplerCubicWeightsCreateInfoQCOM-sType-sTypeYNoneimplicitVkSamplerCubicWeightsCreateInfoQCOMsType must be VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM
VUID-VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM-sType-sTypeYNoneimplicitVkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOMsType must be VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM
VUID-VkScreenBufferFormatPropertiesQNX-sType-sTypeYNoneimplicitVkScreenBufferFormatPropertiesQNXsType must be VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX
VUID-VkScreenBufferPropertiesQNX-pNext-pNextYNoneimplicitVkScreenBufferPropertiesQNXpNext must be NULL or a pointer to a valid instance of VkScreenBufferFormatPropertiesQNX
VUID-VkScreenBufferPropertiesQNX-sType-sTypeYNoneimplicitVkScreenBufferPropertiesQNXsType must be VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX
VUID-VkScreenBufferPropertiesQNX-sType-uniqueYNoneimplicitVkScreenBufferPropertiesQNXThe sType value of each struct in the pNext chain must be unique
VUID-VkScreenSurfaceCreateInfoQNX-context-04741NNoneexplicitVkScreenSurfaceCreateInfoQNXcontext must point to a valid QNX Screen struct _screen_context
VUID-VkScreenSurfaceCreateInfoQNX-flags-zerobitmaskYNoneimplicitVkScreenSurfaceCreateInfoQNXflags must be 0
VUID-VkScreenSurfaceCreateInfoQNX-pNext-pNextYNoneimplicitVkScreenSurfaceCreateInfoQNXpNext must be NULL
VUID-VkScreenSurfaceCreateInfoQNX-sType-sTypeYNoneimplicitVkScreenSurfaceCreateInfoQNXsType must be VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX
VUID-VkScreenSurfaceCreateInfoQNX-window-04742NNoneexplicitVkScreenSurfaceCreateInfoQNXwindow must point to a valid QNX Screen struct _screen_window
VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-04758NNoneexplicitVkSemaphoreGetZirconHandleInfoFUCHSIAhandleType must have been included in VkExportSemaphoreCreateInfo::handleTypes when semaphore's current payload was created
VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-04760NNoneexplicitVkSemaphoreGetZirconHandleInfoFUCHSIAIf handleType refers to a handle type with copy payload transference semantics, as defined below in Importing Semaphore Payloads, there must be no queue waiting on semaphore
VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-04761NNoneexplicitVkSemaphoreGetZirconHandleInfoFUCHSIAIf handleType refers to a handle type with copy payload transference semantics, semaphore must be signaled, or have an associated semaphore signal operation pending execution
VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-04762NNoneexplicitVkSemaphoreGetZirconHandleInfoFUCHSIAhandleType must be defined as a Zircon event handle
VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-parameterYNoneimplicitVkSemaphoreGetZirconHandleInfoFUCHSIAhandleType must be a valid VkExternalSemaphoreHandleTypeFlagBits value
VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-pNext-pNextYNoneimplicitVkSemaphoreGetZirconHandleInfoFUCHSIApNext must be NULL
VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-sType-sTypeYNoneimplicitVkSemaphoreGetZirconHandleInfoFUCHSIAsType must be VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA
VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-semaphore-04759NNoneexplicitVkSemaphoreGetZirconHandleInfoFUCHSIAsemaphore must not currently have its payload replaced by an imported payload as described below in Importing Semaphore Payloads unless that imported payload's handle type was included in VkExternalSemaphoreProperties::exportFromImportedHandleTypes for handleType
VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-semaphore-04763NNoneexplicitVkSemaphoreGetZirconHandleInfoFUCHSIAsemaphore must have been created with a VkSemaphoreType of VK_SEMAPHORE_TYPE_BINARY
VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-semaphore-parameterYNoneimplicitVkSemaphoreGetZirconHandleInfoFUCHSIAsemaphore must be a valid VkSemaphore handle
VUID-VkSetLatencyMarkerInfoNV-marker-parameterYNoneimplicitVkSetLatencyMarkerInfoNVmarker must be a valid VkLatencyMarkerNV value
VUID-VkSetLatencyMarkerInfoNV-sType-sTypeYNoneimplicitVkSetLatencyMarkerInfoNVsType must be VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV
VUID-VkShadingRatePaletteNV-pShadingRatePaletteEntries-parameterYNoneimplicitVkShadingRatePaletteNVpShadingRatePaletteEntries must be a valid pointer to an array of shadingRatePaletteEntryCount valid VkShadingRatePaletteEntryNV values
VUID-VkShadingRatePaletteNV-shadingRatePaletteEntryCount-02071YNegativeFragmentShadingRate.ShadingRateImageNVexplicitVkShadingRatePaletteNVshadingRatePaletteEntryCount must be between 1 and VkPhysicalDeviceShadingRateImagePropertiesNV::shadingRatePaletteSize, inclusive
VUID-VkShadingRatePaletteNV-shadingRatePaletteEntryCount-arraylengthYNoneimplicitVkShadingRatePaletteNVshadingRatePaletteEntryCount must be greater than 0
VUID-VkStreamDescriptorSurfaceCreateInfoGGP-flags-zerobitmaskYNoneimplicitVkStreamDescriptorSurfaceCreateInfoGGPflags must be 0
VUID-VkStreamDescriptorSurfaceCreateInfoGGP-pNext-pNextYNoneimplicitVkStreamDescriptorSurfaceCreateInfoGGPpNext must be NULL
VUID-VkStreamDescriptorSurfaceCreateInfoGGP-sType-sTypeYNoneimplicitVkStreamDescriptorSurfaceCreateInfoGGPsType must be VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP
VUID-VkStreamDescriptorSurfaceCreateInfoGGP-streamDescriptor-02681NNoneexplicitVkStreamDescriptorSurfaceCreateInfoGGPstreamDescriptor must be a valid GgpStreamDescriptor
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-fragmentDensityMapAttachment-06504YNegativeFragmentShadingRate.FragmentDensityMapOffsetQCOMexplicitVkSubpassFragmentDensityMapOffsetEndInfoQCOMIf VkSubpassDescription::fragmentDensityMapAttachment is not is not VK_ATTACHMENT_UNUSED and was not created with VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM, fragmentDensityOffsetCount must equal 0
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-fragmentDensityMapOffsets-06503YNegativeFragmentShadingRate.FragmentDensityMapOffsetQCOMexplicitVkSubpassFragmentDensityMapOffsetEndInfoQCOMIf the fragmentDensityMapOffsets feature is not enabled or fragment density map is not enabled in the render pass, fragmentDensityOffsetCount must equal 0
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-fragmentDensityOffsetCount-06510YNegativeFragmentShadingRate.FragmentDensityMapOffsetQCOMexplicitVkSubpassFragmentDensityMapOffsetEndInfoQCOMIf fragmentDensityOffsetCount is not 0 and multiview is enabled for the render pass, fragmentDensityOffsetCount must equal the layerCount that was specified in creating the fragment density map attachment view
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-fragmentDensityOffsetCount-06511YNegativeFragmentShadingRate.FragmentDensityMapOffsetQCOMexplicitVkSubpassFragmentDensityMapOffsetEndInfoQCOMIf fragmentDensityOffsetCount is not 0 and multiview is not enabled for the render pass, fragmentDensityOffsetCount must equal 1
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-pColorAttachments-06507YNegativeFragmentShadingRate.FragmentDensityMapOffsetQCOMexplicitVkSubpassFragmentDensityMapOffsetEndInfoQCOMIf any element of VkSubpassDescription::pColorAttachments is not is not VK_ATTACHMENT_UNUSED and was not created with VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM, fragmentDensityOffsetCount must equal 0
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-pDepthStencilAttachment-06505YNegativeFragmentShadingRate.FragmentDensityMapOffsetQCOMexplicitVkSubpassFragmentDensityMapOffsetEndInfoQCOMIf VkSubpassDescription::pDepthStencilAttachment is not is not VK_ATTACHMENT_UNUSED and was not created with VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM, fragmentDensityOffsetCount must equal 0
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-pFragmentDensityOffsets-parameterYNoneimplicitVkSubpassFragmentDensityMapOffsetEndInfoQCOMIf fragmentDensityOffsetCount is not 0, pFragmentDensityOffsets must be a valid pointer to an array of fragmentDensityOffsetCount VkOffset2D structures
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-pInputAttachments-06506YNegativeFragmentShadingRate.FragmentDensityMapOffsetQCOMexplicitVkSubpassFragmentDensityMapOffsetEndInfoQCOMIf any element of VkSubpassDescription::pInputAttachments is not is not VK_ATTACHMENT_UNUSED and was not created with VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM, fragmentDensityOffsetCount must equal 0
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-pPreserveAttachments-06509YNegativeFragmentShadingRate.FragmentDensityMapOffsetQCOMexplicitVkSubpassFragmentDensityMapOffsetEndInfoQCOMIf any element of VkSubpassDescription::pPreserveAttachments is not is not VK_ATTACHMENT_UNUSED and was not created with VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM, fragmentDensityOffsetCount must equal 0
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-pResolveAttachments-06508YNegativeFragmentShadingRate.FragmentDensityMapOffsetQCOMexplicitVkSubpassFragmentDensityMapOffsetEndInfoQCOMIf any element of VkSubpassDescription::pResolveAttachments is not is not VK_ATTACHMENT_UNUSED and was not created with VK_IMAGE_CREATE_FRAGMENT_DENSITY_MAP_OFFSET_BIT_QCOM, fragmentDensityOffsetCount must equal 0
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-sType-sTypeYNoneimplicitVkSubpassFragmentDensityMapOffsetEndInfoQCOMsType must be VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-x-06512YNegativeFragmentShadingRate.FragmentDensityMapOffsetQCOMexplicitVkSubpassFragmentDensityMapOffsetEndInfoQCOMThe x component of each element of pFragmentDensityOffsets must be an integer multiple of fragmentDensityOffsetGranularity.width
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-y-06513YNegativeFragmentShadingRate.FragmentDensityMapOffsetQCOMexplicitVkSubpassFragmentDensityMapOffsetEndInfoQCOMThe y component of each element of pFragmentDensityOffsets must be an integer multiple of fragmentDensityOffsetGranularity.height
VUID-VkSubpassShadingPipelineCreateInfoHUAWEI-renderPass-parameterYNoneimplicitVkSubpassShadingPipelineCreateInfoHUAWEIrenderPass must be a valid VkRenderPass handle
VUID-VkSubpassShadingPipelineCreateInfoHUAWEI-sType-sTypeYNoneimplicitVkSubpassShadingPipelineCreateInfoHUAWEIsType must be VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI
VUID-VkSubpassShadingPipelineCreateInfoHUAWEI-subpass-04946NNoneexplicitVkSubpassShadingPipelineCreateInfoHUAWEIsubpass must be created with VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI bind point
VUID-VkSurfaceCapabilitiesPresentBarrierNV-sType-sTypeYNoneimplicitVkSurfaceCapabilitiesPresentBarrierNVsType must be VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV
VUID-VkSwapchainDisplayNativeHdrCreateInfoAMD-localDimmingEnable-04449NNoneexplicitVkSwapchainDisplayNativeHdrCreateInfoAMDIt is only valid to set localDimmingEnable to VK_TRUE if VkDisplayNativeHdrSurfaceCapabilitiesAMD::localDimmingSupport is supported
VUID-VkSwapchainDisplayNativeHdrCreateInfoAMD-sType-sTypeYNoneimplicitVkSwapchainDisplayNativeHdrCreateInfoAMDsType must be VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD
VUID-VkSwapchainLatencyCreateInfoNV-sType-sTypeYNoneimplicitVkSwapchainLatencyCreateInfoNVsType must be VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV
VUID-VkSwapchainPresentBarrierCreateInfoNV-sType-sTypeYNoneimplicitVkSwapchainPresentBarrierCreateInfoNVsType must be VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV
VUID-VkSysmemColorSpaceFUCHSIA-colorSpace-06402NNoneexplicitVkSysmemColorSpaceFUCHSIAcolorSpace must be a ColorSpaceType as defined in fuchsia.sysmem/image_formats.fidl
VUID-VkSysmemColorSpaceFUCHSIA-pNext-pNextYNoneimplicitVkSysmemColorSpaceFUCHSIApNext must be NULL
VUID-VkSysmemColorSpaceFUCHSIA-sType-sTypeYNoneimplicitVkSysmemColorSpaceFUCHSIAsType must be VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA
VUID-VkTextureLODGatherFormatPropertiesAMD-sType-sTypeYNoneimplicitVkTextureLODGatherFormatPropertiesAMDsType must be VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD
VUID-VkTilePropertiesQCOM-pNext-pNextNNoneimplicitVkTilePropertiesQCOMpNext must be NULL
VUID-VkTilePropertiesQCOM-sType-sTypeYNoneimplicitVkTilePropertiesQCOMsType must be VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM
VUID-VkViSurfaceCreateInfoNN-flags-zerobitmaskYNoneimplicitVkViSurfaceCreateInfoNNflags must be 0
VUID-VkViSurfaceCreateInfoNN-pNext-pNextYNoneimplicitVkViSurfaceCreateInfoNNpNext must be NULL
VUID-VkViSurfaceCreateInfoNN-sType-sTypeYNoneimplicitVkViSurfaceCreateInfoNNsType must be VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN
VUID-VkViSurfaceCreateInfoNN-window-01318NNoneexplicitVkViSurfaceCreateInfoNNwindow must be a valid nn::vi::NativeWindowHandle
VUID-VkViewportSwizzleNV-w-parameterYNegativePipeline.ViewportSwizzleNVimplicitVkViewportSwizzleNVw must be a valid VkViewportCoordinateSwizzleNV value
VUID-VkViewportSwizzleNV-x-parameterYNegativePipeline.ViewportSwizzleNVimplicitVkViewportSwizzleNVx must be a valid VkViewportCoordinateSwizzleNV value
VUID-VkViewportSwizzleNV-y-parameterYNegativePipeline.ViewportSwizzleNVimplicitVkViewportSwizzleNVy must be a valid VkViewportCoordinateSwizzleNV value
VUID-VkViewportSwizzleNV-z-parameterYNegativePipeline.ViewportSwizzleNVimplicitVkViewportSwizzleNVz must be a valid VkViewportCoordinateSwizzleNV value
VUID-VkWin32KeyedMutexAcquireReleaseInfoNV-commonparentYNoneimplicitVkWin32KeyedMutexAcquireReleaseInfoNVBoth of the elements of pAcquireSyncs, and the elements of pReleaseSyncs that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice
VUID-VkWin32KeyedMutexAcquireReleaseInfoNV-pAcquireKeys-parameterYNoneimplicitVkWin32KeyedMutexAcquireReleaseInfoNVIf acquireCount is not 0, pAcquireKeys must be a valid pointer to an array of acquireCount uint64_t values
VUID-VkWin32KeyedMutexAcquireReleaseInfoNV-pAcquireSyncs-parameterYNoneimplicitVkWin32KeyedMutexAcquireReleaseInfoNVIf acquireCount is not 0, pAcquireSyncs must be a valid pointer to an array of acquireCount valid VkDeviceMemory handles
VUID-VkWin32KeyedMutexAcquireReleaseInfoNV-pAcquireTimeoutMilliseconds-parameterYNoneimplicitVkWin32KeyedMutexAcquireReleaseInfoNVIf acquireCount is not 0, pAcquireTimeoutMilliseconds must be a valid pointer to an array of acquireCount uint32_t values
VUID-VkWin32KeyedMutexAcquireReleaseInfoNV-pReleaseKeys-parameterYNoneimplicitVkWin32KeyedMutexAcquireReleaseInfoNVIf releaseCount is not 0, pReleaseKeys must be a valid pointer to an array of releaseCount uint64_t values
VUID-VkWin32KeyedMutexAcquireReleaseInfoNV-pReleaseSyncs-parameterYNoneimplicitVkWin32KeyedMutexAcquireReleaseInfoNVIf releaseCount is not 0, pReleaseSyncs must be a valid pointer to an array of releaseCount valid VkDeviceMemory handles
VUID-VkWin32KeyedMutexAcquireReleaseInfoNV-sType-sTypeYNoneimplicitVkWin32KeyedMutexAcquireReleaseInfoNVsType must be VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV
VUID-VkWriteDescriptorSetAccelerationStructureNV-accelerationStructureCount-03747YNoneexplicitVkWriteDescriptorSetAccelerationStructureNVaccelerationStructureCount must be equal to descriptorCount in the extended structure
VUID-VkWriteDescriptorSetAccelerationStructureNV-accelerationStructureCount-arraylengthYNoneimplicitVkWriteDescriptorSetAccelerationStructureNVaccelerationStructureCount must be greater than 0
VUID-VkWriteDescriptorSetAccelerationStructureNV-pAccelerationStructures-03748YNoneexplicitVkWriteDescriptorSetAccelerationStructureNVEach acceleration structure in pAccelerationStructures must have been created with VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR
VUID-VkWriteDescriptorSetAccelerationStructureNV-pAccelerationStructures-03749YNoneexplicitVkWriteDescriptorSetAccelerationStructureNVIf the nullDescriptor feature is not enabled, each member of pAccelerationStructures must not be VK_NULL_HANDLE
VUID-VkWriteDescriptorSetAccelerationStructureNV-pAccelerationStructures-parameterYNoneimplicitVkWriteDescriptorSetAccelerationStructureNVpAccelerationStructures must be a valid pointer to an array of accelerationStructureCount valid or VK_NULL_HANDLE VkAccelerationStructureNV handles
VUID-VkWriteDescriptorSetAccelerationStructureNV-sType-sTypeYNoneimplicitVkWriteDescriptorSetAccelerationStructureNVsType must be VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV
VUID-WarpIDARM-WarpIDARM-07603NNoneexplicitWarpIDARMThe variable decorated with WarpIDARM must be declared using the Input Storage Class
VUID-WarpIDARM-WarpIDARM-07604NNoneexplicitWarpIDARMThe variable decorated with WarpIDARM must be declared as a scalar 32-bit integer value
VUID-WarpIDNV-WarpIDNV-04420NNoneexplicitWarpIDNVThe variable decorated with WarpIDNV must be declared using the Input Storage Class
VUID-WarpIDNV-WarpIDNV-04421NNoneexplicitWarpIDNVThe variable decorated with WarpIDNV must be declared as a scalar 32-bit integer value
VUID-WarpMaxIDARM-WarpMaxIDARM-07601NNoneexplicitWarpMaxIDARMThe variable decorated with WarpMaxIDARM must be declared using the Input Storage Class
VUID-WarpMaxIDARM-WarpMaxIDARM-07602NNoneexplicitWarpMaxIDARMThe variable decorated with WarpMaxIDARM must be declared as a scalar 32-bit integer value
VUID-WarpsPerSMNV-WarpsPerSMNV-04418NNoneexplicitWarpsPerSMNVThe variable decorated with WarpsPerSMNV must be declared using the Input Storage Class
VUID-WarpsPerSMNV-WarpsPerSMNV-04419NNoneexplicitWarpsPerSMNVThe variable decorated with WarpsPerSMNV must be declared as a scalar 32-bit integer value
VUID-vkAcquirePerformanceConfigurationINTEL-device-parameterYNoneimplicitvkAcquirePerformanceConfigurationINTELdevice must be a valid VkDevice handle
VUID-vkAcquirePerformanceConfigurationINTEL-pAcquireInfo-parameterYNoneimplicitvkAcquirePerformanceConfigurationINTELpAcquireInfo must be a valid pointer to a valid VkPerformanceConfigurationAcquireInfoINTEL structure
VUID-vkAcquirePerformanceConfigurationINTEL-pConfiguration-parameterYNoneimplicitvkAcquirePerformanceConfigurationINTELpConfiguration must be a valid pointer to a VkPerformanceConfigurationINTEL handle
VUID-vkAcquireWinrtDisplayNV-display-parameterYNoneimplicitvkAcquireWinrtDisplayNVdisplay must be a valid VkDisplayKHR handle
VUID-vkAcquireWinrtDisplayNV-display-parentYNoneimplicitvkAcquireWinrtDisplayNVdisplay must have been created, allocated, or retrieved from physicalDevice
VUID-vkAcquireWinrtDisplayNV-physicalDevice-parameterYNoneimplicitvkAcquireWinrtDisplayNVphysicalDevice must be a valid VkPhysicalDevice handle
VUID-vkBindAccelerationStructureMemoryNV-bindInfoCount-arraylengthYNoneimplicitvkBindAccelerationStructureMemoryNVbindInfoCount must be greater than 0
VUID-vkBindAccelerationStructureMemoryNV-device-parameterYNoneimplicitvkBindAccelerationStructureMemoryNVdevice must be a valid VkDevice handle
VUID-vkBindAccelerationStructureMemoryNV-pBindInfos-parameterYNoneimplicitvkBindAccelerationStructureMemoryNVpBindInfos must be a valid pointer to an array of bindInfoCount valid VkBindAccelerationStructureMemoryInfoNV structures
VUID-vkBindOpticalFlowSessionImageNV-bindingPoint-parameterYNoneimplicitvkBindOpticalFlowSessionImageNVbindingPoint must be a valid VkOpticalFlowSessionBindingPointNV value
VUID-vkBindOpticalFlowSessionImageNV-device-parameterYNoneimplicitvkBindOpticalFlowSessionImageNVdevice must be a valid VkDevice handle
VUID-vkBindOpticalFlowSessionImageNV-layout-parameterYNoneimplicitvkBindOpticalFlowSessionImageNVlayout must be a valid VkImageLayout value
VUID-vkBindOpticalFlowSessionImageNV-session-parameterYNoneimplicitvkBindOpticalFlowSessionImageNVsession must be a valid VkOpticalFlowSessionNV handle
VUID-vkBindOpticalFlowSessionImageNV-session-parentYNoneimplicitvkBindOpticalFlowSessionImageNVsession must have been created, allocated, or retrieved from device
VUID-vkBindOpticalFlowSessionImageNV-view-parameterYNoneimplicitvkBindOpticalFlowSessionImageNVIf view is not VK_NULL_HANDLE, view must be a valid VkImageView handle
VUID-vkBindOpticalFlowSessionImageNV-view-parentYNoneimplicitvkBindOpticalFlowSessionImageNVIf view is a valid handle, it must have been created, allocated, or retrieved from device
VUID-vkCmdBindInvocationMaskHUAWEI-None-04976NNoneexplicitvkCmdBindInvocationMaskHUAWEIThe invocationMask feature must be enabled
VUID-vkCmdBindInvocationMaskHUAWEI-None-04982NNoneexplicitvkCmdBindInvocationMaskHUAWEIEach element in the invocation mask image must have the value 0 or 1. The value 1 means the invocation is active
VUID-vkCmdBindInvocationMaskHUAWEI-commandBuffer-cmdpoolYNoneimplicitvkCmdBindInvocationMaskHUAWEIThe VkCommandPool that commandBuffer was allocated from must support compute operations
VUID-vkCmdBindInvocationMaskHUAWEI-commandBuffer-parameterYNoneimplicitvkCmdBindInvocationMaskHUAWEIcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdBindInvocationMaskHUAWEI-commandBuffer-recordingYNoneimplicitvkCmdBindInvocationMaskHUAWEIcommandBuffer must be in the recording state
VUID-vkCmdBindInvocationMaskHUAWEI-commonparentYNoneimplicitvkCmdBindInvocationMaskHUAWEIBoth of commandBuffer, and imageView that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice
VUID-vkCmdBindInvocationMaskHUAWEI-depth-04983NNoneexplicitvkCmdBindInvocationMaskHUAWEIdepth in vkCmdTraceRaysKHR must be 1
VUID-vkCmdBindInvocationMaskHUAWEI-imageLayout-parameterYNoneimplicitvkCmdBindInvocationMaskHUAWEIimageLayout must be a valid VkImageLayout value
VUID-vkCmdBindInvocationMaskHUAWEI-imageView-04977NNoneexplicitvkCmdBindInvocationMaskHUAWEIIf imageView is not VK_NULL_HANDLE, it must be a valid VkImageView handle of type VK_IMAGE_VIEW_TYPE_2D
VUID-vkCmdBindInvocationMaskHUAWEI-imageView-04978NNoneexplicitvkCmdBindInvocationMaskHUAWEIIf imageView is not VK_NULL_HANDLE, it must have a format of VK_FORMAT_R8_UINT
VUID-vkCmdBindInvocationMaskHUAWEI-imageView-04979NNoneexplicitvkCmdBindInvocationMaskHUAWEIIf imageView is not VK_NULL_HANDLE, it must have been created with VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI set
VUID-vkCmdBindInvocationMaskHUAWEI-imageView-04980NNoneexplicitvkCmdBindInvocationMaskHUAWEIIf imageView is not VK_NULL_HANDLE, imageLayout must be VK_IMAGE_LAYOUT_GENERAL
VUID-vkCmdBindInvocationMaskHUAWEI-imageView-parameterYNoneimplicitvkCmdBindInvocationMaskHUAWEIIf imageView is not VK_NULL_HANDLE, imageView must be a valid VkImageView handle
VUID-vkCmdBindInvocationMaskHUAWEI-renderpassYNoneimplicitvkCmdBindInvocationMaskHUAWEIThis command must only be called outside of a render pass instance
VUID-vkCmdBindInvocationMaskHUAWEI-videocodingYNoneimplicitvkCmdBindInvocationMaskHUAWEIThis command must only be called outside of a video coding scope
VUID-vkCmdBindInvocationMaskHUAWEI-width-04981NNoneexplicitvkCmdBindInvocationMaskHUAWEIThread mask image resolution must match the width and height in vkCmdTraceRaysKHR
VUID-vkCmdBindPipelineShaderGroupNV-commandBuffer-cmdpoolYNoneimplicitvkCmdBindPipelineShaderGroupNVThe VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations
VUID-vkCmdBindPipelineShaderGroupNV-commandBuffer-parameterYNoneimplicitvkCmdBindPipelineShaderGroupNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdBindPipelineShaderGroupNV-commandBuffer-recordingYNoneimplicitvkCmdBindPipelineShaderGroupNVcommandBuffer must be in the recording state
VUID-vkCmdBindPipelineShaderGroupNV-commonparentYNoneimplicitvkCmdBindPipelineShaderGroupNVBoth of commandBuffer, and pipeline must have been created, allocated, or retrieved from the same VkDevice
VUID-vkCmdBindPipelineShaderGroupNV-deviceGeneratedCommands-02896NNoneexplicitvkCmdBindPipelineShaderGroupNVThe deviceGeneratedCommands feature must be enabled
VUID-vkCmdBindPipelineShaderGroupNV-groupIndex-02893NNoneexplicitvkCmdBindPipelineShaderGroupNVgroupIndex must be 0 or less than the effective VkGraphicsPipelineShaderGroupsCreateInfoNV::groupCount including the referenced pipelines
VUID-vkCmdBindPipelineShaderGroupNV-groupIndex-02895NNoneexplicitvkCmdBindPipelineShaderGroupNVThe same restrictions as vkCmdBindPipeline apply as if the bound pipeline was created only with the Shader Group from the groupIndex information
VUID-vkCmdBindPipelineShaderGroupNV-pipeline-parameterYNoneimplicitvkCmdBindPipelineShaderGroupNVpipeline must be a valid VkPipeline handle
VUID-vkCmdBindPipelineShaderGroupNV-pipelineBindPoint-02894NNoneexplicitvkCmdBindPipelineShaderGroupNVThe pipelineBindPoint must be VK_PIPELINE_BIND_POINT_GRAPHICS
VUID-vkCmdBindPipelineShaderGroupNV-pipelineBindPoint-parameterYNoneimplicitvkCmdBindPipelineShaderGroupNVpipelineBindPoint must be a valid VkPipelineBindPoint value
VUID-vkCmdBindPipelineShaderGroupNV-videocodingYNoneimplicitvkCmdBindPipelineShaderGroupNVThis command must only be called outside of a video coding scope
VUID-vkCmdBindShadingRateImageNV-None-02058YNoneexplicitvkCmdBindShadingRateImageNVThe shadingRateImage feature must be enabled
VUID-vkCmdBindShadingRateImageNV-commandBuffer-cmdpoolYNoneimplicitvkCmdBindShadingRateImageNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdBindShadingRateImageNV-commandBuffer-parameterYNoneimplicitvkCmdBindShadingRateImageNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdBindShadingRateImageNV-commandBuffer-recordingYNoneimplicitvkCmdBindShadingRateImageNVcommandBuffer must be in the recording state
VUID-vkCmdBindShadingRateImageNV-commonparentYNoneimplicitvkCmdBindShadingRateImageNVBoth of commandBuffer, and imageView that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice
VUID-vkCmdBindShadingRateImageNV-imageLayout-02063YNegativeFragmentShadingRate.ShadingRateImageNVexplicitvkCmdBindShadingRateImageNVIf imageView is not VK_NULL_HANDLE, imageLayout must be VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV or VK_IMAGE_LAYOUT_GENERAL
VUID-vkCmdBindShadingRateImageNV-imageLayout-parameterYNoneimplicitvkCmdBindShadingRateImageNVimageLayout must be a valid VkImageLayout value
VUID-vkCmdBindShadingRateImageNV-imageView-02059YNoneexplicitvkCmdBindShadingRateImageNVIf imageView is not VK_NULL_HANDLE, it must be a valid VkImageView handle of type VK_IMAGE_VIEW_TYPE_2D or VK_IMAGE_VIEW_TYPE_2D_ARRAY
VUID-vkCmdBindShadingRateImageNV-imageView-02060YNegativeFragmentShadingRate.ShadingRateImageNVexplicitvkCmdBindShadingRateImageNVIf imageView is not VK_NULL_HANDLE, it must have a format of VK_FORMAT_R8_UINT
VUID-vkCmdBindShadingRateImageNV-imageView-02061YNegativeFragmentShadingRate.ShadingRateImageNVexplicitvkCmdBindShadingRateImageNVIf imageView is not VK_NULL_HANDLE, it must have been created with a usage value including VK_IMAGE_USAGE_SHADING_RATE_IMAGE_BIT_NV
VUID-vkCmdBindShadingRateImageNV-imageView-02062YNegativeFragmentShadingRate.ShadingRateImageNVexplicitvkCmdBindShadingRateImageNVIf imageView is not VK_NULL_HANDLE, imageLayout must match the actual VkImageLayout of each subresource accessible from imageView at the time the subresource is accessed
VUID-vkCmdBindShadingRateImageNV-imageView-parameterYNoneimplicitvkCmdBindShadingRateImageNVIf imageView is not VK_NULL_HANDLE, imageView must be a valid VkImageView handle
VUID-vkCmdBindShadingRateImageNV-videocodingYNoneimplicitvkCmdBindShadingRateImageNVThis command must only be called outside of a video coding scope
VUID-vkCmdBuildAccelerationStructureNV-accelerationStructureReference-03786NNoneexplicitvkCmdBuildAccelerationStructureNVEach VkAccelerationStructureInstanceKHR::accelerationStructureReference value in instanceData must be a valid device address containing a value obtained from vkGetAccelerationStructureHandleNV
VUID-vkCmdBuildAccelerationStructureNV-commandBuffer-cmdpoolYNoneimplicitvkCmdBuildAccelerationStructureNVThe VkCommandPool that commandBuffer was allocated from must support compute operations
VUID-vkCmdBuildAccelerationStructureNV-commandBuffer-parameterYNoneimplicitvkCmdBuildAccelerationStructureNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdBuildAccelerationStructureNV-commandBuffer-recordingYNegativeRayTracingNV.ValidateCmdBuildAccelerationStructureimplicitvkCmdBuildAccelerationStructureNVcommandBuffer must be in the recording state
VUID-vkCmdBuildAccelerationStructureNV-commonparentYNoneimplicitvkCmdBuildAccelerationStructureNVEach of commandBuffer, dst, instanceData, scratch, and src that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice
VUID-vkCmdBuildAccelerationStructureNV-dst-02488YNegativeRayTracingNV.ValidateCmdBuildAccelerationStructureexplicitvkCmdBuildAccelerationStructureNVdst must have been created with compatible VkAccelerationStructureInfoNV where VkAccelerationStructureInfoNV::type and VkAccelerationStructureInfoNV::flags are identical, VkAccelerationStructureInfoNV::instanceCount and VkAccelerationStructureInfoNV::geometryCount for dst are greater than or equal to the build size and each geometry in VkAccelerationStructureInfoNV::pGeometries for dst has greater than or equal to the number of vertices, indices, and AABBs
VUID-vkCmdBuildAccelerationStructureNV-dst-07787YNoneexplicitvkCmdBuildAccelerationStructureNVdst must be bound completely and contiguously to a single VkDeviceMemory object via vkBindAccelerationStructureMemoryNV
VUID-vkCmdBuildAccelerationStructureNV-dst-parameterYNoneimplicitvkCmdBuildAccelerationStructureNVdst must be a valid VkAccelerationStructureNV handle
VUID-vkCmdBuildAccelerationStructureNV-geometryCount-02241YNoneexplicitvkCmdBuildAccelerationStructureNVgeometryCount must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxGeometryCount
VUID-vkCmdBuildAccelerationStructureNV-instanceData-03523NNoneexplicitvkCmdBuildAccelerationStructureNVIf instanceData is not VK_NULL_HANDLE, instanceData must have been created with VK_BUFFER_USAGE_RAY_TRACING_BIT_NV usage flag
VUID-vkCmdBuildAccelerationStructureNV-instanceData-parameterYNoneimplicitvkCmdBuildAccelerationStructureNVIf instanceData is not VK_NULL_HANDLE, instanceData must be a valid VkBuffer handle
VUID-vkCmdBuildAccelerationStructureNV-pInfo-parameterYNoneimplicitvkCmdBuildAccelerationStructureNVpInfo must be a valid pointer to a valid VkAccelerationStructureInfoNV structure
VUID-vkCmdBuildAccelerationStructureNV-renderpassYNegativeRayTracingNV.ValidateCmdBuildAccelerationStructureimplicitvkCmdBuildAccelerationStructureNVThis command must only be called outside of a render pass instance
VUID-vkCmdBuildAccelerationStructureNV-scratch-03522NNoneexplicitvkCmdBuildAccelerationStructureNVscratch must have been created with VK_BUFFER_USAGE_RAY_TRACING_BIT_NV usage flag
VUID-vkCmdBuildAccelerationStructureNV-scratch-parameterYNoneimplicitvkCmdBuildAccelerationStructureNVscratch must be a valid VkBuffer handle
VUID-vkCmdBuildAccelerationStructureNV-src-parameterYNoneimplicitvkCmdBuildAccelerationStructureNVIf src is not VK_NULL_HANDLE, src must be a valid VkAccelerationStructureNV handle
VUID-vkCmdBuildAccelerationStructureNV-update-02489YNegativeRayTracingNV.ValidateCmdBuildAccelerationStructureexplicitvkCmdBuildAccelerationStructureNVIf update is VK_TRUE, src must not be VK_NULL_HANDLE
VUID-vkCmdBuildAccelerationStructureNV-update-02490YNegativeRayTracingNV.ValidateCmdBuildAccelerationStructureexplicitvkCmdBuildAccelerationStructureNVIf update is VK_TRUE, src must have previously been constructed with VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_UPDATE_BIT_NV set in VkAccelerationStructureInfoNV::flags in the original build
VUID-vkCmdBuildAccelerationStructureNV-update-02491YNegativeRayTracingNV.ValidateCmdBuildAccelerationStructureexplicitvkCmdBuildAccelerationStructureNVIf update is VK_FALSE, the size member of the VkMemoryRequirements structure returned from a call to vkGetAccelerationStructureMemoryRequirementsNV with VkAccelerationStructureMemoryRequirementsInfoNV::accelerationStructure set to dst and VkAccelerationStructureMemoryRequirementsInfoNV::type set to VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_BUILD_SCRATCH_NV must be less than or equal to the size of scratch minus scratchOffset
VUID-vkCmdBuildAccelerationStructureNV-update-02492YNoneexplicitvkCmdBuildAccelerationStructureNVIf update is VK_TRUE, the size member of the VkMemoryRequirements structure returned from a call to vkGetAccelerationStructureMemoryRequirementsNV with VkAccelerationStructureMemoryRequirementsInfoNV::accelerationStructure set to dst and VkAccelerationStructureMemoryRequirementsInfoNV::type set to VK_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_TYPE_UPDATE_SCRATCH_NV must be less than or equal to the size of scratch minus scratchOffset
VUID-vkCmdBuildAccelerationStructureNV-update-03524NNoneexplicitvkCmdBuildAccelerationStructureNVIf update is VK_TRUE, then objects that were previously active must not be made inactive as per Inactive Primitives and Instances
VUID-vkCmdBuildAccelerationStructureNV-update-03525NNoneexplicitvkCmdBuildAccelerationStructureNVIf update is VK_TRUE, then objects that were previously inactive must not be made active as per Inactive Primitives and Instances
VUID-vkCmdBuildAccelerationStructureNV-update-03526NNoneexplicitvkCmdBuildAccelerationStructureNVIf update is VK_TRUE, the src and dst objects must either be the same object or not have any memory aliasing
VUID-vkCmdBuildAccelerationStructureNV-videocodingYNoneimplicitvkCmdBuildAccelerationStructureNVThis command must only be called outside of a video coding scope
VUID-vkCmdCopyAccelerationStructureNV-buffer-03718YNegativeRayTracingNV.ValidateCmdCopyAccelerationStructureexplicitvkCmdCopyAccelerationStructureNVThe buffer used to create src must be bound to device memory
VUID-vkCmdCopyAccelerationStructureNV-buffer-03719YNegativeRayTracingNV.ValidateCmdCopyAccelerationStructureexplicitvkCmdCopyAccelerationStructureNVThe buffer used to create dst must be bound to device memory
VUID-vkCmdCopyAccelerationStructureNV-commandBuffer-cmdpoolYNoneimplicitvkCmdCopyAccelerationStructureNVThe VkCommandPool that commandBuffer was allocated from must support compute operations
VUID-vkCmdCopyAccelerationStructureNV-commandBuffer-parameterYNoneimplicitvkCmdCopyAccelerationStructureNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdCopyAccelerationStructureNV-commandBuffer-recordingYNegativeRayTracingNV.ValidateCmdCopyAccelerationStructureimplicitvkCmdCopyAccelerationStructureNVcommandBuffer must be in the recording state
VUID-vkCmdCopyAccelerationStructureNV-commonparentYNoneimplicitvkCmdCopyAccelerationStructureNVEach of commandBuffer, dst, and src must have been created, allocated, or retrieved from the same VkDevice
VUID-vkCmdCopyAccelerationStructureNV-dst-07791NNoneexplicitvkCmdCopyAccelerationStructureNVThe range of memory backing dst that is accessed by this command must not overlap the memory backing src that is accessed by this command
VUID-vkCmdCopyAccelerationStructureNV-dst-07792YNegativeRayTracingNV.ValidateCmdCopyAccelerationStructureexplicitvkCmdCopyAccelerationStructureNVdst must be bound completely and contiguously to a single VkDeviceMemory object via vkBindAccelerationStructureMemoryNV
VUID-vkCmdCopyAccelerationStructureNV-dst-parameterYNoneimplicitvkCmdCopyAccelerationStructureNVdst must be a valid VkAccelerationStructureNV handle
VUID-vkCmdCopyAccelerationStructureNV-mode-03410YNegativeRayTracingNV.ValidateCmdCopyAccelerationStructureexplicitvkCmdCopyAccelerationStructureNVmode must be VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR or VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR
VUID-vkCmdCopyAccelerationStructureNV-mode-parameterYNegativeRayTracingNV.ValidateCmdCopyAccelerationStructureimplicitvkCmdCopyAccelerationStructureNVmode must be a valid VkCopyAccelerationStructureModeKHR value
VUID-vkCmdCopyAccelerationStructureNV-renderpassYNegativeRayTracingNV.ValidateCmdCopyAccelerationStructureimplicitvkCmdCopyAccelerationStructureNVThis command must only be called outside of a render pass instance
VUID-vkCmdCopyAccelerationStructureNV-src-03411YNegativeRayTracingNV.ValidateCmdCopyAccelerationStructureexplicitvkCmdCopyAccelerationStructureNVIf mode is VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR, src must have been constructed with VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR in the build
VUID-vkCmdCopyAccelerationStructureNV-src-04963YNegativeRayTracingNV.ValidateCmdCopyAccelerationStructureexplicitvkCmdCopyAccelerationStructureNVThe source acceleration structure src must have been constructed prior to the execution of this command
VUID-vkCmdCopyAccelerationStructureNV-src-parameterYNoneimplicitvkCmdCopyAccelerationStructureNVsrc must be a valid VkAccelerationStructureNV handle
VUID-vkCmdCopyAccelerationStructureNV-videocodingYNoneimplicitvkCmdCopyAccelerationStructureNVThis command must only be called outside of a video coding scope
VUID-vkCmdCopyMemoryIndirectNV-None-07653NNoneexplicitvkCmdCopyMemoryIndirectNVThe indirectCopy feature must be enabled
VUID-vkCmdCopyMemoryIndirectNV-commandBuffer-07656NNoneexplicitvkCmdCopyMemoryIndirectNVThe VkCommandPool that commandBuffer was allocated from must support at least one of the VkPhysicalDeviceCopyMemoryIndirectPropertiesNV::supportedQueues
VUID-vkCmdCopyMemoryIndirectNV-commandBuffer-cmdpoolYNoneimplicitvkCmdCopyMemoryIndirectNVThe VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations
VUID-vkCmdCopyMemoryIndirectNV-commandBuffer-parameterYNoneimplicitvkCmdCopyMemoryIndirectNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdCopyMemoryIndirectNV-commandBuffer-recordingYNoneimplicitvkCmdCopyMemoryIndirectNVcommandBuffer must be in the recording state
VUID-vkCmdCopyMemoryIndirectNV-copyBufferAddress-07654NNoneexplicitvkCmdCopyMemoryIndirectNVcopyBufferAddress must be 4 byte aligned
VUID-vkCmdCopyMemoryIndirectNV-renderpassYNoneimplicitvkCmdCopyMemoryIndirectNVThis command must only be called outside of a render pass instance
VUID-vkCmdCopyMemoryIndirectNV-stride-07655NNoneexplicitvkCmdCopyMemoryIndirectNVstride must be a multiple of 4 and must be greater than or equal to sizeof(VkCopyMemoryIndirectCommandNV)
VUID-vkCmdCopyMemoryIndirectNV-videocodingYNoneimplicitvkCmdCopyMemoryIndirectNVThis command must only be called outside of a video coding scope
VUID-vkCmdCopyMemoryToImageIndirectNV-None-07660NNoneexplicitvkCmdCopyMemoryToImageIndirectNVThe indirectCopy feature must be enabled
VUID-vkCmdCopyMemoryToImageIndirectNV-aspectMask-07662NNoneexplicitvkCmdCopyMemoryToImageIndirectNVThe aspectMask member for every subresource in pImageSubresources must only have a single bit set
VUID-vkCmdCopyMemoryToImageIndirectNV-commandBuffer-07674NNoneexplicitvkCmdCopyMemoryToImageIndirectNVIf the queue family used to create the VkCommandPool which commandBuffer was allocated from does not support VK_QUEUE_GRAPHICS_BIT, for each region, the aspectMask member of pImageSubresources must not be VK_IMAGE_ASPECT_DEPTH_BIT or VK_IMAGE_ASPECT_STENCIL_BIT
VUID-vkCmdCopyMemoryToImageIndirectNV-commandBuffer-cmdpoolYNoneimplicitvkCmdCopyMemoryToImageIndirectNVThe VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations
VUID-vkCmdCopyMemoryToImageIndirectNV-commandBuffer-parameterYNoneimplicitvkCmdCopyMemoryToImageIndirectNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdCopyMemoryToImageIndirectNV-commandBuffer-recordingYNoneimplicitvkCmdCopyMemoryToImageIndirectNVcommandBuffer must be in the recording state
VUID-vkCmdCopyMemoryToImageIndirectNV-commonparentYNoneimplicitvkCmdCopyMemoryToImageIndirectNVBoth of commandBuffer, and dstImage must have been created, allocated, or retrieved from the same VkDevice
VUID-vkCmdCopyMemoryToImageIndirectNV-copyCount-arraylengthYNoneimplicitvkCmdCopyMemoryToImageIndirectNVcopyCount must be greater than 0
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07661NNoneexplicitvkCmdCopyMemoryToImageIndirectNVdstImage must not be a protected image
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07663NNoneexplicitvkCmdCopyMemoryToImageIndirectNVThe image region specified by each element in copyBufferAddress must be a region that is contained within dstImage
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07664NNoneexplicitvkCmdCopyMemoryToImageIndirectNVdstImage must have been created with VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07665NNoneexplicitvkCmdCopyMemoryToImageIndirectNVIf dstImage is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07673NNoneexplicitvkCmdCopyMemoryToImageIndirectNVdstImage must not have been created with flags containing VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07973NNoneexplicitvkCmdCopyMemoryToImageIndirectNVdstImage must have a sample count equal to VK_SAMPLE_COUNT_1_BIT
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-parameterYNoneimplicitvkCmdCopyMemoryToImageIndirectNVdstImage must be a valid VkImage handle
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImageLayout-07667NNoneexplicitvkCmdCopyMemoryToImageIndirectNVdstImageLayout must specify the layout of the image subresources of dstImage at the time this command is executed on a VkDevice
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImageLayout-07669NNoneexplicitvkCmdCopyMemoryToImageIndirectNVdstImageLayout must be VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR, or VK_IMAGE_LAYOUT_GENERAL
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImageLayout-parameterYNoneimplicitvkCmdCopyMemoryToImageIndirectNVdstImageLayout must be a valid VkImageLayout value
VUID-vkCmdCopyMemoryToImageIndirectNV-imageOffset-07672NNoneexplicitvkCmdCopyMemoryToImageIndirectNVThe imageOffset and imageExtent members of each region must respect the image transfer granularity requirements of commandBuffer's command pool's queue family, as described in VkQueueFamilyProperties
VUID-vkCmdCopyMemoryToImageIndirectNV-imageOffset-07675NNoneexplicitvkCmdCopyMemoryToImageIndirectNVFor each region in copyBufferAddress, imageOffset.y and (imageExtent.height + imageOffset.y) must both be greater than or equal to 0 and less than or equal to the height of the specified subresource
VUID-vkCmdCopyMemoryToImageIndirectNV-layerCount-08764NNoneexplicitvkCmdCopyMemoryToImageIndirectNVIf layerCount is not VK_REMAINING_ARRAY_LAYERS, the specified baseArrayLayer + layerCount of each region must be less than or equal to the arrayLayers specified in VkImageCreateInfo when dstImage was created
VUID-vkCmdCopyMemoryToImageIndirectNV-mipLevel-07670NNoneexplicitvkCmdCopyMemoryToImageIndirectNVThe specified mipLevel of each region must be less than the mipLevels specified in VkImageCreateInfo when dstImage was created
VUID-vkCmdCopyMemoryToImageIndirectNV-offset-07676NNoneexplicitvkCmdCopyMemoryToImageIndirectNVoffset must be 4 byte aligned
VUID-vkCmdCopyMemoryToImageIndirectNV-pImageSubresources-parameterYNoneimplicitvkCmdCopyMemoryToImageIndirectNVpImageSubresources must be a valid pointer to an array of copyCount valid VkImageSubresourceLayers structures
VUID-vkCmdCopyMemoryToImageIndirectNV-renderpassYNoneimplicitvkCmdCopyMemoryToImageIndirectNVThis command must only be called outside of a render pass instance
VUID-vkCmdCopyMemoryToImageIndirectNV-stride-07677NNoneexplicitvkCmdCopyMemoryToImageIndirectNVstride must be a multiple of 4 and must be greater than or equal to sizeof(VkCopyMemoryToImageIndirectCommandNV)
VUID-vkCmdCopyMemoryToImageIndirectNV-videocodingYNoneimplicitvkCmdCopyMemoryToImageIndirectNVThis command must only be called outside of a video coding scope
VUID-vkCmdCuLaunchKernelNVX-commandBuffer-cmdpoolYNoneimplicitvkCmdCuLaunchKernelNVXThe VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations
VUID-vkCmdCuLaunchKernelNVX-commandBuffer-parameterYNoneimplicitvkCmdCuLaunchKernelNVXcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdCuLaunchKernelNVX-commandBuffer-recordingYNoneimplicitvkCmdCuLaunchKernelNVXcommandBuffer must be in the recording state
VUID-vkCmdCuLaunchKernelNVX-pLaunchInfo-parameterYNoneimplicitvkCmdCuLaunchKernelNVXpLaunchInfo must be a valid pointer to a valid VkCuLaunchInfoNVX structure
VUID-vkCmdCuLaunchKernelNVX-videocodingYNoneimplicitvkCmdCuLaunchKernelNVXThis command must only be called outside of a video coding scope
VUID-vkCmdCudaLaunchKernelNV-commandBuffer-cmdpoolYNoneimplicitvkCmdCudaLaunchKernelNVThe VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations
VUID-vkCmdCudaLaunchKernelNV-commandBuffer-parameterYNoneimplicitvkCmdCudaLaunchKernelNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdCudaLaunchKernelNV-commandBuffer-recordingYNoneimplicitvkCmdCudaLaunchKernelNVcommandBuffer must be in the recording state
VUID-vkCmdCudaLaunchKernelNV-pLaunchInfo-parameterYNoneimplicitvkCmdCudaLaunchKernelNVpLaunchInfo must be a valid pointer to a valid VkCudaLaunchInfoNV structure
VUID-vkCmdCudaLaunchKernelNV-videocodingYNoneimplicitvkCmdCudaLaunchKernelNVThis command must only be called outside of a video coding scope
VUID-vkCmdDecompressMemoryIndirectCountNV-None-07692NNoneexplicitvkCmdDecompressMemoryIndirectCountNVThe memoryDecompression feature must be enabled
VUID-vkCmdDecompressMemoryIndirectCountNV-commandBuffer-cmdpoolYNoneimplicitvkCmdDecompressMemoryIndirectCountNVThe VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations
VUID-vkCmdDecompressMemoryIndirectCountNV-commandBuffer-parameterYNoneimplicitvkCmdDecompressMemoryIndirectCountNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdDecompressMemoryIndirectCountNV-commandBuffer-recordingYNoneimplicitvkCmdDecompressMemoryIndirectCountNVcommandBuffer must be in the recording state
VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsAddress-07693NNoneexplicitvkCmdDecompressMemoryIndirectCountNVIf indirectCommandsAddress comes from a non-sparse buffer then it must be bound completely and contiguously to a single VkDeviceMemory object
VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsAddress-07694NNoneexplicitvkCmdDecompressMemoryIndirectCountNVThe VkBuffer that indirectCommandsAddress comes from must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsCountAddress-07696NNoneexplicitvkCmdDecompressMemoryIndirectCountNVIf indirectCommandsCountAddress comes from a non-sparse buffer then it must be bound completely and contiguously to a single VkDeviceMemory object
VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsCountAddress-07697NNoneexplicitvkCmdDecompressMemoryIndirectCountNVThe VkBuffer that indirectCommandsCountAddress comes from must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsCountAddress-07698NNoneexplicitvkCmdDecompressMemoryIndirectCountNVindirectCommandsCountAddress must be a multiple of 4
VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsCountAddress-07699NNoneexplicitvkCmdDecompressMemoryIndirectCountNVThe count stored in indirectCommandsCountAddress must be less than or equal to VkPhysicalDeviceMemoryDecompressionPropertiesNV::maxDecompressionIndirectCount
VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsCountAddress-07701NNoneexplicitvkCmdDecompressMemoryIndirectCountNVIf the count stored in indirectCommandsCountAddress is equal to 1, (offset + sizeof(VkDecompressMemoryRegionNV)) must be less than or equal to the size of the VkBuffer that indirectCommandsAddress comes from
VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsCountAddress-07702NNoneexplicitvkCmdDecompressMemoryIndirectCountNVIf the count stored in indirectCommandsCountAddress is greater than 1, indirectCommandsAddress + sizeof(VkDecompressMemoryRegionNV) + (stride × (count stored in countBuffer - 1)) must be less than or equal to the last valid address in the VkBuffer that indirectCommandsAddress was created from
VUID-vkCmdDecompressMemoryIndirectCountNV-offset-07695NNoneexplicitvkCmdDecompressMemoryIndirectCountNVoffset must be a multiple of 4
VUID-vkCmdDecompressMemoryIndirectCountNV-renderpassYNoneimplicitvkCmdDecompressMemoryIndirectCountNVThis command must only be called outside of a render pass instance
VUID-vkCmdDecompressMemoryIndirectCountNV-stride-07700NNoneexplicitvkCmdDecompressMemoryIndirectCountNVstride must be a multiple of 4 and must be greater than or equal to sizeof(VkDecompressMemoryRegionNV)
VUID-vkCmdDecompressMemoryIndirectCountNV-videocodingYNoneimplicitvkCmdDecompressMemoryIndirectCountNVThis command must only be called outside of a video coding scope
VUID-vkCmdDecompressMemoryNV-None-07684NNoneexplicitvkCmdDecompressMemoryNVThe memoryDecompression feature must be enabled
VUID-vkCmdDecompressMemoryNV-commandBuffer-cmdpoolYNoneimplicitvkCmdDecompressMemoryNVThe VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations
VUID-vkCmdDecompressMemoryNV-commandBuffer-parameterYNoneimplicitvkCmdDecompressMemoryNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdDecompressMemoryNV-commandBuffer-recordingYNoneimplicitvkCmdDecompressMemoryNVcommandBuffer must be in the recording state
VUID-vkCmdDecompressMemoryNV-decompressRegionCount-arraylengthYNoneimplicitvkCmdDecompressMemoryNVdecompressRegionCount must be greater than 0
VUID-vkCmdDecompressMemoryNV-pDecompressMemoryRegions-parameterYNoneimplicitvkCmdDecompressMemoryNVpDecompressMemoryRegions must be a valid pointer to an array of decompressRegionCount valid VkDecompressMemoryRegionNV structures
VUID-vkCmdDecompressMemoryNV-renderpassYNoneimplicitvkCmdDecompressMemoryNVThis command must only be called outside of a render pass instance
VUID-vkCmdDecompressMemoryNV-videocodingYNoneimplicitvkCmdDecompressMemoryNVThis command must only be called outside of a video coding scope
VUID-vkCmdDispatchGraphAMDX-ConstOffset-06551NNoneexplicitvkCmdDispatchGraphAMDXIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must not use the ConstOffset and Offset operands
VUID-vkCmdDispatchGraphAMDX-NodeMaxPayloadsAMDX-09188NNoneexplicitvkCmdDispatchGraphAMDXExecution of this command must not cause any shader that declares NodeMaxPayloadsAMDX to initialize more output payloads than specified by the max number of payloads for that decoration. This requirement applies to each NodeMaxPayloadsAMDX decoration separately
VUID-vkCmdDispatchGraphAMDX-None-02691NNoneexplicitvkCmdDispatchGraphAMDXIf a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
VUID-vkCmdDispatchGraphAMDX-None-02692NNoneexplicitvkCmdDispatchGraphAMDXIf a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
VUID-vkCmdDispatchGraphAMDX-None-02693NNoneexplicitvkCmdDispatchGraphAMDXIf the VK_EXT_filter_cubic extension is not enabled and any VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, it must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
VUID-vkCmdDispatchGraphAMDX-None-06479NNoneexplicitvkCmdDispatchGraphAMDXIf a VkImageView is sampled with depth comparison, the image view's format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT
VUID-vkCmdDispatchGraphAMDX-None-06550NNoneexplicitvkCmdDispatchGraphAMDXIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions
VUID-vkCmdDispatchGraphAMDX-None-07288NNoneexplicitvkCmdDispatchGraphAMDXAny shader invocation executed by this command must terminate
VUID-vkCmdDispatchGraphAMDX-None-07888NNoneexplicitvkCmdDispatchGraphAMDXIf a VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer's format features must contain VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
VUID-vkCmdDispatchGraphAMDX-None-08114NNoneexplicitvkCmdDispatchGraphAMDXDescriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid as described by descriptor validity if they are statically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was not created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDispatchGraphAMDX-None-08115NNoneexplicitvkCmdDispatchGraphAMDXIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdBindDescriptorSets, the bound VkPipeline must have been created without VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDispatchGraphAMDX-None-08116NNoneexplicitvkCmdDispatchGraphAMDXDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDispatchGraphAMDX-None-08117NNoneexplicitvkCmdDispatchGraphAMDXIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdSetDescriptorBufferOffsetsEXT, the bound VkPipeline must have been created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDispatchGraphAMDX-None-08119NNoneexplicitvkCmdDispatchGraphAMDXIf a descriptor is dynamically used with a VkPipeline created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdDispatchGraphAMDX-None-08600NNoneexplicitvkCmdDispatchGraphAMDXFor each set n that is statically used by a bound shader, a descriptor set must have been bound to n at the same pipeline bind point, with a VkPipelineLayout that is compatible for set n, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDispatchGraphAMDX-None-08601NNoneexplicitvkCmdDispatchGraphAMDXFor each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDispatchGraphAMDX-None-08604NNoneexplicitvkCmdDispatchGraphAMDXDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command
VUID-vkCmdDispatchGraphAMDX-None-08605NNoneexplicitvkCmdDispatchGraphAMDXIf a descriptor is dynamically used with a VkShaderEXT created with a VkDescriptorSetLayout that was created with VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdDispatchGraphAMDX-None-08606NNoneexplicitvkCmdDispatchGraphAMDXIf the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command
VUID-vkCmdDispatchGraphAMDX-None-08607NNoneexplicitvkCmdDispatchGraphAMDXIf the shaderObject is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command
VUID-vkCmdDispatchGraphAMDX-None-08608NNoneexplicitvkCmdDispatchGraphAMDXIf a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state not specified as dynamic in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound
VUID-vkCmdDispatchGraphAMDX-None-08609NNoneexplicitvkCmdDispatchGraphAMDXIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
VUID-vkCmdDispatchGraphAMDX-None-08610NNoneexplicitvkCmdDispatchGraphAMDXIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage
VUID-vkCmdDispatchGraphAMDX-None-08611NNoneexplicitvkCmdDispatchGraphAMDXIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage
VUID-vkCmdDispatchGraphAMDX-None-08612NNoneexplicitvkCmdDispatchGraphAMDXIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a uniform buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDispatchGraphAMDX-None-08613NNoneexplicitvkCmdDispatchGraphAMDXIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a storage buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDispatchGraphAMDX-None-09600NNoneexplicitvkCmdDispatchGraphAMDXIf a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written
VUID-vkCmdDispatchGraphAMDX-OpImageBlockMatchSADQCOM-06975NNoneexplicitvkCmdDispatchGraphAMDXIf OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDispatchGraphAMDX-OpImageBlockMatchSADQCOM-06976NNoneexplicitvkCmdDispatchGraphAMDXIf OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdDispatchGraphAMDX-OpImageBlockMatchSSDQCOM-06974NNoneexplicitvkCmdDispatchGraphAMDXIf OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDispatchGraphAMDX-OpImageBlockMatchWindow-09215NNoneexplicitvkCmdDispatchGraphAMDXIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDispatchGraphAMDX-OpImageBlockMatchWindow-09216NNoneexplicitvkCmdDispatchGraphAMDXIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format must be a single-component format.
VUID-vkCmdDispatchGraphAMDX-OpImageBlockMatchWindow-09217NNoneexplicitvkCmdDispatchGraphAMDXIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdDispatchGraphAMDX-OpImageBoxFilterQCOM-06973NNoneexplicitvkCmdDispatchGraphAMDXIf OpImageBoxFilterQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM
VUID-vkCmdDispatchGraphAMDX-OpImageWeightedSampleQCOM-06971NNoneexplicitvkCmdDispatchGraphAMDXIf OpImageWeightedSampleQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM
VUID-vkCmdDispatchGraphAMDX-OpImageWeightedSampleQCOM-06972NNoneexplicitvkCmdDispatchGraphAMDXIf OpImageWeightedSampleQCOM uses a VkImageView as a sample weight image as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM
VUID-vkCmdDispatchGraphAMDX-OpImageWeightedSampleQCOM-06977NNoneexplicitvkCmdDispatchGraphAMDXIf OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdDispatchGraphAMDX-OpImageWeightedSampleQCOM-06978NNoneexplicitvkCmdDispatchGraphAMDXIf any command other than OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must not have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdDispatchGraphAMDX-OpImageWrite-04469NNoneexplicitvkCmdDispatchGraphAMDXIf a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format
VUID-vkCmdDispatchGraphAMDX-OpImageWrite-08795NNoneexplicitvkCmdDispatchGraphAMDXIf a VkImageView created with a format other than VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format
VUID-vkCmdDispatchGraphAMDX-OpImageWrite-08796NNoneexplicitvkCmdDispatchGraphAMDXIf a VkImageView created with the format VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have four components
VUID-vkCmdDispatchGraphAMDX-OpTypeImage-07027NNoneexplicitvkCmdDispatchGraphAMDXFor any VkImageView being written as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdDispatchGraphAMDX-OpTypeImage-07028NNoneexplicitvkCmdDispatchGraphAMDXFor any VkImageView being read as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdDispatchGraphAMDX-OpTypeImage-07029NNoneexplicitvkCmdDispatchGraphAMDXFor any VkBufferView being written as a storage texel buffer where the image format field of the OpTypeImage is Unknown, the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdDispatchGraphAMDX-OpTypeImage-07030NNoneexplicitvkCmdDispatchGraphAMDXAny VkBufferView being read as a storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdDispatchGraphAMDX-SampledType-04470NNoneexplicitvkCmdDispatchGraphAMDXIf a VkImageView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdDispatchGraphAMDX-SampledType-04471NNoneexplicitvkCmdDispatchGraphAMDXIf a VkImageView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdDispatchGraphAMDX-SampledType-04472NNoneexplicitvkCmdDispatchGraphAMDXIf a VkBufferView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdDispatchGraphAMDX-SampledType-04473NNoneexplicitvkCmdDispatchGraphAMDXIf a VkBufferView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdDispatchGraphAMDX-bufferlevelYNoneimplicitvkCmdDispatchGraphAMDXcommandBuffer must be a primary VkCommandBuffer
VUID-vkCmdDispatchGraphAMDX-commandBuffer-02707NNoneexplicitvkCmdDispatchGraphAMDXIf commandBuffer is an unprotected command buffer and protectedNoFault is not supported, any resource accessed by bound shaders must not be a protected resource
VUID-vkCmdDispatchGraphAMDX-commandBuffer-09181NNoneexplicitvkCmdDispatchGraphAMDXcommandBuffer must not be a protected command buffer
VUID-vkCmdDispatchGraphAMDX-commandBuffer-09182NNoneexplicitvkCmdDispatchGraphAMDXcommandBuffer must be a primary command buffer
VUID-vkCmdDispatchGraphAMDX-commandBuffer-cmdpoolYNoneimplicitvkCmdDispatchGraphAMDXThe VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations
VUID-vkCmdDispatchGraphAMDX-commandBuffer-parameterYNoneimplicitvkCmdDispatchGraphAMDXcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdDispatchGraphAMDX-commandBuffer-recordingYNoneimplicitvkCmdDispatchGraphAMDXcommandBuffer must be in the recording state
VUID-vkCmdDispatchGraphAMDX-cubicRangeClamp-09212NNoneexplicitvkCmdDispatchGraphAMDXIf the cubicRangeClamp feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must not have a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM
VUID-vkCmdDispatchGraphAMDX-filterCubic-02694NNoneexplicitvkCmdDispatchGraphAMDXAny VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have a VkImageViewType and format that supports cubic filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubic returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdDispatchGraphAMDX-filterCubicMinmax-02695NNoneexplicitvkCmdDispatchGraphAMDXAny VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdDispatchGraphAMDX-flags-02696NNoneexplicitvkCmdDispatchGraphAMDXAny VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
VUID-vkCmdDispatchGraphAMDX-format-07753NNoneexplicitvkCmdDispatchGraphAMDXIf a VkImageView is accessed as a result of this command, then the numeric type of the image view's format and the Sampled Type operand of the OpTypeImage must match
VUID-vkCmdDispatchGraphAMDX-infos-09146NNoneexplicitvkCmdDispatchGraphAMDXHost memory locations at indexes in the range [infos, infos + (count*stride)), at a granularity of stride must contain valid VkDispatchGraphInfoAMDX structures in the first 24 bytes
VUID-vkCmdDispatchGraphAMDX-magFilter-04553NNoneexplicitvkCmdDispatchGraphAMDXIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdDispatchGraphAMDX-magFilter-09598NNoneexplicitvkCmdDispatchGraphAMDXIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdDispatchGraphAMDX-maintenance4-08602NNoneexplicitvkCmdDispatchGraphAMDXIf the maintenance4 feature is not enabled, then for each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout and VkPushConstantRange arrays used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDispatchGraphAMDX-maxComputeWorkGroupCount-09186NNoneexplicitvkCmdDispatchGraphAMDXExecution of this command must not cause a node to be dispatched with a larger number of workgroups than that specified by either a MaxNumWorkgroupsAMDX decoration in the dispatched node or maxComputeWorkGroupCount
VUID-vkCmdDispatchGraphAMDX-maxExecutionGraphShaderPayloadCount-09187NNoneexplicitvkCmdDispatchGraphAMDXExecution of this command must not cause any shader to initialize more than maxExecutionGraphShaderPayloadCount output payloads
VUID-vkCmdDispatchGraphAMDX-mipmapMode-04770NNoneexplicitvkCmdDispatchGraphAMDXIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdDispatchGraphAMDX-mipmapMode-09599NNoneexplicitvkCmdDispatchGraphAMDXIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdDispatchGraphAMDX-pCountInfo-09145NNoneexplicitvkCmdDispatchGraphAMDXpCountInfo->infos must be a host pointer to a memory allocation at least as large as the product of count and stride
VUID-vkCmdDispatchGraphAMDX-pCountInfo-09147NNoneexplicitvkCmdDispatchGraphAMDXFor each VkDispatchGraphInfoAMDX structure in pCountInfo->infos, payloads must be a host pointer to a memory allocation at least as large as the product of payloadCount and payloadStride
VUID-vkCmdDispatchGraphAMDX-pCountInfo-09148NNoneexplicitvkCmdDispatchGraphAMDXFor each VkDispatchGraphInfoAMDX structure in pCountInfo->infos, nodeIndex must be a valid node index in the currently bound execution graph pipeline, as returned by vkGetExecutionGraphPipelineNodeIndexAMDX
VUID-vkCmdDispatchGraphAMDX-pCountInfo-09149NNoneexplicitvkCmdDispatchGraphAMDXFor each VkDispatchGraphInfoAMDX structure in pCountInfo->infos, host memory locations at indexes in the range [payloads, payloads + (payloadCount * payloadStride)), at a granularity of payloadStride must contain a payload matching the size of the input payload expected by the node in nodeIndex in the first bytes
VUID-vkCmdDispatchGraphAMDX-pCountInfo-parameterYNoneimplicitvkCmdDispatchGraphAMDXpCountInfo must be a valid pointer to a valid VkDispatchGraphCountInfoAMDX structure
VUID-vkCmdDispatchGraphAMDX-reductionMode-09213NNoneexplicitvkCmdDispatchGraphAMDXAny VkImageView being sampled with a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM as a result of this command must sample with VK_FILTER_CUBIC_EXT
VUID-vkCmdDispatchGraphAMDX-renderpassYNoneimplicitvkCmdDispatchGraphAMDXThis command must only be called outside of a render pass instance
VUID-vkCmdDispatchGraphAMDX-scratch-09183NNoneexplicitvkCmdDispatchGraphAMDXscratch must be the device address of an allocated memory range at least as large as the value of VkExecutionGraphPipelineScratchSizeAMDX::size returned by VkExecutionGraphPipelineScratchSizeAMDX for the currently bound execution graph pipeline
VUID-vkCmdDispatchGraphAMDX-scratch-09184NNoneexplicitvkCmdDispatchGraphAMDXscratch must be a device address within a VkBuffer created with the VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX or VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX flag
VUID-vkCmdDispatchGraphAMDX-scratch-09185NNoneexplicitvkCmdDispatchGraphAMDXDevice memory in the range [scratch,scratch VkExecutionGraphPipelineScratchSizeAMDX::size) must have been initialized with vkCmdInitializeGraphScratchMemoryAMDX using the currently bound execution graph pipeline, and not modified after that by anything other than another execution graph dispatch command
VUID-vkCmdDispatchGraphAMDX-selectableCubicWeights-09214NNoneexplicitvkCmdDispatchGraphAMDXIf the selectableCubicWeights feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have VkSamplerCubicWeightsCreateInfoQCOM::cubicWeights equal to VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM
VUID-vkCmdDispatchGraphAMDX-sparseImageInt64Atomics-04474NNoneexplicitvkCmdDispatchGraphAMDXIf the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdDispatchGraphAMDX-sparseImageInt64Atomics-04475NNoneexplicitvkCmdDispatchGraphAMDXIf the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdDispatchGraphAMDX-storageBuffers-06936NNoneexplicitvkCmdDispatchGraphAMDXIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDispatchGraphAMDX-uniformBuffers-06935NNoneexplicitvkCmdDispatchGraphAMDXIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDispatchGraphAMDX-videocodingYNoneimplicitvkCmdDispatchGraphAMDXThis command must only be called outside of a video coding scope
VUID-vkCmdDispatchGraphAMDX-viewType-07752NNoneexplicitvkCmdDispatchGraphAMDXIf a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Instruction/Sampler/Image View Validation
VUID-vkCmdDispatchGraphIndirectAMDX-ConstOffset-06551NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must not use the ConstOffset and Offset operands
VUID-vkCmdDispatchGraphIndirectAMDX-NodeMaxPayloadsAMDX-09188NNoneexplicitvkCmdDispatchGraphIndirectAMDXExecution of this command must not cause any shader that declares NodeMaxPayloadsAMDX to initialize more output payloads than specified by the max number of payloads for that decoration. This requirement applies to each NodeMaxPayloadsAMDX decoration separately
VUID-vkCmdDispatchGraphIndirectAMDX-None-02691NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
VUID-vkCmdDispatchGraphIndirectAMDX-None-02692NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
VUID-vkCmdDispatchGraphIndirectAMDX-None-02693NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf the VK_EXT_filter_cubic extension is not enabled and any VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, it must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
VUID-vkCmdDispatchGraphIndirectAMDX-None-06479NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a VkImageView is sampled with depth comparison, the image view's format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT
VUID-vkCmdDispatchGraphIndirectAMDX-None-06550NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions
VUID-vkCmdDispatchGraphIndirectAMDX-None-07288NNoneexplicitvkCmdDispatchGraphIndirectAMDXAny shader invocation executed by this command must terminate
VUID-vkCmdDispatchGraphIndirectAMDX-None-07888NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer's format features must contain VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
VUID-vkCmdDispatchGraphIndirectAMDX-None-08114NNoneexplicitvkCmdDispatchGraphIndirectAMDXDescriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid as described by descriptor validity if they are statically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was not created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDispatchGraphIndirectAMDX-None-08115NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdBindDescriptorSets, the bound VkPipeline must have been created without VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDispatchGraphIndirectAMDX-None-08116NNoneexplicitvkCmdDispatchGraphIndirectAMDXDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDispatchGraphIndirectAMDX-None-08117NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdSetDescriptorBufferOffsetsEXT, the bound VkPipeline must have been created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDispatchGraphIndirectAMDX-None-08119NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a descriptor is dynamically used with a VkPipeline created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdDispatchGraphIndirectAMDX-None-08600NNoneexplicitvkCmdDispatchGraphIndirectAMDXFor each set n that is statically used by a bound shader, a descriptor set must have been bound to n at the same pipeline bind point, with a VkPipelineLayout that is compatible for set n, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDispatchGraphIndirectAMDX-None-08601NNoneexplicitvkCmdDispatchGraphIndirectAMDXFor each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDispatchGraphIndirectAMDX-None-08604NNoneexplicitvkCmdDispatchGraphIndirectAMDXDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command
VUID-vkCmdDispatchGraphIndirectAMDX-None-08605NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a descriptor is dynamically used with a VkShaderEXT created with a VkDescriptorSetLayout that was created with VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdDispatchGraphIndirectAMDX-None-08606NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command
VUID-vkCmdDispatchGraphIndirectAMDX-None-08607NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf the shaderObject is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command
VUID-vkCmdDispatchGraphIndirectAMDX-None-08608NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state not specified as dynamic in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound
VUID-vkCmdDispatchGraphIndirectAMDX-None-08609NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
VUID-vkCmdDispatchGraphIndirectAMDX-None-08610NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage
VUID-vkCmdDispatchGraphIndirectAMDX-None-08611NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage
VUID-vkCmdDispatchGraphIndirectAMDX-None-08612NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a uniform buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDispatchGraphIndirectAMDX-None-08613NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a storage buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDispatchGraphIndirectAMDX-None-09600NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written
VUID-vkCmdDispatchGraphIndirectAMDX-OpImageBlockMatchSADQCOM-06975NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDispatchGraphIndirectAMDX-OpImageBlockMatchSADQCOM-06976NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdDispatchGraphIndirectAMDX-OpImageBlockMatchSSDQCOM-06974NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDispatchGraphIndirectAMDX-OpImageBlockMatchWindow-09215NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDispatchGraphIndirectAMDX-OpImageBlockMatchWindow-09216NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format must be a single-component format.
VUID-vkCmdDispatchGraphIndirectAMDX-OpImageBlockMatchWindow-09217NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdDispatchGraphIndirectAMDX-OpImageBoxFilterQCOM-06973NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf OpImageBoxFilterQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM
VUID-vkCmdDispatchGraphIndirectAMDX-OpImageWeightedSampleQCOM-06971NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf OpImageWeightedSampleQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM
VUID-vkCmdDispatchGraphIndirectAMDX-OpImageWeightedSampleQCOM-06972NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf OpImageWeightedSampleQCOM uses a VkImageView as a sample weight image as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM
VUID-vkCmdDispatchGraphIndirectAMDX-OpImageWeightedSampleQCOM-06977NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdDispatchGraphIndirectAMDX-OpImageWeightedSampleQCOM-06978NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf any command other than OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must not have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdDispatchGraphIndirectAMDX-OpImageWrite-04469NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format
VUID-vkCmdDispatchGraphIndirectAMDX-OpImageWrite-08795NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a VkImageView created with a format other than VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format
VUID-vkCmdDispatchGraphIndirectAMDX-OpImageWrite-08796NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a VkImageView created with the format VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have four components
VUID-vkCmdDispatchGraphIndirectAMDX-OpTypeImage-07027NNoneexplicitvkCmdDispatchGraphIndirectAMDXFor any VkImageView being written as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdDispatchGraphIndirectAMDX-OpTypeImage-07028NNoneexplicitvkCmdDispatchGraphIndirectAMDXFor any VkImageView being read as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdDispatchGraphIndirectAMDX-OpTypeImage-07029NNoneexplicitvkCmdDispatchGraphIndirectAMDXFor any VkBufferView being written as a storage texel buffer where the image format field of the OpTypeImage is Unknown, the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdDispatchGraphIndirectAMDX-OpTypeImage-07030NNoneexplicitvkCmdDispatchGraphIndirectAMDXAny VkBufferView being read as a storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdDispatchGraphIndirectAMDX-SampledType-04470NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a VkImageView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdDispatchGraphIndirectAMDX-SampledType-04471NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a VkImageView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdDispatchGraphIndirectAMDX-SampledType-04472NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a VkBufferView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdDispatchGraphIndirectAMDX-SampledType-04473NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a VkBufferView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdDispatchGraphIndirectAMDX-bufferlevelYNoneimplicitvkCmdDispatchGraphIndirectAMDXcommandBuffer must be a primary VkCommandBuffer
VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-02707NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf commandBuffer is an unprotected command buffer and protectedNoFault is not supported, any resource accessed by bound shaders must not be a protected resource
VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-09181NNoneexplicitvkCmdDispatchGraphIndirectAMDXcommandBuffer must not be a protected command buffer
VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-09182NNoneexplicitvkCmdDispatchGraphIndirectAMDXcommandBuffer must be a primary command buffer
VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-cmdpoolYNoneimplicitvkCmdDispatchGraphIndirectAMDXThe VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations
VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-parameterYNoneimplicitvkCmdDispatchGraphIndirectAMDXcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-recordingYNoneimplicitvkCmdDispatchGraphIndirectAMDXcommandBuffer must be in the recording state
VUID-vkCmdDispatchGraphIndirectAMDX-cubicRangeClamp-09212NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf the cubicRangeClamp feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must not have a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM
VUID-vkCmdDispatchGraphIndirectAMDX-filterCubic-02694NNoneexplicitvkCmdDispatchGraphIndirectAMDXAny VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have a VkImageViewType and format that supports cubic filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubic returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdDispatchGraphIndirectAMDX-filterCubicMinmax-02695NNoneexplicitvkCmdDispatchGraphIndirectAMDXAny VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdDispatchGraphIndirectAMDX-flags-02696NNoneexplicitvkCmdDispatchGraphIndirectAMDXAny VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
VUID-vkCmdDispatchGraphIndirectAMDX-format-07753NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a VkImageView is accessed as a result of this command, then the numeric type of the image view's format and the Sampled Type operand of the OpTypeImage must match
VUID-vkCmdDispatchGraphIndirectAMDX-infos-09153NNoneexplicitvkCmdDispatchGraphIndirectAMDXDevice memory locations at indexes in the range [infos, infos + (count*stride)), at a granularity of stride must contain valid VkDispatchGraphInfoAMDX structures in the first 24 bytes when this command is executed on the device
VUID-vkCmdDispatchGraphIndirectAMDX-magFilter-04553NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdDispatchGraphIndirectAMDX-magFilter-09598NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdDispatchGraphIndirectAMDX-maintenance4-08602NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf the maintenance4 feature is not enabled, then for each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout and VkPushConstantRange arrays used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDispatchGraphIndirectAMDX-maxComputeWorkGroupCount-09186NNoneexplicitvkCmdDispatchGraphIndirectAMDXExecution of this command must not cause a node to be dispatched with a larger number of workgroups than that specified by either a MaxNumWorkgroupsAMDX decoration in the dispatched node or maxComputeWorkGroupCount
VUID-vkCmdDispatchGraphIndirectAMDX-maxExecutionGraphShaderPayloadCount-09187NNoneexplicitvkCmdDispatchGraphIndirectAMDXExecution of this command must not cause any shader to initialize more than maxExecutionGraphShaderPayloadCount output payloads
VUID-vkCmdDispatchGraphIndirectAMDX-mipmapMode-04770NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdDispatchGraphIndirectAMDX-mipmapMode-09599NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09150NNoneexplicitvkCmdDispatchGraphIndirectAMDXpCountInfo->infos must be a device pointer to a memory allocation at least as large as the product of count and stride when this command is executed on the device
VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09151NNoneexplicitvkCmdDispatchGraphIndirectAMDXpCountInfo->infos must be a device address within a VkBuffer created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT flag
VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09152NNoneexplicitvkCmdDispatchGraphIndirectAMDXpCountInfo->infos must be a multiple of executionGraphDispatchAddressAlignment
VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09154NNoneexplicitvkCmdDispatchGraphIndirectAMDXFor each VkDispatchGraphInfoAMDX structure in pCountInfo->infos, payloads must be a device pointer to a memory allocation at least as large as the product of payloadCount and payloadStride when this command is executed on the device
VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09155NNoneexplicitvkCmdDispatchGraphIndirectAMDXFor each VkDispatchGraphInfoAMDX structure in pCountInfo->infos, payloads must be a device address within a VkBuffer created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT flag
VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09156NNoneexplicitvkCmdDispatchGraphIndirectAMDXFor each VkDispatchGraphInfoAMDX structure in pCountInfo->infos, payloads must be a multiple of executionGraphDispatchAddressAlignment
VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09157NNoneexplicitvkCmdDispatchGraphIndirectAMDXFor each VkDispatchGraphInfoAMDX structure in pCountInfo->infos, nodeIndex must be a valid node index in the currently bound execution graph pipeline, as returned by vkGetExecutionGraphPipelineNodeIndexAMDX when this command is executed on the device
VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09158NNoneexplicitvkCmdDispatchGraphIndirectAMDXFor each VkDispatchGraphInfoAMDX structure in pCountInfo->infos, device memory locations at indexes in the range [payloads, payloads + (payloadCount * payloadStride)), at a granularity of payloadStride must contain a payload matching the size of the input payload expected by the node in nodeIndex in the first bytes when this command is executed on the device
VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-parameterYNoneimplicitvkCmdDispatchGraphIndirectAMDXpCountInfo must be a valid pointer to a valid VkDispatchGraphCountInfoAMDX structure
VUID-vkCmdDispatchGraphIndirectAMDX-reductionMode-09213NNoneexplicitvkCmdDispatchGraphIndirectAMDXAny VkImageView being sampled with a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM as a result of this command must sample with VK_FILTER_CUBIC_EXT
VUID-vkCmdDispatchGraphIndirectAMDX-renderpassYNoneimplicitvkCmdDispatchGraphIndirectAMDXThis command must only be called outside of a render pass instance
VUID-vkCmdDispatchGraphIndirectAMDX-scratch-09183NNoneexplicitvkCmdDispatchGraphIndirectAMDXscratch must be the device address of an allocated memory range at least as large as the value of VkExecutionGraphPipelineScratchSizeAMDX::size returned by VkExecutionGraphPipelineScratchSizeAMDX for the currently bound execution graph pipeline
VUID-vkCmdDispatchGraphIndirectAMDX-scratch-09184NNoneexplicitvkCmdDispatchGraphIndirectAMDXscratch must be a device address within a VkBuffer created with the VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX or VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX flag
VUID-vkCmdDispatchGraphIndirectAMDX-scratch-09185NNoneexplicitvkCmdDispatchGraphIndirectAMDXDevice memory in the range [scratch,scratch VkExecutionGraphPipelineScratchSizeAMDX::size) must have been initialized with vkCmdInitializeGraphScratchMemoryAMDX using the currently bound execution graph pipeline, and not modified after that by anything other than another execution graph dispatch command
VUID-vkCmdDispatchGraphIndirectAMDX-selectableCubicWeights-09214NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf the selectableCubicWeights feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have VkSamplerCubicWeightsCreateInfoQCOM::cubicWeights equal to VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM
VUID-vkCmdDispatchGraphIndirectAMDX-sparseImageInt64Atomics-04474NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdDispatchGraphIndirectAMDX-sparseImageInt64Atomics-04475NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdDispatchGraphIndirectAMDX-storageBuffers-06936NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDispatchGraphIndirectAMDX-uniformBuffers-06935NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDispatchGraphIndirectAMDX-videocodingYNoneimplicitvkCmdDispatchGraphIndirectAMDXThis command must only be called outside of a video coding scope
VUID-vkCmdDispatchGraphIndirectAMDX-viewType-07752NNoneexplicitvkCmdDispatchGraphIndirectAMDXIf a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Instruction/Sampler/Image View Validation
VUID-vkCmdDispatchGraphIndirectCountAMDX-ConstOffset-06551NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must not use the ConstOffset and Offset operands
VUID-vkCmdDispatchGraphIndirectCountAMDX-NodeMaxPayloadsAMDX-09188NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXExecution of this command must not cause any shader that declares NodeMaxPayloadsAMDX to initialize more output payloads than specified by the max number of payloads for that decoration. This requirement applies to each NodeMaxPayloadsAMDX decoration separately
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-02691NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-02692NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-02693NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf the VK_EXT_filter_cubic extension is not enabled and any VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, it must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-06479NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a VkImageView is sampled with depth comparison, the image view's format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-06550NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-07288NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXAny shader invocation executed by this command must terminate
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-07888NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer's format features must contain VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08114NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXDescriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid as described by descriptor validity if they are statically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was not created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08115NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdBindDescriptorSets, the bound VkPipeline must have been created without VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08116NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08117NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdSetDescriptorBufferOffsetsEXT, the bound VkPipeline must have been created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08119NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a descriptor is dynamically used with a VkPipeline created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08600NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXFor each set n that is statically used by a bound shader, a descriptor set must have been bound to n at the same pipeline bind point, with a VkPipelineLayout that is compatible for set n, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08601NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXFor each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08604NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08605NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a descriptor is dynamically used with a VkShaderEXT created with a VkDescriptorSetLayout that was created with VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08606NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08607NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf the shaderObject is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08608NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state not specified as dynamic in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08609NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08610NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08611NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08612NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a uniform buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08613NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a storage buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-09600NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written
VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageBlockMatchSADQCOM-06975NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageBlockMatchSADQCOM-06976NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageBlockMatchSSDQCOM-06974NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageBlockMatchWindow-09215NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageBlockMatchWindow-09216NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format must be a single-component format.
VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageBlockMatchWindow-09217NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageBoxFilterQCOM-06973NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf OpImageBoxFilterQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM
VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageWeightedSampleQCOM-06971NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf OpImageWeightedSampleQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM
VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageWeightedSampleQCOM-06972NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf OpImageWeightedSampleQCOM uses a VkImageView as a sample weight image as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM
VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageWeightedSampleQCOM-06977NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageWeightedSampleQCOM-06978NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf any command other than OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must not have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageWrite-04469NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format
VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageWrite-08795NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a VkImageView created with a format other than VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format
VUID-vkCmdDispatchGraphIndirectCountAMDX-OpImageWrite-08796NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a VkImageView created with the format VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have four components
VUID-vkCmdDispatchGraphIndirectCountAMDX-OpTypeImage-07027NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXFor any VkImageView being written as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdDispatchGraphIndirectCountAMDX-OpTypeImage-07028NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXFor any VkImageView being read as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdDispatchGraphIndirectCountAMDX-OpTypeImage-07029NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXFor any VkBufferView being written as a storage texel buffer where the image format field of the OpTypeImage is Unknown, the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdDispatchGraphIndirectCountAMDX-OpTypeImage-07030NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXAny VkBufferView being read as a storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdDispatchGraphIndirectCountAMDX-SampledType-04470NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a VkImageView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdDispatchGraphIndirectCountAMDX-SampledType-04471NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a VkImageView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdDispatchGraphIndirectCountAMDX-SampledType-04472NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a VkBufferView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdDispatchGraphIndirectCountAMDX-SampledType-04473NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a VkBufferView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdDispatchGraphIndirectCountAMDX-bufferlevelYNoneimplicitvkCmdDispatchGraphIndirectCountAMDXcommandBuffer must be a primary VkCommandBuffer
VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-02707NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf commandBuffer is an unprotected command buffer and protectedNoFault is not supported, any resource accessed by bound shaders must not be a protected resource
VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-09181NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXcommandBuffer must not be a protected command buffer
VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-09182NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXcommandBuffer must be a primary command buffer
VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-cmdpoolYNoneimplicitvkCmdDispatchGraphIndirectCountAMDXThe VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations
VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-parameterYNoneimplicitvkCmdDispatchGraphIndirectCountAMDXcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-recordingYNoneimplicitvkCmdDispatchGraphIndirectCountAMDXcommandBuffer must be in the recording state
VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09159NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXcountInfo must be a device pointer to a memory allocation containing a valid VkDispatchGraphCountInfoAMDX structure when this command is executed on the device
VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09160NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXcountInfo must be a device address within a VkBuffer created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT flag
VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09161NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXcountInfo must be a multiple of executionGraphDispatchAddressAlignment
VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09162NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXcountInfo->infos must be a device pointer to a memory allocation at least as large as the product of count and stride when this command is executed on the device
VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09163NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXcountInfo->infos must be a device address within a VkBuffer created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT flag
VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09164NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXcountInfo->infos must be a multiple of executionGraphDispatchAddressAlignment
VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09166NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXFor each VkDispatchGraphInfoAMDX structure in countInfo->infos, payloads must be a device pointer to a memory allocation at least as large as the product of payloadCount and payloadStride when this command is executed on the device
VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09167NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXFor each VkDispatchGraphInfoAMDX structure in countInfo->infos, payloads must be a device address within a VkBuffer created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT flag
VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09168NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXFor each VkDispatchGraphInfoAMDX structure in countInfo->infos, payloads must be a multiple of executionGraphDispatchAddressAlignment
VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09169NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXFor each VkDispatchGraphInfoAMDX structure in countInfo->infos, nodeIndex must be a valid node index in the currently bound execution graph pipeline, as returned by vkGetExecutionGraphPipelineNodeIndexAMDX when this command is executed on the device
VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09170NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXFor each VkDispatchGraphInfoAMDX structure in countInfo->infos, device memory locations at indexes in the range [payloads, payloads + (payloadCount * payloadStride)), at a granularity of payloadStride must contain a payload matching the size of the input payload expected by the node in nodeIndex in the first bytes when this command is executed on the device
VUID-vkCmdDispatchGraphIndirectCountAMDX-cubicRangeClamp-09212NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf the cubicRangeClamp feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must not have a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM
VUID-vkCmdDispatchGraphIndirectCountAMDX-filterCubic-02694NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXAny VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have a VkImageViewType and format that supports cubic filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubic returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdDispatchGraphIndirectCountAMDX-filterCubicMinmax-02695NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXAny VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdDispatchGraphIndirectCountAMDX-flags-02696NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXAny VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
VUID-vkCmdDispatchGraphIndirectCountAMDX-format-07753NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a VkImageView is accessed as a result of this command, then the numeric type of the image view's format and the Sampled Type operand of the OpTypeImage must match
VUID-vkCmdDispatchGraphIndirectCountAMDX-infos-09165NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXDevice memory locations at indexes in the range [infos, infos + (count*stride)), at a granularity of stride must contain valid VkDispatchGraphInfoAMDX structures in the first 24 bytes when this command is executed on the device
VUID-vkCmdDispatchGraphIndirectCountAMDX-magFilter-04553NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdDispatchGraphIndirectCountAMDX-magFilter-09598NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdDispatchGraphIndirectCountAMDX-maintenance4-08602NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf the maintenance4 feature is not enabled, then for each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout and VkPushConstantRange arrays used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDispatchGraphIndirectCountAMDX-maxComputeWorkGroupCount-09186NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXExecution of this command must not cause a node to be dispatched with a larger number of workgroups than that specified by either a MaxNumWorkgroupsAMDX decoration in the dispatched node or maxComputeWorkGroupCount
VUID-vkCmdDispatchGraphIndirectCountAMDX-maxExecutionGraphShaderPayloadCount-09187NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXExecution of this command must not cause any shader to initialize more than maxExecutionGraphShaderPayloadCount output payloads
VUID-vkCmdDispatchGraphIndirectCountAMDX-mipmapMode-04770NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdDispatchGraphIndirectCountAMDX-mipmapMode-09599NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdDispatchGraphIndirectCountAMDX-reductionMode-09213NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXAny VkImageView being sampled with a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM as a result of this command must sample with VK_FILTER_CUBIC_EXT
VUID-vkCmdDispatchGraphIndirectCountAMDX-renderpassYNoneimplicitvkCmdDispatchGraphIndirectCountAMDXThis command must only be called outside of a render pass instance
VUID-vkCmdDispatchGraphIndirectCountAMDX-scratch-09183NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXscratch must be the device address of an allocated memory range at least as large as the value of VkExecutionGraphPipelineScratchSizeAMDX::size returned by VkExecutionGraphPipelineScratchSizeAMDX for the currently bound execution graph pipeline
VUID-vkCmdDispatchGraphIndirectCountAMDX-scratch-09184NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXscratch must be a device address within a VkBuffer created with the VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX or VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX flag
VUID-vkCmdDispatchGraphIndirectCountAMDX-scratch-09185NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXDevice memory in the range [scratch,scratch VkExecutionGraphPipelineScratchSizeAMDX::size) must have been initialized with vkCmdInitializeGraphScratchMemoryAMDX using the currently bound execution graph pipeline, and not modified after that by anything other than another execution graph dispatch command
VUID-vkCmdDispatchGraphIndirectCountAMDX-selectableCubicWeights-09214NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf the selectableCubicWeights feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have VkSamplerCubicWeightsCreateInfoQCOM::cubicWeights equal to VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM
VUID-vkCmdDispatchGraphIndirectCountAMDX-sparseImageInt64Atomics-04474NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdDispatchGraphIndirectCountAMDX-sparseImageInt64Atomics-04475NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdDispatchGraphIndirectCountAMDX-storageBuffers-06936NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDispatchGraphIndirectCountAMDX-uniformBuffers-06935NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDispatchGraphIndirectCountAMDX-videocodingYNoneimplicitvkCmdDispatchGraphIndirectCountAMDXThis command must only be called outside of a video coding scope
VUID-vkCmdDispatchGraphIndirectCountAMDX-viewType-07752NNoneexplicitvkCmdDispatchGraphIndirectCountAMDXIf a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Instruction/Sampler/Image View Validation
VUID-vkCmdDrawClusterHUAWEI-ClusterCullingHUAWEI-07823NNoneexplicitvkCmdDrawClusterHUAWEIThe current pipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS must contain a shader stage using the ClusterCullingHUAWEI Execution Model.
VUID-vkCmdDrawClusterHUAWEI-ConstOffset-06551NNoneexplicitvkCmdDrawClusterHUAWEIIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must not use the ConstOffset and Offset operands
VUID-vkCmdDrawClusterHUAWEI-InputAttachmentIndex-09597NNoneexplicitvkCmdDrawClusterHUAWEIIf an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.
VUID-vkCmdDrawClusterHUAWEI-None-02691NNoneexplicitvkCmdDrawClusterHUAWEIIf a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
VUID-vkCmdDrawClusterHUAWEI-None-02692NNoneexplicitvkCmdDrawClusterHUAWEIIf a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
VUID-vkCmdDrawClusterHUAWEI-None-02693NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_EXT_filter_cubic extension is not enabled and any VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, it must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
VUID-vkCmdDrawClusterHUAWEI-None-04876NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE dynamic state enabled then vkCmdSetRasterizerDiscardEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-04877NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE dynamic state enabled then vkCmdSetDepthBiasEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-06479NNoneexplicitvkCmdDrawClusterHUAWEIIf a VkImageView is sampled with depth comparison, the image view's format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT
VUID-vkCmdDrawClusterHUAWEI-None-06537NNoneexplicitvkCmdDrawClusterHUAWEIMemory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command
VUID-vkCmdDrawClusterHUAWEI-None-06539NNoneexplicitvkCmdDrawClusterHUAWEIIf any previously recorded command in the current subpass accessed an image subresource used as an attachment in this subpass in any way other than as an attachment, this command must not write to that image subresource as an attachment
VUID-vkCmdDrawClusterHUAWEI-None-06550NNoneexplicitvkCmdDrawClusterHUAWEIIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions
VUID-vkCmdDrawClusterHUAWEI-None-06666NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT dynamic state enabled then vkCmdSetSampleLocationsEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-06886NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance uses a depth/stencil attachment with a read-only layout for the depth aspect, depth writes must be disabled
VUID-vkCmdDrawClusterHUAWEI-None-06887NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance uses a depth/stencil attachment with a read-only layout for the stencil aspect, both front and back writeMask are not zero, and stencil test is enabled, all stencil ops must be VK_STENCIL_OP_KEEP
VUID-vkCmdDrawClusterHUAWEI-None-07074NNoneexplicitvkCmdDrawClusterHUAWEITransform Feedback Queries must not be active
VUID-vkCmdDrawClusterHUAWEI-None-07075NNoneexplicitvkCmdDrawClusterHUAWEIPrimitives Generated Queries must not be active
VUID-vkCmdDrawClusterHUAWEI-None-07288NNoneexplicitvkCmdDrawClusterHUAWEIAny shader invocation executed by this command must terminate
VUID-vkCmdDrawClusterHUAWEI-None-07469NNoneexplicitvkCmdDrawClusterHUAWEIInput attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility
VUID-vkCmdDrawClusterHUAWEI-None-07619NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled then vkCmdSetTessellationDomainOriginEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07620NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled then vkCmdSetDepthClampEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07621NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_POLYGON_MODE_EXT dynamic state enabled then vkCmdSetPolygonModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07622NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT dynamic state enabled then vkCmdSetRasterizationSamplesEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07623NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_MASK_EXT dynamic state enabled then vkCmdSetSampleMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07624NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT dynamic state enabled then vkCmdSetAlphaToCoverageEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07625NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT dynamic state enabled then vkCmdSetAlphaToOneEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07626NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT dynamic state enabled then vkCmdSetLogicOpEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07627NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic state enabled then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07628NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT dynamic state enabled then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07629NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT dynamic state enabled then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07630NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT dynamic state enabled then vkCmdSetRasterizationStreamEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07631NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT dynamic state enabled then vkCmdSetConservativeRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07632NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT dynamic state enabled then vkCmdSetExtraPrimitiveOverestimationSizeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07633NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT dynamic state enabled then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07634NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT dynamic state enabled then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07635NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT dynamic state enabled then vkCmdSetColorBlendAdvancedEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07636NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT dynamic state enabled then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07637NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic state enabled then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07638NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT dynamic state enabled then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07639NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT dynamic state enabled then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07640NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV dynamic state enabled then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07641NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV dynamic state enabled then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07642NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV dynamic state enabled then vkCmdSetCoverageToColorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07643NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV dynamic state enabled then vkCmdSetCoverageToColorLocationNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07644NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV dynamic state enabled then vkCmdSetCoverageModulationModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07645NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV dynamic state enabled then vkCmdSetCoverageModulationTableEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07646NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV dynamic state enabled then vkCmdSetCoverageModulationTableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07647NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV dynamic state enabled then vkCmdSetShadingRateImageEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07648NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV dynamic state enabled then vkCmdSetRepresentativeFragmentTestEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07649NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV dynamic state enabled then vkCmdSetCoverageReductionModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07748NNoneexplicitvkCmdDrawClusterHUAWEIIf any shader statically accesses an input attachment, a valid descriptor must be bound to the pipeline via a descriptor set
VUID-vkCmdDrawClusterHUAWEI-None-07749NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT dynamic state enabled then vkCmdSetColorWriteEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07751NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT dynamic state enabled then vkCmdSetDiscardRectangleEXT must have been called in the current command buffer prior to this drawing command for each discard rectangle in VkPipelineDiscardRectangleStateCreateInfoEXT::discardRectangleCount
VUID-vkCmdDrawClusterHUAWEI-None-07819NNoneexplicitvkCmdDrawClusterHUAWEIThe pipelineStatistics member used to create any active Pipeline Statistics Query must not contain VK_QUERY_PIPELINE_STATISTIC_TASK_SHADER_INVOCATIONS_BIT_EXT, or VK_QUERY_PIPELINE_STATISTIC_MESH_SHADER_INVOCATIONS_BIT_EXT
VUID-vkCmdDrawClusterHUAWEI-None-07831NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT dynamic state enabled then vkCmdSetViewport must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07832NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR dynamic state enabled then vkCmdSetScissor must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07833NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_WIDTH dynamic state enabled then vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07834NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07835NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_BLEND_CONSTANTS dynamic state enabled then vkCmdSetBlendConstants must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07836NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS dynamic state enabled, and if the current depthBoundsTestEnable state is VK_TRUE, then vkCmdSetDepthBounds must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07837NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK dynamic state enabled, and if the current stencilTestEnable state is VK_TRUE, then vkCmdSetStencilCompareMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07838NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_WRITE_MASK dynamic state enabled, and if the current stencilTestEnable state is VK_TRUE, then vkCmdSetStencilWriteMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07839NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_REFERENCE dynamic state enabled, and if the current stencilTestEnable state is VK_TRUE, then vkCmdSetStencilReference must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07840NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_CULL_MODE dynamic state enabled then vkCmdSetCullMode must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07841NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_FRONT_FACE dynamic state enabled then vkCmdSetFrontFace must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07843NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE dynamic state enabled then vkCmdSetDepthTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07844NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE dynamic state enabled then vkCmdSetDepthWriteEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07845NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_COMPARE_OP dynamic state enabled then vkCmdSetDepthCompareOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07846NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07847NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07848NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07849NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07850NNoneexplicitvkCmdDrawClusterHUAWEIIf dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07878NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07879NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07880NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT dynamic state enabled then vkCmdSetDiscardRectangleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07881NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT dynamic state enabled then vkCmdSetDiscardRectangleModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-07888NNoneexplicitvkCmdDrawClusterHUAWEIIf a VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer's format features must contain VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
VUID-vkCmdDrawClusterHUAWEI-None-08114NNoneexplicitvkCmdDrawClusterHUAWEIDescriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid as described by descriptor validity if they are statically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was not created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawClusterHUAWEI-None-08115NNoneexplicitvkCmdDrawClusterHUAWEIIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdBindDescriptorSets, the bound VkPipeline must have been created without VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawClusterHUAWEI-None-08116NNoneexplicitvkCmdDrawClusterHUAWEIDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawClusterHUAWEI-None-08117NNoneexplicitvkCmdDrawClusterHUAWEIIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdSetDescriptorBufferOffsetsEXT, the bound VkPipeline must have been created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawClusterHUAWEI-None-08119NNoneexplicitvkCmdDrawClusterHUAWEIIf a descriptor is dynamically used with a VkPipeline created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdDrawClusterHUAWEI-None-08600NNoneexplicitvkCmdDrawClusterHUAWEIFor each set n that is statically used by a bound shader, a descriptor set must have been bound to n at the same pipeline bind point, with a VkPipelineLayout that is compatible for set n, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDrawClusterHUAWEI-None-08601NNoneexplicitvkCmdDrawClusterHUAWEIFor each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDrawClusterHUAWEI-None-08604NNoneexplicitvkCmdDrawClusterHUAWEIDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command
VUID-vkCmdDrawClusterHUAWEI-None-08605NNoneexplicitvkCmdDrawClusterHUAWEIIf a descriptor is dynamically used with a VkShaderEXT created with a VkDescriptorSetLayout that was created with VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdDrawClusterHUAWEI-None-08606NNoneexplicitvkCmdDrawClusterHUAWEIIf the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command
VUID-vkCmdDrawClusterHUAWEI-None-08607NNoneexplicitvkCmdDrawClusterHUAWEIIf the shaderObject is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command
VUID-vkCmdDrawClusterHUAWEI-None-08608NNoneexplicitvkCmdDrawClusterHUAWEIIf a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state not specified as dynamic in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound
VUID-vkCmdDrawClusterHUAWEI-None-08609NNoneexplicitvkCmdDrawClusterHUAWEIIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
VUID-vkCmdDrawClusterHUAWEI-None-08610NNoneexplicitvkCmdDrawClusterHUAWEIIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage
VUID-vkCmdDrawClusterHUAWEI-None-08611NNoneexplicitvkCmdDrawClusterHUAWEIIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage
VUID-vkCmdDrawClusterHUAWEI-None-08612NNoneexplicitvkCmdDrawClusterHUAWEIIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a uniform buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawClusterHUAWEI-None-08613NNoneexplicitvkCmdDrawClusterHUAWEIIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a storage buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawClusterHUAWEI-None-08617NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08618NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08619NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08620NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDepthBiasEnable in the current command buffer set depthBiasEnable to VK_TRUE, vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08621NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetColorBlendEnableEXT in the current command buffer set any element of pColorBlendEnables to VK_TRUE, and the most recent call to vkCmdSetColorBlendEquationEXT in the current command buffer set the same element of pColorBlendEquations to a VkColorBlendEquationEXT structure with any VkBlendFactor member with a value of VK_BLEND_FACTOR_CONSTANT_COLOR, VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR, VK_BLEND_FACTOR_CONSTANT_ALPHA, or VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA, vkCmdSetBlendConstants must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08622NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDepthBoundsTestEnable in the current command buffer set depthBoundsTestEnable to VK_TRUE, then vkCmdSetDepthBounds must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08623NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, vkCmdSetStencilCompareMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08624NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, vkCmdSetStencilWriteMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08625NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, vkCmdSetStencilReference must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08626NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetSampleLocationsEnableEXT in the current command buffer set sampleLocationsEnable to VK_TRUE, then vkCmdSetSampleLocationsEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08627NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCullMode must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08628NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetFrontFace must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08629NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08630NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthWriteEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08631NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDepthTestEnable in the current command buffer set depthTestEnable to VK_TRUE, then vkCmdSetDepthCompareOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08632NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the depthBounds feature is enabled, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then the vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08633NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08634NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08635NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, then both vkCmdSetViewportWithCount and vkCmdSetScissorWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must match the scissorCount parameter of vkCmdSetScissorWithCount
VUID-vkCmdDrawClusterHUAWEI-None-08636NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetViewportWScalingEnableNV in the current command buffer set viewportWScalingEnable to VK_TRUE, then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterHUAWEI-None-08637NNoneexplicitvkCmdDrawClusterHUAWEIIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetShadingRateImageEnableNV in the current command buffer set shadingRateImageEnable to VK_TRUE, then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterHUAWEI-None-08638NNoneexplicitvkCmdDrawClusterHUAWEIIf the exclusiveScissor feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetExclusiveScissorEnableNV in the current command buffer set any element of pExclusiveScissorEnables to VK_TRUE, then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08639NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, then vkCmdSetRasterizerDiscardEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08640NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthBiasEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08641NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLogicOpEnableEXT set logicOpEnable to VK_TRUE, then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value
VUID-vkCmdDrawClusterHUAWEI-None-08643NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then for each color attachment in the render pass, if the corresponding image view's format features do not contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the corresponding member of pColorBlendEnables in the most recent call to vkCmdSetColorBlendEnableEXT in the current command buffer that affected that attachment index must have been VK_FALSE
VUID-vkCmdDrawClusterHUAWEI-None-08644NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and none of the following is enabled: the VK_AMD_mixed_attachment_samples extension the VK_NV_framebuffer_mixed_samples extension the multisampledRenderToSingleSampled feature then the most recent call to vkCmdSetRasterizationSamplesEXT in the current command buffer must have set rasterizationSamples to be the same as the number of samples for the current render pass color and/or depth/stencil attachments
VUID-vkCmdDrawClusterHUAWEI-None-08646NNoneexplicitvkCmdDrawClusterHUAWEIIf the colorWriteEnable feature is enabled on the device, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08647NNoneexplicitvkCmdDrawClusterHUAWEIIf the colorWriteEnable feature is enabled on the device, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then the attachmentCount parameter of most recent call to vkCmdSetColorWriteEnableEXT in the current command buffer must be greater than or equal to the number of color attachments in the current render pass instance
VUID-vkCmdDrawClusterHUAWEI-None-08648NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_EXT_discard_rectangles extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDiscardRectangleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08649NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_EXT_discard_rectangles extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDiscardRectangleEnableEXT in the current command buffer set discardRectangleEnable to VK_TRUE, then vkCmdSetDiscardRectangleModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08650NNoneexplicitvkCmdDrawClusterHUAWEIIf the depthClamp feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08651NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetPolygonModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08652NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetRasterizationSamplesEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08653NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08654NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetAlphaToCoverageEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08655NNoneexplicitvkCmdDrawClusterHUAWEIIf the alphaToOne feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetAlphaToOneEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08656NNoneexplicitvkCmdDrawClusterHUAWEIIf the logicOp feature is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLogicOpEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08657NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08658NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetColorBlendEnableEXT for any attachment set that attachment's value in pColorBlendEnables to VK_TRUE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08659NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08660NNoneexplicitvkCmdDrawClusterHUAWEIIf the geometryStreams feature is enabled, and a shader object is bound to the VK_SHADER_STAGE_GEOMETRY_BIT stage, then vkCmdSetRasterizationStreamEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08661NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_EXT_conservative_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetConservativeRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08662NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_EXT_conservative_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetConservativeRasterizationModeEXT in the current command buffer set conservativeRasterizationMode to VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT, then vkCmdSetExtraPrimitiveOverestimationSizeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08663NNoneexplicitvkCmdDrawClusterHUAWEIIf the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08664NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08665NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08666NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08667NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08668NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08669NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08670NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08671NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08672NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08673NNoneexplicitvkCmdDrawClusterHUAWEIIf the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08674NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08675NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08676NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_NV_fragment_coverage_to_color extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoverageToColorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08677NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_NV_fragment_coverage_to_color extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetCoverageToColorEnableNV in the current command buffer set coverageToColorEnable to VK_TRUE, then vkCmdSetCoverageToColorLocationNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08678NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_NV_framebuffer_mixed_samples extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoverageModulationModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08679NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_NV_framebuffer_mixed_samples extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetCoverageModulationModeNV in the current command buffer set coverageModulationMode to any value other than VK_COVERAGE_MODULATION_MODE_NONE_NV, then vkCmdSetCoverageModulationTableEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08680NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_NV_framebuffer_mixed_samples extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetCoverageModulationTableEnableNV in the current command buffer set coverageModulationTableEnable to VK_TRUE, then vkCmdSetCoverageModulationTableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08681NNoneexplicitvkCmdDrawClusterHUAWEIIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetShadingRateImageEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08682NNoneexplicitvkCmdDrawClusterHUAWEIIf the representativeFragmentTest feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetRepresentativeFragmentTestEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08683NNoneexplicitvkCmdDrawClusterHUAWEIIf the coverageReductionMode feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoverageReductionModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08684NNoneexplicitvkCmdDrawClusterHUAWEIIf there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT
VUID-vkCmdDrawClusterHUAWEI-None-08685NNoneexplicitvkCmdDrawClusterHUAWEIIf there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT
VUID-vkCmdDrawClusterHUAWEI-None-08686NNoneexplicitvkCmdDrawClusterHUAWEIIf there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT
VUID-vkCmdDrawClusterHUAWEI-None-08687NNoneexplicitvkCmdDrawClusterHUAWEIIf there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT
VUID-vkCmdDrawClusterHUAWEI-None-08688NNoneexplicitvkCmdDrawClusterHUAWEIIf there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT
VUID-vkCmdDrawClusterHUAWEI-None-08689NNoneexplicitvkCmdDrawClusterHUAWEIIf there is no bound graphics pipeline, and the taskShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TASK_BIT_EXT
VUID-vkCmdDrawClusterHUAWEI-None-08690NNoneexplicitvkCmdDrawClusterHUAWEIIf there is no bound graphics pipeline, and the meshShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_MESH_BIT_EXT
VUID-vkCmdDrawClusterHUAWEI-None-08693NNoneexplicitvkCmdDrawClusterHUAWEIIf there is no bound graphics pipeline, and at least one of the taskShader and meshShader features is enabled, one of the VK_SHADER_STAGE_VERTEX_BIT or VK_SHADER_STAGE_MESH_BIT_EXT stages must have a valid VkShaderEXT bound, and the other must have no VkShaderEXT bound
VUID-vkCmdDrawClusterHUAWEI-None-08694NNoneexplicitvkCmdDrawClusterHUAWEIIf there is no bound graphics pipeline, and both the taskShader and meshShader features are enabled, and a valid VkShaderEXT is bound the to the VK_SHADER_STAGE_MESH_BIT_EXT stage, and that VkShaderEXT was created without the VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT flag, a valid VkShaderEXT must be bound to the VK_SHADER_STAGE_TASK_BIT_EXT stage
VUID-vkCmdDrawClusterHUAWEI-None-08695NNoneexplicitvkCmdDrawClusterHUAWEIIf there is no bound graphics pipeline, and both the taskShader and meshShader features are enabled, and a valid VkShaderEXT is bound the to the VK_SHADER_STAGE_MESH_BIT_EXT stage, and that VkShaderEXT was created with the VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT flag, there must be no VkShaderEXT bound to the VK_SHADER_STAGE_TASK_BIT_EXT stage
VUID-vkCmdDrawClusterHUAWEI-None-08696NNoneexplicitvkCmdDrawClusterHUAWEIIf there is no bound graphics pipeline, and a valid VkShaderEXT is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, there must be no VkShaderEXT bound to either the VK_SHADER_STAGE_TASK_BIT_EXT stage or the VK_SHADER_STAGE_MESH_BIT_EXT stage
VUID-vkCmdDrawClusterHUAWEI-None-08698NNoneexplicitvkCmdDrawClusterHUAWEIIf any graphics shader is bound which was created with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag, then all shaders created with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag in the same vkCreateShadersEXT call must also be bound
VUID-vkCmdDrawClusterHUAWEI-None-08699NNoneexplicitvkCmdDrawClusterHUAWEIIf any graphics shader is bound which was created with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag, any stages in between stages whose shaders which did not create a shader with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag as part of the same vkCreateShadersEXT call must not have any VkShaderEXT bound
VUID-vkCmdDrawClusterHUAWEI-None-08876NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, the current render pass instance must have been begun with vkCmdBeginRendering
VUID-vkCmdDrawClusterHUAWEI-None-08877NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT dynamic state vkCmdSetAttachmentFeedbackLoopEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-08878NNoneexplicitvkCmdDrawClusterHUAWEIAll bound graphics shader objects must have been created with identical or identically defined push constant ranges
VUID-vkCmdDrawClusterHUAWEI-None-08879NNoneexplicitvkCmdDrawClusterHUAWEIAll bound graphics shader objects must have been created with identical or identically defined arrays of descriptor set layouts
VUID-vkCmdDrawClusterHUAWEI-None-08880NNoneexplicitvkCmdDrawClusterHUAWEIIf the attachmentFeedbackLoopDynamicState feature is enabled on the device, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetAttachmentFeedbackLoopEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-09000NNoneexplicitvkCmdDrawClusterHUAWEIIf a color attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it is not in the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout, and either: the VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT is set on the currently bound pipeline or the last call to vkCmdSetAttachmentFeedbackLoopEnableEXT included VK_IMAGE_ASPECT_COLOR_BIT and there is no currently bound graphics pipeline or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT it must not be accessed in any way other than as an attachment by this command
VUID-vkCmdDrawClusterHUAWEI-None-09001NNoneexplicitvkCmdDrawClusterHUAWEIIf a depth attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it is not in the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout, and either: the VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT is set on the currently bound pipeline or the last call to vkCmdSetAttachmentFeedbackLoopEnableEXT included VK_IMAGE_ASPECT_DEPTH_BIT and there is no currently bound graphics pipeline or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT it must not be accessed in any way other than as an attachment by this command
VUID-vkCmdDrawClusterHUAWEI-None-09002NNoneexplicitvkCmdDrawClusterHUAWEIIf a stencil attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it is not in the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout, and either: the VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT is set on the currently bound pipeline or the last call to vkCmdSetAttachmentFeedbackLoopEnableEXT included VK_IMAGE_ASPECT_STENCIL_BIT and there is no currently bound graphics pipeline or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT it must not be accessed in any way other than as an attachment by this command
VUID-vkCmdDrawClusterHUAWEI-None-09003NNoneexplicitvkCmdDrawClusterHUAWEIIf an attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it must not be accessed in any way other than as an attachment, storage image, or sampled image by this command
VUID-vkCmdDrawClusterHUAWEI-None-09116NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT, and the format of any color attachment is VK_FORMAT_E5B9G9R9_UFLOAT_PACK32, the corresponding element of the pColorWriteMasks parameter of vkCmdSetColorWriteMaskEXT must either include all of VK_COLOR_COMPONENT_R_BIT, VK_COLOR_COMPONENT_G_BIT, and VK_COLOR_COMPONENT_B_BIT, or none of them
VUID-vkCmdDrawClusterHUAWEI-None-09211NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, or a shader object is bound to any graphics stage, and the current render pass instance includes a VkMultisampledRenderToSingleSampledInfoEXT structure with multisampledRenderToSingleSampledEnable equal to VK_TRUE, then the rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT must be the same as the rasterizationSamples member of that structure
VUID-vkCmdDrawClusterHUAWEI-None-09232NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetViewportWScalingEnableNV in the current command buffer set viewportWScalingEnable to VK_TRUE, then vkCmdSetViewportWScalingNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-09237NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage, then vkCmdSetTessellationDomainOriginEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-09363NNoneexplicitvkCmdDrawClusterHUAWEIIf there is no shader object bound to any graphics stage, the current render pass instance was begun with vkCmdBeginRendering and a VkRenderingInfo::colorAttachmentCount equal to 1, and a color attachment with a resolve mode of VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, each element of the VkRenderingInfo::pColorAttachments array with a imageView not equal to VK_NULL_HANDLE must have been created with an image created with a VkExternalFormatANDROID::externalFormat value equal to the VkExternalFormatANDROID::externalFormat value used to create the currently bound graphics pipeline
VUID-vkCmdDrawClusterHUAWEI-None-09364NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic state enabled, then vkCmdSetColorBlendEnableEXT must have set the blend enable to VK_FALSE prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-09365NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT dynamic state enabled, then vkCmdSetRasterizationSamplesEXT must have set rasterizationSamples to VK_SAMPLE_COUNT_1_BIT prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-09366NNoneexplicitvkCmdDrawClusterHUAWEIIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-09368NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-09369NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-None-09548NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline
VUID-vkCmdDrawClusterHUAWEI-None-09549NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR
VUID-vkCmdDrawClusterHUAWEI-None-09600NNoneexplicitvkCmdDrawClusterHUAWEIIf a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written
VUID-vkCmdDrawClusterHUAWEI-OpImageBlockMatchSADQCOM-06975NNoneexplicitvkCmdDrawClusterHUAWEIIf OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDrawClusterHUAWEI-OpImageBlockMatchSADQCOM-06976NNoneexplicitvkCmdDrawClusterHUAWEIIf OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdDrawClusterHUAWEI-OpImageBlockMatchSSDQCOM-06974NNoneexplicitvkCmdDrawClusterHUAWEIIf OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDrawClusterHUAWEI-OpImageBlockMatchWindow-09215NNoneexplicitvkCmdDrawClusterHUAWEIIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDrawClusterHUAWEI-OpImageBlockMatchWindow-09216NNoneexplicitvkCmdDrawClusterHUAWEIIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format must be a single-component format.
VUID-vkCmdDrawClusterHUAWEI-OpImageBlockMatchWindow-09217NNoneexplicitvkCmdDrawClusterHUAWEIIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdDrawClusterHUAWEI-OpImageBoxFilterQCOM-06973NNoneexplicitvkCmdDrawClusterHUAWEIIf OpImageBoxFilterQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM
VUID-vkCmdDrawClusterHUAWEI-OpImageWeightedSampleQCOM-06971NNoneexplicitvkCmdDrawClusterHUAWEIIf OpImageWeightedSampleQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM
VUID-vkCmdDrawClusterHUAWEI-OpImageWeightedSampleQCOM-06972NNoneexplicitvkCmdDrawClusterHUAWEIIf OpImageWeightedSampleQCOM uses a VkImageView as a sample weight image as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM
VUID-vkCmdDrawClusterHUAWEI-OpImageWeightedSampleQCOM-06977NNoneexplicitvkCmdDrawClusterHUAWEIIf OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdDrawClusterHUAWEI-OpImageWeightedSampleQCOM-06978NNoneexplicitvkCmdDrawClusterHUAWEIIf any command other than OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must not have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdDrawClusterHUAWEI-OpImageWrite-04469NNoneexplicitvkCmdDrawClusterHUAWEIIf a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format
VUID-vkCmdDrawClusterHUAWEI-OpImageWrite-08795NNoneexplicitvkCmdDrawClusterHUAWEIIf a VkImageView created with a format other than VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format
VUID-vkCmdDrawClusterHUAWEI-OpImageWrite-08796NNoneexplicitvkCmdDrawClusterHUAWEIIf a VkImageView created with the format VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have four components
VUID-vkCmdDrawClusterHUAWEI-OpTypeImage-07027NNoneexplicitvkCmdDrawClusterHUAWEIFor any VkImageView being written as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawClusterHUAWEI-OpTypeImage-07028NNoneexplicitvkCmdDrawClusterHUAWEIFor any VkImageView being read as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawClusterHUAWEI-OpTypeImage-07029NNoneexplicitvkCmdDrawClusterHUAWEIFor any VkBufferView being written as a storage texel buffer where the image format field of the OpTypeImage is Unknown, the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawClusterHUAWEI-OpTypeImage-07030NNoneexplicitvkCmdDrawClusterHUAWEIAny VkBufferView being read as a storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawClusterHUAWEI-OpTypeImage-07468NNoneexplicitvkCmdDrawClusterHUAWEIIf any shader executed by this pipeline accesses an OpTypeImage variable with a Dim operand of SubpassData, it must be decorated with an InputAttachmentIndex that corresponds to a valid input attachment in the current subpass
VUID-vkCmdDrawClusterHUAWEI-SampledType-04470NNoneexplicitvkCmdDrawClusterHUAWEIIf a VkImageView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdDrawClusterHUAWEI-SampledType-04471NNoneexplicitvkCmdDrawClusterHUAWEIIf a VkImageView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdDrawClusterHUAWEI-SampledType-04472NNoneexplicitvkCmdDrawClusterHUAWEIIf a VkBufferView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdDrawClusterHUAWEI-SampledType-04473NNoneexplicitvkCmdDrawClusterHUAWEIIf a VkBufferView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdDrawClusterHUAWEI-VkPipelineVieportCreateInfo-04141NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled and a VkPipelineViewportSwizzleStateCreateInfoNV structure chained from VkPipelineViewportStateCreateInfo, then the bound graphics pipeline must have been created with VkPipelineViewportSwizzleStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterHUAWEI-VkPipelineVieportCreateInfo-04142NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled and a VkPipelineViewportExclusiveScissorStateCreateInfoNV structure chained from VkPipelineViewportStateCreateInfo, then the bound graphics pipeline must have been created with VkPipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterHUAWEI-advancedBlendMaxColorAttachments-07480NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT and VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic states enabled and the last calls to vkCmdSetColorBlendEnableEXT and vkCmdSetColorBlendAdvancedEXT have enabled advanced blending, then the number of active color attachments in the current subpass must not exceed advancedBlendMaxColorAttachments
VUID-vkCmdDrawClusterHUAWEI-alphaToCoverageEnable-08919NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT dynamic state enabled, and alphaToCoverageEnable was VK_TRUE in the last call to vkCmdSetAlphaToCoverageEnableEXT, then the Fragment Output Interface must contain a variable for the alpha Component word in Location 0 at Index 0
VUID-vkCmdDrawClusterHUAWEI-alphaToCoverageEnable-08920NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetAlphaToCoverageEnableEXT in the current command buffer set alphaToCoverageEnable to VK_TRUE, then the Fragment Output Interface must contain a variable for the alpha Component word in Location 0 at Index 0
VUID-vkCmdDrawClusterHUAWEI-attachmentCount-07750NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT dynamic state enabled then the attachmentCount parameter of vkCmdSetColorWriteEnableEXT must be greater than or equal to the VkPipelineColorBlendStateCreateInfo::attachmentCount of the currently bound graphics pipeline
VUID-vkCmdDrawClusterHUAWEI-blendEnable-04727NNoneexplicitvkCmdDrawClusterHUAWEIIf rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view's format features do not contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the blendEnable member of the corresponding element of the pAttachments member of pColorBlendState must be VK_FALSE
VUID-vkCmdDrawClusterHUAWEI-colorAttachmentCount-06179NNoneexplicitvkCmdDrawClusterHUAWEIIf the dynamicRenderingUnusedAttachments feature is not enabled and the current render pass instance was begun with vkCmdBeginRendering, the currently bound graphics pipeline must have been created with a VkPipelineRenderingCreateInfo::colorAttachmentCount equal to VkRenderingInfo::colorAttachmentCount
VUID-vkCmdDrawClusterHUAWEI-colorAttachmentCount-06185NNoneexplicitvkCmdDrawClusterHUAWEIIf the currently bound pipeline was created with a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the current render pass instance was begun with vkCmdBeginRendering with a VkRenderingInfo::colorAttachmentCount parameter greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with a imageView not equal to VK_NULL_HANDLE must have been created with a sample count equal to the corresponding element of the pColorAttachmentSamples member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV used to create the currently bound graphics pipeline
VUID-vkCmdDrawClusterHUAWEI-colorAttachmentCount-09362NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, with a VkRenderingInfo::colorAttachmentCount equal to 1, there is no shader object bound to any graphics stage, and a color attachment with a resolve mode of VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, each element of the VkRenderingInfo::pColorAttachments array with a resolveImageView not equal to VK_NULL_HANDLE must have been created with an image created with a VkExternalFormatANDROID::externalFormat value equal to the VkExternalFormatANDROID::externalFormat value used to create the currently bound graphics pipeline
VUID-vkCmdDrawClusterHUAWEI-colorAttachmentCount-09372NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering and a VkRenderingInfo::colorAttachmentCount equal to 1, a color attachment with a resolve mode of VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, and a fragment shader is bound, it must not declare the DepthReplacing or StencilRefReplacingEXT execution modes
VUID-vkCmdDrawClusterHUAWEI-commandBuffer-02707NNoneexplicitvkCmdDrawClusterHUAWEIIf commandBuffer is an unprotected command buffer and protectedNoFault is not supported, any resource accessed by bound shaders must not be a protected resource
VUID-vkCmdDrawClusterHUAWEI-commandBuffer-cmdpoolYNoneimplicitvkCmdDrawClusterHUAWEIThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdDrawClusterHUAWEI-commandBuffer-parameterYNoneimplicitvkCmdDrawClusterHUAWEIcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdDrawClusterHUAWEI-commandBuffer-recordingYNoneimplicitvkCmdDrawClusterHUAWEIcommandBuffer must be in the recording state
VUID-vkCmdDrawClusterHUAWEI-conservativePointAndLineRasterization-07499NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT dynamic state enabled, conservativePointAndLineRasterization is not supported, and the effective primitive topology output by the last pre-rasterization shader stage is a line or point, then the conservativeRasterizationMode set by the last call to vkCmdSetConservativeRasterizationModeEXT must be VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT
VUID-vkCmdDrawClusterHUAWEI-coverageModulationTableEnable-07488NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to any graphics stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV state enabled, and the last call to vkCmdSetCoverageModulationTableEnableNV set coverageModulationTableEnable to VK_TRUE, then the coverageModulationTableCount parameter in the last call to vkCmdSetCoverageModulationTableNV must equal the current rasterizationSamples divided by the number of color samples in the current subpass
VUID-vkCmdDrawClusterHUAWEI-coverageReductionMode-07491NNoneexplicitvkCmdDrawClusterHUAWEIIf this VK_NV_coverage_reduction_mode extension is enabled, the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV and VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT states enabled, the current coverage reduction mode coverageReductionMode, then the current rasterizationSamples, and the sample counts for the color and depth/stencil attachments (if the subpass has them) must be a valid combination returned by vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
VUID-vkCmdDrawClusterHUAWEI-coverageToColorEnable-07490NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV state enabled and the last call to vkCmdSetCoverageToColorEnableNV set the coverageToColorEnable to VK_TRUE, then the current subpass must have a color attachment at the location selected by the last call to vkCmdSetCoverageToColorLocationNV coverageToColorLocation, with a VkFormat of VK_FORMAT_R8_UINT, VK_FORMAT_R8_SINT, VK_FORMAT_R16_UINT, VK_FORMAT_R16_SINT, VK_FORMAT_R32_UINT, or VK_FORMAT_R32_SINT
VUID-vkCmdDrawClusterHUAWEI-cubicRangeClamp-09212NNoneexplicitvkCmdDrawClusterHUAWEIIf the cubicRangeClamp feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must not have a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM
VUID-vkCmdDrawClusterHUAWEI-dynamicRenderingUnusedAttachments-08910NNoneexplicitvkCmdDrawClusterHUAWEIIf the dynamicRenderingUnusedAttachments feature is not enabled, and the current render pass instance was begun with vkCmdBeginRendering and VkRenderingInfo::colorAttachmentCount greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with an imageView not equal to VK_NULL_HANDLE must have been created with a VkFormat equal to the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the currently bound graphics pipeline
VUID-vkCmdDrawClusterHUAWEI-dynamicRenderingUnusedAttachments-08911NNoneexplicitvkCmdDrawClusterHUAWEIIf the dynamicRenderingUnusedAttachments feature is enabled, and the current render pass instance was begun with vkCmdBeginRendering and VkRenderingInfo::colorAttachmentCount greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with an imageView not equal to VK_NULL_HANDLE must have been created with a VkFormat equal to the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the currently bound graphics pipeline, or the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats, if it exists, must be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawClusterHUAWEI-dynamicRenderingUnusedAttachments-08912NNoneexplicitvkCmdDrawClusterHUAWEIIf the dynamicRenderingUnusedAttachments feature is not enabled, and the current render pass instance was begun with vkCmdBeginRendering and VkRenderingInfo::colorAttachmentCount greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with an imageView equal to VK_NULL_HANDLE must have the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the currently bound pipeline equal to VK_FORMAT_UNDEFINED
VUID-vkCmdDrawClusterHUAWEI-dynamicRenderingUnusedAttachments-08913NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pDepthAttachment->imageView was VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the currently bound graphics pipeline must be equal to VK_FORMAT_UNDEFINED
VUID-vkCmdDrawClusterHUAWEI-dynamicRenderingUnusedAttachments-08914NNoneexplicitvkCmdDrawClusterHUAWEIIf current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the currently bound graphics pipeline must be equal to the VkFormat used to create VkRenderingInfo::pDepthAttachment->imageView
VUID-vkCmdDrawClusterHUAWEI-dynamicRenderingUnusedAttachments-08915NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is enabled, VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, and the value of VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the currently bound graphics pipeline was not equal to the VkFormat used to create VkRenderingInfo::pDepthAttachment->imageView, the value of the format must be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawClusterHUAWEI-dynamicRenderingUnusedAttachments-08916NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pStencilAttachment->imageView was VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the currently bound graphics pipeline must be equal to VK_FORMAT_UNDEFINED
VUID-vkCmdDrawClusterHUAWEI-dynamicRenderingUnusedAttachments-08917NNoneexplicitvkCmdDrawClusterHUAWEIIf current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the currently bound graphics pipeline must be equal to the VkFormat used to create VkRenderingInfo::pStencilAttachment->imageView
VUID-vkCmdDrawClusterHUAWEI-dynamicRenderingUnusedAttachments-08918NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is enabled, VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, and the value of VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the currently bound graphics pipeline was not equal to the VkFormat used to create VkRenderingInfo::pStencilAttachment->imageView, the value of the format must be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawClusterHUAWEI-exclusiveScissor-09235NNoneexplicitvkCmdDrawClusterHUAWEIIf the exclusiveScissor feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-filterCubic-02694NNoneexplicitvkCmdDrawClusterHUAWEIAny VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have a VkImageViewType and format that supports cubic filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubic returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdDrawClusterHUAWEI-filterCubicMinmax-02695NNoneexplicitvkCmdDrawClusterHUAWEIAny VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdDrawClusterHUAWEI-firstAttachment-07476NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic state enabled then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEnableEXT calls must specify an enable for all active color attachments in the current subpass
VUID-vkCmdDrawClusterHUAWEI-firstAttachment-07477NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT dynamic state enabled then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled
VUID-vkCmdDrawClusterHUAWEI-firstAttachment-07478NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT dynamic state enabled then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorWriteMaskEXT calls must specify the color write mask for all active color attachments in the current subpass
VUID-vkCmdDrawClusterHUAWEI-firstAttachment-07479NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT dynamic state enabled then vkCmdSetColorBlendAdvancedEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendAdvancedEXT calls must specify the advanced blend equations for all active color attachments in the current subpass where blending is enabled
VUID-vkCmdDrawClusterHUAWEI-flags-02696NNoneexplicitvkCmdDrawClusterHUAWEIAny VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
VUID-vkCmdDrawClusterHUAWEI-format-07753NNoneexplicitvkCmdDrawClusterHUAWEIIf a VkImageView is accessed as a result of this command, then the numeric type of the image view's format and the Sampled Type operand of the OpTypeImage must match
VUID-vkCmdDrawClusterHUAWEI-groupCountX-07820NNoneexplicitvkCmdDrawClusterHUAWEIgroupCountX must be less than or equal to VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI::maxWorkGroupCount[0]
VUID-vkCmdDrawClusterHUAWEI-groupCountY-07821NNoneexplicitvkCmdDrawClusterHUAWEIgroupCountY must be less than or equal to VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI::maxWorkGroupCount[1]
VUID-vkCmdDrawClusterHUAWEI-groupCountZ-07822NNoneexplicitvkCmdDrawClusterHUAWEIgroupCountZ must be less than or equal to VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI::maxWorkGroupCount[2]
VUID-vkCmdDrawClusterHUAWEI-imageView-06172NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pDepthAttachment is not VK_NULL_HANDLE, and the layout member of pDepthAttachment is VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the depth attachment
VUID-vkCmdDrawClusterHUAWEI-imageView-06173NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pStencilAttachment is not VK_NULL_HANDLE, and the layout member of pStencilAttachment is VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment
VUID-vkCmdDrawClusterHUAWEI-imageView-06174NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pDepthAttachment is not VK_NULL_HANDLE, and the layout member of pDepthAttachment is VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this command must not write any values to the depth attachment
VUID-vkCmdDrawClusterHUAWEI-imageView-06175NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pStencilAttachment is not VK_NULL_HANDLE, and the layout member of pStencilAttachment is VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment
VUID-vkCmdDrawClusterHUAWEI-imageView-06176NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pDepthAttachment is not VK_NULL_HANDLE, and the layout member of pDepthAttachment is VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must not write any values to the depth attachment
VUID-vkCmdDrawClusterHUAWEI-imageView-06177NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pStencilAttachment is not VK_NULL_HANDLE, and the layout member of pStencilAttachment is VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment
VUID-vkCmdDrawClusterHUAWEI-imageView-06183NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
VUID-vkCmdDrawClusterHUAWEI-imageView-06184NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
VUID-vkCmdDrawClusterHUAWEI-logicOp-04878NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value
VUID-vkCmdDrawClusterHUAWEI-magFilter-04553NNoneexplicitvkCmdDrawClusterHUAWEIIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdDrawClusterHUAWEI-magFilter-09598NNoneexplicitvkCmdDrawClusterHUAWEIIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdDrawClusterHUAWEI-maintenance4-08602NNoneexplicitvkCmdDrawClusterHUAWEIIf the maintenance4 feature is not enabled, then for each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout and VkPushConstantRange arrays used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDrawClusterHUAWEI-maxFragmentDualSrcAttachments-09239NNoneexplicitvkCmdDrawClusterHUAWEIIf blending is enabled for any attachment where either the source or destination blend factors for that attachment use the secondary color input, the maximum value of Location for any output attachment statically used in the Fragment Execution Model executed by this command must be less than maxFragmentDualSrcAttachments
VUID-vkCmdDrawClusterHUAWEI-maxMultiviewInstanceIndex-02688NNoneexplicitvkCmdDrawClusterHUAWEIIf the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
VUID-vkCmdDrawClusterHUAWEI-mipmapMode-04770NNoneexplicitvkCmdDrawClusterHUAWEIIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdDrawClusterHUAWEI-mipmapMode-09599NNoneexplicitvkCmdDrawClusterHUAWEIIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdDrawClusterHUAWEI-multisampledRenderToSingleSampled-07284NNoneexplicitvkCmdDrawClusterHUAWEIIf rasterization is not disabled in the bound graphics pipeline, and none of the following is enabled: the VK_AMD_mixed_attachment_samples extension the VK_NV_framebuffer_mixed_samples extension the multisampledRenderToSingleSampled feature then rasterizationSamples for the currently bound graphics pipeline must be the same as the current subpass color and/or depth/stencil attachments
VUID-vkCmdDrawClusterHUAWEI-multisampledRenderToSingleSampled-07285NNoneexplicitvkCmdDrawClusterHUAWEIIf the currently bound pipeline was created without a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the multisampledRenderToSingleSampled feature is not enabled, and the current render pass instance was begun with vkCmdBeginRendering with a VkRenderingInfo::colorAttachmentCount parameter greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with a imageView not equal to VK_NULL_HANDLE must have been created with a sample count equal to the value of rasterizationSamples for the currently bound graphics pipeline
VUID-vkCmdDrawClusterHUAWEI-multisampledRenderToSingleSampled-07286NNoneexplicitvkCmdDrawClusterHUAWEIIf the currently bound pipeline was created without a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the multisampledRenderToSingleSampled feature is not enabled, and VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, the value of rasterizationSamples for the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pDepthAttachment->imageView
VUID-vkCmdDrawClusterHUAWEI-multisampledRenderToSingleSampled-07287NNoneexplicitvkCmdDrawClusterHUAWEIIf the currently bound pipeline was created without a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the multisampledRenderToSingleSampled feature is not enabled, and VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, the value of rasterizationSamples for the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pStencilAttachment->imageView
VUID-vkCmdDrawClusterHUAWEI-pColorAttachments-08963NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, there is a graphics pipeline bound with a fragment shader that statically writes to a color attachment, the color write mask is not zero, color writes are enabled, and the corresponding element of the VkRenderingInfo::pColorAttachments->imageView was not VK_NULL_HANDLE, then the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the pipeline must not be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawClusterHUAWEI-pColorBlendEnables-07470NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT state enabled and the last call to vkCmdSetColorBlendEnableEXT set pColorBlendEnables for any attachment to VK_TRUE, then for those attachments in the subpass the corresponding image view's format features must contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
VUID-vkCmdDrawClusterHUAWEI-pDepthAttachment-06186NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound pipeline was created with a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, the value of the depthStencilAttachmentSamples member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV used to create the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pDepthAttachment->imageView
VUID-vkCmdDrawClusterHUAWEI-pDepthAttachment-08964NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, there is a graphics pipeline bound, depth test is enabled, depth write is enabled, and the VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, then the VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the pipeline must not be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawClusterHUAWEI-pDepthInputAttachmentIndex-09595NNoneexplicitvkCmdDrawClusterHUAWEIInput attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.
VUID-vkCmdDrawClusterHUAWEI-pDepthInputAttachmentIndex-09596NNoneexplicitvkCmdDrawClusterHUAWEIInput attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.
VUID-vkCmdDrawClusterHUAWEI-pDynamicStates-08715NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state includes a fragment shader stage, was created with VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE set in VkPipelineDynamicStateCreateInfo::pDynamicStates, and the fragment shader declares the EarlyFragmentTests execution mode and uses OpDepthAttachmentReadEXT, the depthWriteEnable parameter in the last call to vkCmdSetDepthWriteEnable must be VK_FALSE
VUID-vkCmdDrawClusterHUAWEI-pDynamicStates-08716NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state includes a fragment shader stage, was created with VK_DYNAMIC_STATE_STENCIL_WRITE_MASK set in VkPipelineDynamicStateCreateInfo::pDynamicStates, and the fragment shader declares the EarlyFragmentTests execution mode and uses OpStencilAttachmentReadEXT, the writeMask parameter in the last call to vkCmdSetStencilWriteMask must be 0
VUID-vkCmdDrawClusterHUAWEI-pFragmentSize-09370NNoneexplicitvkCmdDrawClusterHUAWEIIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-pFragmentSize-09371NNoneexplicitvkCmdDrawClusterHUAWEIIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-pNext-07935NNoneexplicitvkCmdDrawClusterHUAWEIIf this command has been called inside a render pass instance started with vkCmdBeginRendering, and the pNext chain of VkRenderingInfo includes a VkMultisampledRenderToSingleSampledInfoEXT structure with multisampledRenderToSingleSampledEnable equal to VK_TRUE, then the value of rasterizationSamples for the currently bound graphics pipeline must be equal to VkMultisampledRenderToSingleSampledInfoEXT::rasterizationSamples
VUID-vkCmdDrawClusterHUAWEI-pStencilAttachment-06187NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound pipeline was created with a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, the value of the depthStencilAttachmentSamples member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV used to create the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pStencilAttachment->imageView
VUID-vkCmdDrawClusterHUAWEI-pStencilAttachment-08965NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, there is a graphics pipeline bound, stencil test is enabled and the VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, then the VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the pipeline must not be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawClusterHUAWEI-pipelineFragmentShadingRate-09238NNoneexplicitvkCmdDrawClusterHUAWEIIf the pipelineFragmentShadingRate feature is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetFragmentShadingRateKHR must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-pipelineStatistics-07076NNoneexplicitvkCmdDrawClusterHUAWEIThe pipelineStatistics member used to create any active Pipeline Statistics Query must not contain VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT, VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT, VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT, VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT, VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT, or VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT
VUID-vkCmdDrawClusterHUAWEI-primitiveFragmentShadingRateWithMultipleViewports-04552NNoneexplicitvkCmdDrawClusterHUAWEIIf the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must be 1
VUID-vkCmdDrawClusterHUAWEI-primitiveFragmentShadingRateWithMultipleViewports-08642NNoneexplicitvkCmdDrawClusterHUAWEIIf the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, and any shader object bound to a graphics stage writes to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must be 1
VUID-vkCmdDrawClusterHUAWEI-primitivesGeneratedQueryWithNonZeroStreams-06709NNoneexplicitvkCmdDrawClusterHUAWEIIf the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream
VUID-vkCmdDrawClusterHUAWEI-primitivesGeneratedQueryWithNonZeroStreams-07481NNoneexplicitvkCmdDrawClusterHUAWEIIf the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, and the bound graphics pipeline was created with VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT state enabled, the last call to vkCmdSetRasterizationStreamEXT must have set the rasterizationStream to zero
VUID-vkCmdDrawClusterHUAWEI-primitivesGeneratedQueryWithRasterizerDiscard-06708NNoneexplicitvkCmdDrawClusterHUAWEIIf the primitivesGeneratedQueryWithRasterizerDiscard feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, rasterization discard must not be enabled
VUID-vkCmdDrawClusterHUAWEI-rasterizationSamples-07471NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, and the current subpass does not use any color and/or depth/stencil attachments, then the rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT must follow the rules for a zero-attachment subpass
VUID-vkCmdDrawClusterHUAWEI-rasterizationSamples-07474NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, and neither the VK_AMD_mixed_attachment_samples nor the VK_NV_framebuffer_mixed_samples extensions are enabled, then the rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT must be the same as the current subpass color and/or depth/stencil attachments
VUID-vkCmdDrawClusterHUAWEI-rasterizationSamples-07489NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_NV_framebuffer_mixed_samples extension is enabled, and if current subpass has a depth/stencil attachment and depth test, stencil test, or depth bounds test are enabled in the currently bound pipeline state, then the current rasterizationSamples must be the same as the sample count of the depth/stencil attachment
VUID-vkCmdDrawClusterHUAWEI-rasterizationSamples-07494NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_NV_framebuffer_mixed_samples extension is enabled, and if the current subpass has any color attachments and rasterizationSamples of the last call to vkCmdSetRasterizationSamplesEXT is greater than the number of color samples, then the pipeline sampleShadingEnable must be VK_FALSE
VUID-vkCmdDrawClusterHUAWEI-rasterizationSamples-09367NNoneexplicitvkCmdDrawClusterHUAWEIIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetRasterizationSamplesEXT must have set rasterizationSamples to VK_SAMPLE_COUNT_1_BIT prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-rasterizerDiscardEnable-09236NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_EXT_discard_rectangles extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDiscardRectangleEnableEXT in the current command buffer set discardRectangleEnable to VK_TRUE, then vkCmdSetDiscardRectangleEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-rasterizerDiscardEnable-09416NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_EXT_blend_operation_advanced extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then at least one of vkCmdSetColorBlendEquationEXT and vkCmdSetColorBlendAdvancedEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-rasterizerDiscardEnable-09417NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEnableEXT calls must specify an enable for all active color attachments in the current subpass
VUID-vkCmdDrawClusterHUAWEI-rasterizerDiscardEnable-09418NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled
VUID-vkCmdDrawClusterHUAWEI-rasterizerDiscardEnable-09419NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorWriteMaskEXT calls must specify the color write mask for all active color attachments in the current subpass
VUID-vkCmdDrawClusterHUAWEI-rasterizerDiscardEnable-09420NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_NV_fragment_coverage_to_color extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the last call to vkCmdSetCoverageToColorEnableNV set the coverageToColorEnable to VK_TRUE, then the current subpass must have a color attachment at the location selected by the last call to vkCmdSetCoverageToColorLocationNV coverageToColorLocation, with a VkFormat of VK_FORMAT_R8_UINT, VK_FORMAT_R8_SINT, VK_FORMAT_R16_UINT, VK_FORMAT_R16_SINT, VK_FORMAT_R32_UINT, or VK_FORMAT_R32_SINT
VUID-vkCmdDrawClusterHUAWEI-reductionMode-09213NNoneexplicitvkCmdDrawClusterHUAWEIAny VkImageView being sampled with a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM as a result of this command must sample with VK_FILTER_CUBIC_EXT
VUID-vkCmdDrawClusterHUAWEI-renderPass-02684NNoneexplicitvkCmdDrawClusterHUAWEIThe current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS
VUID-vkCmdDrawClusterHUAWEI-renderPass-06198NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound pipeline must have been created with a VkGraphicsPipelineCreateInfo::renderPass equal to VK_NULL_HANDLE
VUID-vkCmdDrawClusterHUAWEI-renderpassYNoneimplicitvkCmdDrawClusterHUAWEIThis command must only be called inside of a render pass instance
VUID-vkCmdDrawClusterHUAWEI-sampleLocationsEnable-02689NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set
VUID-vkCmdDrawClusterHUAWEI-sampleLocationsEnable-07484NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set
VUID-vkCmdDrawClusterHUAWEI-sampleLocationsEnable-07485NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and if sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, then the sampleLocationsInfo.sampleLocationGridSize.width in the last call to vkCmdSetSampleLocationsEXT must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.width as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling rasterizationSamples
VUID-vkCmdDrawClusterHUAWEI-sampleLocationsEnable-07486NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and if sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, then the sampleLocationsInfo.sampleLocationGridSize.height in the last call to vkCmdSetSampleLocationsEXT must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.height as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling rasterizationSamples
VUID-vkCmdDrawClusterHUAWEI-sampleLocationsEnable-07487NNoneexplicitvkCmdDrawClusterHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and if sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, the fragment shader code must not statically use the extended instruction InterpolateAtSample
VUID-vkCmdDrawClusterHUAWEI-sampleLocationsEnable-07936NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state disabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable in the bound graphics pipeline is VK_TRUE or VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, then, sampleLocationsInfo.sampleLocationGridSize.width must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.width as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling the value of rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawClusterHUAWEI-sampleLocationsEnable-07937NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state disabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable in the bound graphics pipeline is VK_TRUE or VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, then, sampleLocationsInfo.sampleLocationGridSize.height must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.height as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling the value of rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawClusterHUAWEI-sampleLocationsEnable-07938NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state disabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable in the bound graphics pipeline is VK_TRUE or VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, then, sampleLocationsInfo.sampleLocationsPerPixel must equal rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawClusterHUAWEI-sampleLocationsPerPixel-07482NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state disabled, then the sampleLocationsPerPixel member of pSampleLocationsInfo in the last call to vkCmdSetSampleLocationsEXT must equal the rasterizationSamples member of the VkPipelineMultisampleStateCreateInfo structure the bound graphics pipeline has been created with
VUID-vkCmdDrawClusterHUAWEI-sampleLocationsPerPixel-07483NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, then the sampleLocationsPerPixel member of pSampleLocationsInfo in the last call to vkCmdSetSampleLocationsEXT must equal the rasterizationSamples parameter of the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawClusterHUAWEI-samples-07472NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_MASK_EXT state enabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state disabled, then the samples parameter in the last call to vkCmdSetSampleMaskEXT must be greater or equal to the VkPipelineMultisampleStateCreateInfo::rasterizationSamples parameter used to create the bound graphics pipeline
VUID-vkCmdDrawClusterHUAWEI-samples-07473NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_MASK_EXT state and VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT states enabled, then the samples parameter in the last call to vkCmdSetSampleMaskEXT must be greater or equal to the rasterizationSamples parameter in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawClusterHUAWEI-scissorCount-03418NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, then vkCmdSetScissorWithCount must have been called in the current command buffer prior to this drawing command, and the scissorCount parameter of vkCmdSetScissorWithCount must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline
VUID-vkCmdDrawClusterHUAWEI-selectableCubicWeights-09214NNoneexplicitvkCmdDrawClusterHUAWEIIf the selectableCubicWeights feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have VkSamplerCubicWeightsCreateInfoQCOM::cubicWeights equal to VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM
VUID-vkCmdDrawClusterHUAWEI-shadingRateImage-09233NNoneexplicitvkCmdDrawClusterHUAWEIIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoarseSampleOrderNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-shadingRateImage-09234NNoneexplicitvkCmdDrawClusterHUAWEIIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetShadingRateImageEnableNV in the current command buffer set shadingRateImageEnable to VK_TRUE, then vkCmdSetViewportShadingRatePaletteNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterHUAWEI-sparseImageInt64Atomics-04474NNoneexplicitvkCmdDrawClusterHUAWEIIf the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdDrawClusterHUAWEI-sparseImageInt64Atomics-04475NNoneexplicitvkCmdDrawClusterHUAWEIIf the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdDrawClusterHUAWEI-stage-06480NNoneexplicitvkCmdDrawClusterHUAWEIThe bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT
VUID-vkCmdDrawClusterHUAWEI-stage-07073NNoneexplicitvkCmdDrawClusterHUAWEIIf the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active
VUID-vkCmdDrawClusterHUAWEI-stippledLineEnable-07495NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled
VUID-vkCmdDrawClusterHUAWEI-stippledLineEnable-07496NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled
VUID-vkCmdDrawClusterHUAWEI-stippledLineEnable-07497NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled
VUID-vkCmdDrawClusterHUAWEI-stippledLineEnable-07498NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE
VUID-vkCmdDrawClusterHUAWEI-storageBuffers-06936NNoneexplicitvkCmdDrawClusterHUAWEIIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawClusterHUAWEI-subpass-02685NNoneexplicitvkCmdDrawClusterHUAWEIThe subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS
VUID-vkCmdDrawClusterHUAWEI-uniformBuffers-06935NNoneexplicitvkCmdDrawClusterHUAWEIIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawClusterHUAWEI-videocodingYNoneimplicitvkCmdDrawClusterHUAWEIThis command must only be called outside of a video coding scope
VUID-vkCmdDrawClusterHUAWEI-viewMask-06178NNoneexplicitvkCmdDrawClusterHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound graphics pipeline must have been created with a VkPipelineRenderingCreateInfo::viewMask equal to VkRenderingInfo::viewMask
VUID-vkCmdDrawClusterHUAWEI-viewType-07752NNoneexplicitvkCmdDrawClusterHUAWEIIf a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Instruction/Sampler/Image View Validation
VUID-vkCmdDrawClusterHUAWEI-viewportCount-03417NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT dynamic state enabled, then vkCmdSetViewportWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline
VUID-vkCmdDrawClusterHUAWEI-viewportCount-03419NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic states enabled then both vkCmdSetViewportWithCount and vkCmdSetScissorWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must match the scissorCount parameter of vkCmdSetScissorWithCount
VUID-vkCmdDrawClusterHUAWEI-viewportCount-04137NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportWScalingStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterHUAWEI-viewportCount-04138NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterHUAWEI-viewportCount-04139NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterHUAWEI-viewportCount-04140NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterHUAWEI-viewportCount-07492NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportSwizzleStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterHUAWEI-viewportCount-07493NNoneexplicitvkCmdDrawClusterHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportSwizzleNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterHUAWEI-viewportCount-09421NNoneexplicitvkCmdDrawClusterHUAWEIIf the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then the viewportCount parameter in the last call to vkCmdSetViewportSwizzleNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterIndirectHUAWEI-ClusterCullingHUAWEI-07824NNoneexplicitvkCmdDrawClusterIndirectHUAWEIThe current pipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS must contain a shader stage using the ClusterCullingHUAWEI Execution Model.
VUID-vkCmdDrawClusterIndirectHUAWEI-ConstOffset-06551NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must not use the ConstOffset and Offset operands
VUID-vkCmdDrawClusterIndirectHUAWEI-InputAttachmentIndex-09597NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.
VUID-vkCmdDrawClusterIndirectHUAWEI-None-02691NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-None-02692NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
VUID-vkCmdDrawClusterIndirectHUAWEI-None-02693NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_EXT_filter_cubic extension is not enabled and any VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, it must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
VUID-vkCmdDrawClusterIndirectHUAWEI-None-04876NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE dynamic state enabled then vkCmdSetRasterizerDiscardEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-04877NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE dynamic state enabled then vkCmdSetDepthBiasEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-06479NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a VkImageView is sampled with depth comparison, the image view's format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-None-06537NNoneexplicitvkCmdDrawClusterIndirectHUAWEIMemory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-06539NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf any previously recorded command in the current subpass accessed an image subresource used as an attachment in this subpass in any way other than as an attachment, this command must not write to that image subresource as an attachment
VUID-vkCmdDrawClusterIndirectHUAWEI-None-06550NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions
VUID-vkCmdDrawClusterIndirectHUAWEI-None-06666NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT dynamic state enabled then vkCmdSetSampleLocationsEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-06886NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance uses a depth/stencil attachment with a read-only layout for the depth aspect, depth writes must be disabled
VUID-vkCmdDrawClusterIndirectHUAWEI-None-06887NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance uses a depth/stencil attachment with a read-only layout for the stencil aspect, both front and back writeMask are not zero, and stencil test is enabled, all stencil ops must be VK_STENCIL_OP_KEEP
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07074NNoneexplicitvkCmdDrawClusterIndirectHUAWEITransform Feedback Queries must not be active
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07075NNoneexplicitvkCmdDrawClusterIndirectHUAWEIPrimitives Generated Queries must not be active
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07288NNoneexplicitvkCmdDrawClusterIndirectHUAWEIAny shader invocation executed by this command must terminate
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07469NNoneexplicitvkCmdDrawClusterIndirectHUAWEIInput attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07619NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled then vkCmdSetTessellationDomainOriginEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07620NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled then vkCmdSetDepthClampEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07621NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_POLYGON_MODE_EXT dynamic state enabled then vkCmdSetPolygonModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07622NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT dynamic state enabled then vkCmdSetRasterizationSamplesEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07623NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_MASK_EXT dynamic state enabled then vkCmdSetSampleMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07624NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT dynamic state enabled then vkCmdSetAlphaToCoverageEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07625NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT dynamic state enabled then vkCmdSetAlphaToOneEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07626NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT dynamic state enabled then vkCmdSetLogicOpEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07627NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic state enabled then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07628NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT dynamic state enabled then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07629NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT dynamic state enabled then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07630NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT dynamic state enabled then vkCmdSetRasterizationStreamEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07631NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT dynamic state enabled then vkCmdSetConservativeRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07632NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT dynamic state enabled then vkCmdSetExtraPrimitiveOverestimationSizeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07633NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT dynamic state enabled then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07634NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT dynamic state enabled then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07635NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT dynamic state enabled then vkCmdSetColorBlendAdvancedEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07636NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT dynamic state enabled then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07637NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic state enabled then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07638NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT dynamic state enabled then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07639NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT dynamic state enabled then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07640NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV dynamic state enabled then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07641NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV dynamic state enabled then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07642NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV dynamic state enabled then vkCmdSetCoverageToColorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07643NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV dynamic state enabled then vkCmdSetCoverageToColorLocationNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07644NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV dynamic state enabled then vkCmdSetCoverageModulationModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07645NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV dynamic state enabled then vkCmdSetCoverageModulationTableEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07646NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV dynamic state enabled then vkCmdSetCoverageModulationTableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07647NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV dynamic state enabled then vkCmdSetShadingRateImageEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07648NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV dynamic state enabled then vkCmdSetRepresentativeFragmentTestEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07649NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV dynamic state enabled then vkCmdSetCoverageReductionModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07748NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf any shader statically accesses an input attachment, a valid descriptor must be bound to the pipeline via a descriptor set
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07749NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT dynamic state enabled then vkCmdSetColorWriteEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07751NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT dynamic state enabled then vkCmdSetDiscardRectangleEXT must have been called in the current command buffer prior to this drawing command for each discard rectangle in VkPipelineDiscardRectangleStateCreateInfoEXT::discardRectangleCount
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07831NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT dynamic state enabled then vkCmdSetViewport must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07832NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR dynamic state enabled then vkCmdSetScissor must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07833NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_WIDTH dynamic state enabled then vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07834NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07835NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_BLEND_CONSTANTS dynamic state enabled then vkCmdSetBlendConstants must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07836NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS dynamic state enabled, and if the current depthBoundsTestEnable state is VK_TRUE, then vkCmdSetDepthBounds must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07837NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK dynamic state enabled, and if the current stencilTestEnable state is VK_TRUE, then vkCmdSetStencilCompareMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07838NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_WRITE_MASK dynamic state enabled, and if the current stencilTestEnable state is VK_TRUE, then vkCmdSetStencilWriteMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07839NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_REFERENCE dynamic state enabled, and if the current stencilTestEnable state is VK_TRUE, then vkCmdSetStencilReference must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07840NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_CULL_MODE dynamic state enabled then vkCmdSetCullMode must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07841NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_FRONT_FACE dynamic state enabled then vkCmdSetFrontFace must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07843NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE dynamic state enabled then vkCmdSetDepthTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07844NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE dynamic state enabled then vkCmdSetDepthWriteEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07845NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_COMPARE_OP dynamic state enabled then vkCmdSetDepthCompareOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07846NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07847NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07848NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07849NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07850NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07878NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07879NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07880NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT dynamic state enabled then vkCmdSetDiscardRectangleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07881NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT dynamic state enabled then vkCmdSetDiscardRectangleModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07888NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer's format features must contain VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08114NNoneexplicitvkCmdDrawClusterIndirectHUAWEIDescriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid as described by descriptor validity if they are statically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was not created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08115NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdBindDescriptorSets, the bound VkPipeline must have been created without VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08116NNoneexplicitvkCmdDrawClusterIndirectHUAWEIDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08117NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdSetDescriptorBufferOffsetsEXT, the bound VkPipeline must have been created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08119NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a descriptor is dynamically used with a VkPipeline created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08600NNoneexplicitvkCmdDrawClusterIndirectHUAWEIFor each set n that is statically used by a bound shader, a descriptor set must have been bound to n at the same pipeline bind point, with a VkPipelineLayout that is compatible for set n, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08601NNoneexplicitvkCmdDrawClusterIndirectHUAWEIFor each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08604NNoneexplicitvkCmdDrawClusterIndirectHUAWEIDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08605NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a descriptor is dynamically used with a VkShaderEXT created with a VkDescriptorSetLayout that was created with VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08606NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08607NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the shaderObject is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08608NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state not specified as dynamic in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08609NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08610NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08611NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08612NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a uniform buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08613NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a storage buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08617NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08618NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08619NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08620NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDepthBiasEnable in the current command buffer set depthBiasEnable to VK_TRUE, vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08621NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetColorBlendEnableEXT in the current command buffer set any element of pColorBlendEnables to VK_TRUE, and the most recent call to vkCmdSetColorBlendEquationEXT in the current command buffer set the same element of pColorBlendEquations to a VkColorBlendEquationEXT structure with any VkBlendFactor member with a value of VK_BLEND_FACTOR_CONSTANT_COLOR, VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR, VK_BLEND_FACTOR_CONSTANT_ALPHA, or VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA, vkCmdSetBlendConstants must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08622NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDepthBoundsTestEnable in the current command buffer set depthBoundsTestEnable to VK_TRUE, then vkCmdSetDepthBounds must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08623NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, vkCmdSetStencilCompareMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08624NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, vkCmdSetStencilWriteMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08625NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, vkCmdSetStencilReference must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08626NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetSampleLocationsEnableEXT in the current command buffer set sampleLocationsEnable to VK_TRUE, then vkCmdSetSampleLocationsEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08627NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCullMode must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08628NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetFrontFace must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08629NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08630NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthWriteEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08631NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDepthTestEnable in the current command buffer set depthTestEnable to VK_TRUE, then vkCmdSetDepthCompareOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08632NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the depthBounds feature is enabled, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then the vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08633NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08634NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08635NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, then both vkCmdSetViewportWithCount and vkCmdSetScissorWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must match the scissorCount parameter of vkCmdSetScissorWithCount
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08636NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetViewportWScalingEnableNV in the current command buffer set viewportWScalingEnable to VK_TRUE, then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08637NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetShadingRateImageEnableNV in the current command buffer set shadingRateImageEnable to VK_TRUE, then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08638NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the exclusiveScissor feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetExclusiveScissorEnableNV in the current command buffer set any element of pExclusiveScissorEnables to VK_TRUE, then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08639NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, then vkCmdSetRasterizerDiscardEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08640NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthBiasEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08641NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLogicOpEnableEXT set logicOpEnable to VK_TRUE, then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08643NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then for each color attachment in the render pass, if the corresponding image view's format features do not contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the corresponding member of pColorBlendEnables in the most recent call to vkCmdSetColorBlendEnableEXT in the current command buffer that affected that attachment index must have been VK_FALSE
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08644NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and none of the following is enabled: the VK_AMD_mixed_attachment_samples extension the VK_NV_framebuffer_mixed_samples extension the multisampledRenderToSingleSampled feature then the most recent call to vkCmdSetRasterizationSamplesEXT in the current command buffer must have set rasterizationSamples to be the same as the number of samples for the current render pass color and/or depth/stencil attachments
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08646NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the colorWriteEnable feature is enabled on the device, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08647NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the colorWriteEnable feature is enabled on the device, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then the attachmentCount parameter of most recent call to vkCmdSetColorWriteEnableEXT in the current command buffer must be greater than or equal to the number of color attachments in the current render pass instance
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08648NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_EXT_discard_rectangles extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDiscardRectangleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08649NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_EXT_discard_rectangles extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDiscardRectangleEnableEXT in the current command buffer set discardRectangleEnable to VK_TRUE, then vkCmdSetDiscardRectangleModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08650NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the depthClamp feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08651NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetPolygonModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08652NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetRasterizationSamplesEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08653NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08654NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetAlphaToCoverageEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08655NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the alphaToOne feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetAlphaToOneEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08656NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the logicOp feature is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLogicOpEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08657NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08658NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetColorBlendEnableEXT for any attachment set that attachment's value in pColorBlendEnables to VK_TRUE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08659NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08660NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the geometryStreams feature is enabled, and a shader object is bound to the VK_SHADER_STAGE_GEOMETRY_BIT stage, then vkCmdSetRasterizationStreamEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08661NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_EXT_conservative_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetConservativeRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08662NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_EXT_conservative_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetConservativeRasterizationModeEXT in the current command buffer set conservativeRasterizationMode to VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT, then vkCmdSetExtraPrimitiveOverestimationSizeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08663NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08664NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08665NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08666NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08667NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08668NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08669NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08670NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08671NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08672NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08673NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08674NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08675NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08676NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_NV_fragment_coverage_to_color extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoverageToColorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08677NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_NV_fragment_coverage_to_color extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetCoverageToColorEnableNV in the current command buffer set coverageToColorEnable to VK_TRUE, then vkCmdSetCoverageToColorLocationNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08678NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_NV_framebuffer_mixed_samples extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoverageModulationModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08679NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_NV_framebuffer_mixed_samples extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetCoverageModulationModeNV in the current command buffer set coverageModulationMode to any value other than VK_COVERAGE_MODULATION_MODE_NONE_NV, then vkCmdSetCoverageModulationTableEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08680NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_NV_framebuffer_mixed_samples extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetCoverageModulationTableEnableNV in the current command buffer set coverageModulationTableEnable to VK_TRUE, then vkCmdSetCoverageModulationTableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08681NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetShadingRateImageEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08682NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the representativeFragmentTest feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetRepresentativeFragmentTestEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08683NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the coverageReductionMode feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoverageReductionModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08684NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08685NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08686NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08687NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08688NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08689NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf there is no bound graphics pipeline, and the taskShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TASK_BIT_EXT
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08690NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf there is no bound graphics pipeline, and the meshShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_MESH_BIT_EXT
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08693NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf there is no bound graphics pipeline, and at least one of the taskShader and meshShader features is enabled, one of the VK_SHADER_STAGE_VERTEX_BIT or VK_SHADER_STAGE_MESH_BIT_EXT stages must have a valid VkShaderEXT bound, and the other must have no VkShaderEXT bound
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08694NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf there is no bound graphics pipeline, and both the taskShader and meshShader features are enabled, and a valid VkShaderEXT is bound the to the VK_SHADER_STAGE_MESH_BIT_EXT stage, and that VkShaderEXT was created without the VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT flag, a valid VkShaderEXT must be bound to the VK_SHADER_STAGE_TASK_BIT_EXT stage
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08695NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf there is no bound graphics pipeline, and both the taskShader and meshShader features are enabled, and a valid VkShaderEXT is bound the to the VK_SHADER_STAGE_MESH_BIT_EXT stage, and that VkShaderEXT was created with the VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT flag, there must be no VkShaderEXT bound to the VK_SHADER_STAGE_TASK_BIT_EXT stage
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08696NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf there is no bound graphics pipeline, and a valid VkShaderEXT is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, there must be no VkShaderEXT bound to either the VK_SHADER_STAGE_TASK_BIT_EXT stage or the VK_SHADER_STAGE_MESH_BIT_EXT stage
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08698NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf any graphics shader is bound which was created with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag, then all shaders created with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag in the same vkCreateShadersEXT call must also be bound
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08699NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf any graphics shader is bound which was created with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag, any stages in between stages whose shaders which did not create a shader with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag as part of the same vkCreateShadersEXT call must not have any VkShaderEXT bound
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08876NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, the current render pass instance must have been begun with vkCmdBeginRendering
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08877NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT dynamic state vkCmdSetAttachmentFeedbackLoopEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08878NNoneexplicitvkCmdDrawClusterIndirectHUAWEIAll bound graphics shader objects must have been created with identical or identically defined push constant ranges
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08879NNoneexplicitvkCmdDrawClusterIndirectHUAWEIAll bound graphics shader objects must have been created with identical or identically defined arrays of descriptor set layouts
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08880NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the attachmentFeedbackLoopDynamicState feature is enabled on the device, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetAttachmentFeedbackLoopEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-09000NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a color attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it is not in the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout, and either: the VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT is set on the currently bound pipeline or the last call to vkCmdSetAttachmentFeedbackLoopEnableEXT included VK_IMAGE_ASPECT_COLOR_BIT and there is no currently bound graphics pipeline or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT it must not be accessed in any way other than as an attachment by this command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-09001NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a depth attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it is not in the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout, and either: the VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT is set on the currently bound pipeline or the last call to vkCmdSetAttachmentFeedbackLoopEnableEXT included VK_IMAGE_ASPECT_DEPTH_BIT and there is no currently bound graphics pipeline or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT it must not be accessed in any way other than as an attachment by this command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-09002NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a stencil attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it is not in the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout, and either: the VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT is set on the currently bound pipeline or the last call to vkCmdSetAttachmentFeedbackLoopEnableEXT included VK_IMAGE_ASPECT_STENCIL_BIT and there is no currently bound graphics pipeline or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT it must not be accessed in any way other than as an attachment by this command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-09003NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf an attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it must not be accessed in any way other than as an attachment, storage image, or sampled image by this command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-09116NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT, and the format of any color attachment is VK_FORMAT_E5B9G9R9_UFLOAT_PACK32, the corresponding element of the pColorWriteMasks parameter of vkCmdSetColorWriteMaskEXT must either include all of VK_COLOR_COMPONENT_R_BIT, VK_COLOR_COMPONENT_G_BIT, and VK_COLOR_COMPONENT_B_BIT, or none of them
VUID-vkCmdDrawClusterIndirectHUAWEI-None-09211NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, or a shader object is bound to any graphics stage, and the current render pass instance includes a VkMultisampledRenderToSingleSampledInfoEXT structure with multisampledRenderToSingleSampledEnable equal to VK_TRUE, then the rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT must be the same as the rasterizationSamples member of that structure
VUID-vkCmdDrawClusterIndirectHUAWEI-None-09232NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetViewportWScalingEnableNV in the current command buffer set viewportWScalingEnable to VK_TRUE, then vkCmdSetViewportWScalingNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-09237NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage, then vkCmdSetTessellationDomainOriginEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-09363NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf there is no shader object bound to any graphics stage, the current render pass instance was begun with vkCmdBeginRendering and a VkRenderingInfo::colorAttachmentCount equal to 1, and a color attachment with a resolve mode of VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, each element of the VkRenderingInfo::pColorAttachments array with a imageView not equal to VK_NULL_HANDLE must have been created with an image created with a VkExternalFormatANDROID::externalFormat value equal to the VkExternalFormatANDROID::externalFormat value used to create the currently bound graphics pipeline
VUID-vkCmdDrawClusterIndirectHUAWEI-None-09364NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic state enabled, then vkCmdSetColorBlendEnableEXT must have set the blend enable to VK_FALSE prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-09365NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT dynamic state enabled, then vkCmdSetRasterizationSamplesEXT must have set rasterizationSamples to VK_SAMPLE_COUNT_1_BIT prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-09366NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-09368NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-09369NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-None-09548NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline
VUID-vkCmdDrawClusterIndirectHUAWEI-None-09549NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR
VUID-vkCmdDrawClusterIndirectHUAWEI-None-09600NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written
VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageBlockMatchSADQCOM-06975NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageBlockMatchSADQCOM-06976NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageBlockMatchSSDQCOM-06974NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageBlockMatchWindow-09215NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageBlockMatchWindow-09216NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format must be a single-component format.
VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageBlockMatchWindow-09217NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageBoxFilterQCOM-06973NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf OpImageBoxFilterQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM
VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageWeightedSampleQCOM-06971NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf OpImageWeightedSampleQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM
VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageWeightedSampleQCOM-06972NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf OpImageWeightedSampleQCOM uses a VkImageView as a sample weight image as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM
VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageWeightedSampleQCOM-06977NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageWeightedSampleQCOM-06978NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf any command other than OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must not have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageWrite-04469NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format
VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageWrite-08795NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a VkImageView created with a format other than VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format
VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageWrite-08796NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a VkImageView created with the format VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have four components
VUID-vkCmdDrawClusterIndirectHUAWEI-OpTypeImage-07027NNoneexplicitvkCmdDrawClusterIndirectHUAWEIFor any VkImageView being written as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-OpTypeImage-07028NNoneexplicitvkCmdDrawClusterIndirectHUAWEIFor any VkImageView being read as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-OpTypeImage-07029NNoneexplicitvkCmdDrawClusterIndirectHUAWEIFor any VkBufferView being written as a storage texel buffer where the image format field of the OpTypeImage is Unknown, the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-OpTypeImage-07030NNoneexplicitvkCmdDrawClusterIndirectHUAWEIAny VkBufferView being read as a storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-OpTypeImage-07468NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf any shader executed by this pipeline accesses an OpTypeImage variable with a Dim operand of SubpassData, it must be decorated with an InputAttachmentIndex that corresponds to a valid input attachment in the current subpass
VUID-vkCmdDrawClusterIndirectHUAWEI-SampledType-04470NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a VkImageView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdDrawClusterIndirectHUAWEI-SampledType-04471NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a VkImageView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdDrawClusterIndirectHUAWEI-SampledType-04472NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a VkBufferView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdDrawClusterIndirectHUAWEI-SampledType-04473NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a VkBufferView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdDrawClusterIndirectHUAWEI-VkPipelineVieportCreateInfo-04141NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled and a VkPipelineViewportSwizzleStateCreateInfoNV structure chained from VkPipelineViewportStateCreateInfo, then the bound graphics pipeline must have been created with VkPipelineViewportSwizzleStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterIndirectHUAWEI-VkPipelineVieportCreateInfo-04142NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled and a VkPipelineViewportExclusiveScissorStateCreateInfoNV structure chained from VkPipelineViewportStateCreateInfo, then the bound graphics pipeline must have been created with VkPipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterIndirectHUAWEI-advancedBlendMaxColorAttachments-07480NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT and VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic states enabled and the last calls to vkCmdSetColorBlendEnableEXT and vkCmdSetColorBlendAdvancedEXT have enabled advanced blending, then the number of active color attachments in the current subpass must not exceed advancedBlendMaxColorAttachments
VUID-vkCmdDrawClusterIndirectHUAWEI-alphaToCoverageEnable-08919NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT dynamic state enabled, and alphaToCoverageEnable was VK_TRUE in the last call to vkCmdSetAlphaToCoverageEnableEXT, then the Fragment Output Interface must contain a variable for the alpha Component word in Location 0 at Index 0
VUID-vkCmdDrawClusterIndirectHUAWEI-alphaToCoverageEnable-08920NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetAlphaToCoverageEnableEXT in the current command buffer set alphaToCoverageEnable to VK_TRUE, then the Fragment Output Interface must contain a variable for the alpha Component word in Location 0 at Index 0
VUID-vkCmdDrawClusterIndirectHUAWEI-attachmentCount-07750NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT dynamic state enabled then the attachmentCount parameter of vkCmdSetColorWriteEnableEXT must be greater than or equal to the VkPipelineColorBlendStateCreateInfo::attachmentCount of the currently bound graphics pipeline
VUID-vkCmdDrawClusterIndirectHUAWEI-blendEnable-04727NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view's format features do not contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the blendEnable member of the corresponding element of the pAttachments member of pColorBlendState must be VK_FALSE
VUID-vkCmdDrawClusterIndirectHUAWEI-buffer-parameterYNoneimplicitvkCmdDrawClusterIndirectHUAWEIbuffer must be a valid VkBuffer handle
VUID-vkCmdDrawClusterIndirectHUAWEI-colorAttachmentCount-06179NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the dynamicRenderingUnusedAttachments feature is not enabled and the current render pass instance was begun with vkCmdBeginRendering, the currently bound graphics pipeline must have been created with a VkPipelineRenderingCreateInfo::colorAttachmentCount equal to VkRenderingInfo::colorAttachmentCount
VUID-vkCmdDrawClusterIndirectHUAWEI-colorAttachmentCount-06185NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the currently bound pipeline was created with a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the current render pass instance was begun with vkCmdBeginRendering with a VkRenderingInfo::colorAttachmentCount parameter greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with a imageView not equal to VK_NULL_HANDLE must have been created with a sample count equal to the corresponding element of the pColorAttachmentSamples member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV used to create the currently bound graphics pipeline
VUID-vkCmdDrawClusterIndirectHUAWEI-colorAttachmentCount-09362NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, with a VkRenderingInfo::colorAttachmentCount equal to 1, there is no shader object bound to any graphics stage, and a color attachment with a resolve mode of VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, each element of the VkRenderingInfo::pColorAttachments array with a resolveImageView not equal to VK_NULL_HANDLE must have been created with an image created with a VkExternalFormatANDROID::externalFormat value equal to the VkExternalFormatANDROID::externalFormat value used to create the currently bound graphics pipeline
VUID-vkCmdDrawClusterIndirectHUAWEI-colorAttachmentCount-09372NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering and a VkRenderingInfo::colorAttachmentCount equal to 1, a color attachment with a resolve mode of VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, and a fragment shader is bound, it must not declare the DepthReplacing or StencilRefReplacingEXT execution modes
VUID-vkCmdDrawClusterIndirectHUAWEI-commandBuffer-02707NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf commandBuffer is an unprotected command buffer and protectedNoFault is not supported, any resource accessed by bound shaders must not be a protected resource
VUID-vkCmdDrawClusterIndirectHUAWEI-commandBuffer-cmdpoolYNoneimplicitvkCmdDrawClusterIndirectHUAWEIThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdDrawClusterIndirectHUAWEI-commandBuffer-parameterYNoneimplicitvkCmdDrawClusterIndirectHUAWEIcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdDrawClusterIndirectHUAWEI-commandBuffer-recordingYNoneimplicitvkCmdDrawClusterIndirectHUAWEIcommandBuffer must be in the recording state
VUID-vkCmdDrawClusterIndirectHUAWEI-commonparentYNoneimplicitvkCmdDrawClusterIndirectHUAWEIBoth of buffer, and commandBuffer must have been created, allocated, or retrieved from the same VkDevice
VUID-vkCmdDrawClusterIndirectHUAWEI-conservativePointAndLineRasterization-07499NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT dynamic state enabled, conservativePointAndLineRasterization is not supported, and the effective primitive topology output by the last pre-rasterization shader stage is a line or point, then the conservativeRasterizationMode set by the last call to vkCmdSetConservativeRasterizationModeEXT must be VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT
VUID-vkCmdDrawClusterIndirectHUAWEI-coverageModulationTableEnable-07488NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to any graphics stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV state enabled, and the last call to vkCmdSetCoverageModulationTableEnableNV set coverageModulationTableEnable to VK_TRUE, then the coverageModulationTableCount parameter in the last call to vkCmdSetCoverageModulationTableNV must equal the current rasterizationSamples divided by the number of color samples in the current subpass
VUID-vkCmdDrawClusterIndirectHUAWEI-coverageReductionMode-07491NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf this VK_NV_coverage_reduction_mode extension is enabled, the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV and VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT states enabled, the current coverage reduction mode coverageReductionMode, then the current rasterizationSamples, and the sample counts for the color and depth/stencil attachments (if the subpass has them) must be a valid combination returned by vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
VUID-vkCmdDrawClusterIndirectHUAWEI-coverageToColorEnable-07490NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV state enabled and the last call to vkCmdSetCoverageToColorEnableNV set the coverageToColorEnable to VK_TRUE, then the current subpass must have a color attachment at the location selected by the last call to vkCmdSetCoverageToColorLocationNV coverageToColorLocation, with a VkFormat of VK_FORMAT_R8_UINT, VK_FORMAT_R8_SINT, VK_FORMAT_R16_UINT, VK_FORMAT_R16_SINT, VK_FORMAT_R32_UINT, or VK_FORMAT_R32_SINT
VUID-vkCmdDrawClusterIndirectHUAWEI-cubicRangeClamp-09212NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the cubicRangeClamp feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must not have a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM
VUID-vkCmdDrawClusterIndirectHUAWEI-drawCount-02718NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the multiDrawIndirect feature is not enabled, drawCount must be 0 or 1
VUID-vkCmdDrawClusterIndirectHUAWEI-drawCount-02719NNoneexplicitvkCmdDrawClusterIndirectHUAWEIdrawCount must be less than or equal to VkPhysicalDeviceLimits::maxDrawIndirectCount
VUID-vkCmdDrawClusterIndirectHUAWEI-dynamicRenderingUnusedAttachments-08910NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the dynamicRenderingUnusedAttachments feature is not enabled, and the current render pass instance was begun with vkCmdBeginRendering and VkRenderingInfo::colorAttachmentCount greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with an imageView not equal to VK_NULL_HANDLE must have been created with a VkFormat equal to the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the currently bound graphics pipeline
VUID-vkCmdDrawClusterIndirectHUAWEI-dynamicRenderingUnusedAttachments-08911NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the dynamicRenderingUnusedAttachments feature is enabled, and the current render pass instance was begun with vkCmdBeginRendering and VkRenderingInfo::colorAttachmentCount greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with an imageView not equal to VK_NULL_HANDLE must have been created with a VkFormat equal to the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the currently bound graphics pipeline, or the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats, if it exists, must be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawClusterIndirectHUAWEI-dynamicRenderingUnusedAttachments-08912NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the dynamicRenderingUnusedAttachments feature is not enabled, and the current render pass instance was begun with vkCmdBeginRendering and VkRenderingInfo::colorAttachmentCount greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with an imageView equal to VK_NULL_HANDLE must have the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the currently bound pipeline equal to VK_FORMAT_UNDEFINED
VUID-vkCmdDrawClusterIndirectHUAWEI-dynamicRenderingUnusedAttachments-08913NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pDepthAttachment->imageView was VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the currently bound graphics pipeline must be equal to VK_FORMAT_UNDEFINED
VUID-vkCmdDrawClusterIndirectHUAWEI-dynamicRenderingUnusedAttachments-08914NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the currently bound graphics pipeline must be equal to the VkFormat used to create VkRenderingInfo::pDepthAttachment->imageView
VUID-vkCmdDrawClusterIndirectHUAWEI-dynamicRenderingUnusedAttachments-08915NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is enabled, VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, and the value of VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the currently bound graphics pipeline was not equal to the VkFormat used to create VkRenderingInfo::pDepthAttachment->imageView, the value of the format must be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawClusterIndirectHUAWEI-dynamicRenderingUnusedAttachments-08916NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pStencilAttachment->imageView was VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the currently bound graphics pipeline must be equal to VK_FORMAT_UNDEFINED
VUID-vkCmdDrawClusterIndirectHUAWEI-dynamicRenderingUnusedAttachments-08917NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the currently bound graphics pipeline must be equal to the VkFormat used to create VkRenderingInfo::pStencilAttachment->imageView
VUID-vkCmdDrawClusterIndirectHUAWEI-dynamicRenderingUnusedAttachments-08918NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is enabled, VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, and the value of VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the currently bound graphics pipeline was not equal to the VkFormat used to create VkRenderingInfo::pStencilAttachment->imageView, the value of the format must be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawClusterIndirectHUAWEI-exclusiveScissor-09235NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the exclusiveScissor feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-filterCubic-02694NNoneexplicitvkCmdDrawClusterIndirectHUAWEIAny VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have a VkImageViewType and format that supports cubic filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubic returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdDrawClusterIndirectHUAWEI-filterCubicMinmax-02695NNoneexplicitvkCmdDrawClusterIndirectHUAWEIAny VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdDrawClusterIndirectHUAWEI-firstAttachment-07476NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic state enabled then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEnableEXT calls must specify an enable for all active color attachments in the current subpass
VUID-vkCmdDrawClusterIndirectHUAWEI-firstAttachment-07477NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT dynamic state enabled then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled
VUID-vkCmdDrawClusterIndirectHUAWEI-firstAttachment-07478NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT dynamic state enabled then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorWriteMaskEXT calls must specify the color write mask for all active color attachments in the current subpass
VUID-vkCmdDrawClusterIndirectHUAWEI-firstAttachment-07479NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT dynamic state enabled then vkCmdSetColorBlendAdvancedEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendAdvancedEXT calls must specify the advanced blend equations for all active color attachments in the current subpass where blending is enabled
VUID-vkCmdDrawClusterIndirectHUAWEI-flags-02696NNoneexplicitvkCmdDrawClusterIndirectHUAWEIAny VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
VUID-vkCmdDrawClusterIndirectHUAWEI-format-07753NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a VkImageView is accessed as a result of this command, then the numeric type of the image view's format and the Sampled Type operand of the OpTypeImage must match
VUID-vkCmdDrawClusterIndirectHUAWEI-imageView-06172NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pDepthAttachment is not VK_NULL_HANDLE, and the layout member of pDepthAttachment is VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the depth attachment
VUID-vkCmdDrawClusterIndirectHUAWEI-imageView-06173NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pStencilAttachment is not VK_NULL_HANDLE, and the layout member of pStencilAttachment is VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment
VUID-vkCmdDrawClusterIndirectHUAWEI-imageView-06174NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pDepthAttachment is not VK_NULL_HANDLE, and the layout member of pDepthAttachment is VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this command must not write any values to the depth attachment
VUID-vkCmdDrawClusterIndirectHUAWEI-imageView-06175NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pStencilAttachment is not VK_NULL_HANDLE, and the layout member of pStencilAttachment is VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment
VUID-vkCmdDrawClusterIndirectHUAWEI-imageView-06176NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pDepthAttachment is not VK_NULL_HANDLE, and the layout member of pDepthAttachment is VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must not write any values to the depth attachment
VUID-vkCmdDrawClusterIndirectHUAWEI-imageView-06177NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pStencilAttachment is not VK_NULL_HANDLE, and the layout member of pStencilAttachment is VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment
VUID-vkCmdDrawClusterIndirectHUAWEI-imageView-06183NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
VUID-vkCmdDrawClusterIndirectHUAWEI-imageView-06184NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
VUID-vkCmdDrawClusterIndirectHUAWEI-logicOp-04878NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value
VUID-vkCmdDrawClusterIndirectHUAWEI-magFilter-04553NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-magFilter-09598NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-maintenance4-08602NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the maintenance4 feature is not enabled, then for each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout and VkPushConstantRange arrays used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDrawClusterIndirectHUAWEI-maxFragmentDualSrcAttachments-09239NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf blending is enabled for any attachment where either the source or destination blend factors for that attachment use the secondary color input, the maximum value of Location for any output attachment statically used in the Fragment Execution Model executed by this command must be less than maxFragmentDualSrcAttachments
VUID-vkCmdDrawClusterIndirectHUAWEI-maxMultiviewInstanceIndex-02688NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
VUID-vkCmdDrawClusterIndirectHUAWEI-mipmapMode-04770NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-mipmapMode-09599NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-multisampledRenderToSingleSampled-07284NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf rasterization is not disabled in the bound graphics pipeline, and none of the following is enabled: the VK_AMD_mixed_attachment_samples extension the VK_NV_framebuffer_mixed_samples extension the multisampledRenderToSingleSampled feature then rasterizationSamples for the currently bound graphics pipeline must be the same as the current subpass color and/or depth/stencil attachments
VUID-vkCmdDrawClusterIndirectHUAWEI-multisampledRenderToSingleSampled-07285NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the currently bound pipeline was created without a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the multisampledRenderToSingleSampled feature is not enabled, and the current render pass instance was begun with vkCmdBeginRendering with a VkRenderingInfo::colorAttachmentCount parameter greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with a imageView not equal to VK_NULL_HANDLE must have been created with a sample count equal to the value of rasterizationSamples for the currently bound graphics pipeline
VUID-vkCmdDrawClusterIndirectHUAWEI-multisampledRenderToSingleSampled-07286NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the currently bound pipeline was created without a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the multisampledRenderToSingleSampled feature is not enabled, and VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, the value of rasterizationSamples for the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pDepthAttachment->imageView
VUID-vkCmdDrawClusterIndirectHUAWEI-multisampledRenderToSingleSampled-07287NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the currently bound pipeline was created without a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the multisampledRenderToSingleSampled feature is not enabled, and VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, the value of rasterizationSamples for the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pStencilAttachment->imageView
VUID-vkCmdDrawClusterIndirectHUAWEI-offset-07918NNoneexplicitvkCmdDrawClusterIndirectHUAWEIoffset must be a multiple of VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI::indirectBufferOffsetAlignment
VUID-vkCmdDrawClusterIndirectHUAWEI-pColorAttachments-08963NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, there is a graphics pipeline bound with a fragment shader that statically writes to a color attachment, the color write mask is not zero, color writes are enabled, and the corresponding element of the VkRenderingInfo::pColorAttachments->imageView was not VK_NULL_HANDLE, then the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the pipeline must not be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawClusterIndirectHUAWEI-pColorBlendEnables-07470NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT state enabled and the last call to vkCmdSetColorBlendEnableEXT set pColorBlendEnables for any attachment to VK_TRUE, then for those attachments in the subpass the corresponding image view's format features must contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-pDepthAttachment-06186NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound pipeline was created with a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, the value of the depthStencilAttachmentSamples member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV used to create the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pDepthAttachment->imageView
VUID-vkCmdDrawClusterIndirectHUAWEI-pDepthAttachment-08964NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, there is a graphics pipeline bound, depth test is enabled, depth write is enabled, and the VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, then the VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the pipeline must not be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawClusterIndirectHUAWEI-pDepthInputAttachmentIndex-09595NNoneexplicitvkCmdDrawClusterIndirectHUAWEIInput attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.
VUID-vkCmdDrawClusterIndirectHUAWEI-pDepthInputAttachmentIndex-09596NNoneexplicitvkCmdDrawClusterIndirectHUAWEIInput attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.
VUID-vkCmdDrawClusterIndirectHUAWEI-pDynamicStates-08715NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state includes a fragment shader stage, was created with VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE set in VkPipelineDynamicStateCreateInfo::pDynamicStates, and the fragment shader declares the EarlyFragmentTests execution mode and uses OpDepthAttachmentReadEXT, the depthWriteEnable parameter in the last call to vkCmdSetDepthWriteEnable must be VK_FALSE
VUID-vkCmdDrawClusterIndirectHUAWEI-pDynamicStates-08716NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state includes a fragment shader stage, was created with VK_DYNAMIC_STATE_STENCIL_WRITE_MASK set in VkPipelineDynamicStateCreateInfo::pDynamicStates, and the fragment shader declares the EarlyFragmentTests execution mode and uses OpStencilAttachmentReadEXT, the writeMask parameter in the last call to vkCmdSetStencilWriteMask must be 0
VUID-vkCmdDrawClusterIndirectHUAWEI-pFragmentSize-09370NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-pFragmentSize-09371NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-pNext-07935NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf this command has been called inside a render pass instance started with vkCmdBeginRendering, and the pNext chain of VkRenderingInfo includes a VkMultisampledRenderToSingleSampledInfoEXT structure with multisampledRenderToSingleSampledEnable equal to VK_TRUE, then the value of rasterizationSamples for the currently bound graphics pipeline must be equal to VkMultisampledRenderToSingleSampledInfoEXT::rasterizationSamples
VUID-vkCmdDrawClusterIndirectHUAWEI-pStencilAttachment-06187NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound pipeline was created with a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, the value of the depthStencilAttachmentSamples member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV used to create the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pStencilAttachment->imageView
VUID-vkCmdDrawClusterIndirectHUAWEI-pStencilAttachment-08965NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, there is a graphics pipeline bound, stencil test is enabled and the VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, then the VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the pipeline must not be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawClusterIndirectHUAWEI-pipelineFragmentShadingRate-09238NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the pipelineFragmentShadingRate feature is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetFragmentShadingRateKHR must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-pipelineStatistics-07076NNoneexplicitvkCmdDrawClusterIndirectHUAWEIThe pipelineStatistics member used to create any active Pipeline Statistics Query must not contain VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT, VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT, VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT, VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT, VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT, or VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-primitiveFragmentShadingRateWithMultipleViewports-04552NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must be 1
VUID-vkCmdDrawClusterIndirectHUAWEI-primitiveFragmentShadingRateWithMultipleViewports-08642NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, and any shader object bound to a graphics stage writes to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must be 1
VUID-vkCmdDrawClusterIndirectHUAWEI-primitivesGeneratedQueryWithNonZeroStreams-06709NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream
VUID-vkCmdDrawClusterIndirectHUAWEI-primitivesGeneratedQueryWithNonZeroStreams-07481NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, and the bound graphics pipeline was created with VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT state enabled, the last call to vkCmdSetRasterizationStreamEXT must have set the rasterizationStream to zero
VUID-vkCmdDrawClusterIndirectHUAWEI-primitivesGeneratedQueryWithRasterizerDiscard-06708NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the primitivesGeneratedQueryWithRasterizerDiscard feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, rasterization discard must not be enabled
VUID-vkCmdDrawClusterIndirectHUAWEI-rasterizationSamples-07471NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, and the current subpass does not use any color and/or depth/stencil attachments, then the rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT must follow the rules for a zero-attachment subpass
VUID-vkCmdDrawClusterIndirectHUAWEI-rasterizationSamples-07474NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, and neither the VK_AMD_mixed_attachment_samples nor the VK_NV_framebuffer_mixed_samples extensions are enabled, then the rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT must be the same as the current subpass color and/or depth/stencil attachments
VUID-vkCmdDrawClusterIndirectHUAWEI-rasterizationSamples-07489NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_NV_framebuffer_mixed_samples extension is enabled, and if current subpass has a depth/stencil attachment and depth test, stencil test, or depth bounds test are enabled in the currently bound pipeline state, then the current rasterizationSamples must be the same as the sample count of the depth/stencil attachment
VUID-vkCmdDrawClusterIndirectHUAWEI-rasterizationSamples-07494NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_NV_framebuffer_mixed_samples extension is enabled, and if the current subpass has any color attachments and rasterizationSamples of the last call to vkCmdSetRasterizationSamplesEXT is greater than the number of color samples, then the pipeline sampleShadingEnable must be VK_FALSE
VUID-vkCmdDrawClusterIndirectHUAWEI-rasterizationSamples-09367NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetRasterizationSamplesEXT must have set rasterizationSamples to VK_SAMPLE_COUNT_1_BIT prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-rasterizerDiscardEnable-09236NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_EXT_discard_rectangles extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDiscardRectangleEnableEXT in the current command buffer set discardRectangleEnable to VK_TRUE, then vkCmdSetDiscardRectangleEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-rasterizerDiscardEnable-09416NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_EXT_blend_operation_advanced extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then at least one of vkCmdSetColorBlendEquationEXT and vkCmdSetColorBlendAdvancedEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-rasterizerDiscardEnable-09417NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEnableEXT calls must specify an enable for all active color attachments in the current subpass
VUID-vkCmdDrawClusterIndirectHUAWEI-rasterizerDiscardEnable-09418NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled
VUID-vkCmdDrawClusterIndirectHUAWEI-rasterizerDiscardEnable-09419NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorWriteMaskEXT calls must specify the color write mask for all active color attachments in the current subpass
VUID-vkCmdDrawClusterIndirectHUAWEI-rasterizerDiscardEnable-09420NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_NV_fragment_coverage_to_color extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the last call to vkCmdSetCoverageToColorEnableNV set the coverageToColorEnable to VK_TRUE, then the current subpass must have a color attachment at the location selected by the last call to vkCmdSetCoverageToColorLocationNV coverageToColorLocation, with a VkFormat of VK_FORMAT_R8_UINT, VK_FORMAT_R8_SINT, VK_FORMAT_R16_UINT, VK_FORMAT_R16_SINT, VK_FORMAT_R32_UINT, or VK_FORMAT_R32_SINT
VUID-vkCmdDrawClusterIndirectHUAWEI-reductionMode-09213NNoneexplicitvkCmdDrawClusterIndirectHUAWEIAny VkImageView being sampled with a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM as a result of this command must sample with VK_FILTER_CUBIC_EXT
VUID-vkCmdDrawClusterIndirectHUAWEI-renderPass-02684NNoneexplicitvkCmdDrawClusterIndirectHUAWEIThe current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS
VUID-vkCmdDrawClusterIndirectHUAWEI-renderPass-06198NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound pipeline must have been created with a VkGraphicsPipelineCreateInfo::renderPass equal to VK_NULL_HANDLE
VUID-vkCmdDrawClusterIndirectHUAWEI-renderpassYNoneimplicitvkCmdDrawClusterIndirectHUAWEIThis command must only be called inside of a render pass instance
VUID-vkCmdDrawClusterIndirectHUAWEI-sampleLocationsEnable-02689NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set
VUID-vkCmdDrawClusterIndirectHUAWEI-sampleLocationsEnable-07484NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set
VUID-vkCmdDrawClusterIndirectHUAWEI-sampleLocationsEnable-07485NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and if sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, then the sampleLocationsInfo.sampleLocationGridSize.width in the last call to vkCmdSetSampleLocationsEXT must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.width as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling rasterizationSamples
VUID-vkCmdDrawClusterIndirectHUAWEI-sampleLocationsEnable-07486NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and if sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, then the sampleLocationsInfo.sampleLocationGridSize.height in the last call to vkCmdSetSampleLocationsEXT must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.height as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling rasterizationSamples
VUID-vkCmdDrawClusterIndirectHUAWEI-sampleLocationsEnable-07487NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and if sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, the fragment shader code must not statically use the extended instruction InterpolateAtSample
VUID-vkCmdDrawClusterIndirectHUAWEI-sampleLocationsEnable-07936NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state disabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable in the bound graphics pipeline is VK_TRUE or VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, then, sampleLocationsInfo.sampleLocationGridSize.width must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.width as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling the value of rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawClusterIndirectHUAWEI-sampleLocationsEnable-07937NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state disabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable in the bound graphics pipeline is VK_TRUE or VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, then, sampleLocationsInfo.sampleLocationGridSize.height must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.height as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling the value of rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawClusterIndirectHUAWEI-sampleLocationsEnable-07938NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state disabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable in the bound graphics pipeline is VK_TRUE or VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, then, sampleLocationsInfo.sampleLocationsPerPixel must equal rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawClusterIndirectHUAWEI-sampleLocationsPerPixel-07482NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state disabled, then the sampleLocationsPerPixel member of pSampleLocationsInfo in the last call to vkCmdSetSampleLocationsEXT must equal the rasterizationSamples member of the VkPipelineMultisampleStateCreateInfo structure the bound graphics pipeline has been created with
VUID-vkCmdDrawClusterIndirectHUAWEI-sampleLocationsPerPixel-07483NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, then the sampleLocationsPerPixel member of pSampleLocationsInfo in the last call to vkCmdSetSampleLocationsEXT must equal the rasterizationSamples parameter of the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawClusterIndirectHUAWEI-samples-07472NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_MASK_EXT state enabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state disabled, then the samples parameter in the last call to vkCmdSetSampleMaskEXT must be greater or equal to the VkPipelineMultisampleStateCreateInfo::rasterizationSamples parameter used to create the bound graphics pipeline
VUID-vkCmdDrawClusterIndirectHUAWEI-samples-07473NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_MASK_EXT state and VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT states enabled, then the samples parameter in the last call to vkCmdSetSampleMaskEXT must be greater or equal to the rasterizationSamples parameter in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawClusterIndirectHUAWEI-scissorCount-03418NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, then vkCmdSetScissorWithCount must have been called in the current command buffer prior to this drawing command, and the scissorCount parameter of vkCmdSetScissorWithCount must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline
VUID-vkCmdDrawClusterIndirectHUAWEI-selectableCubicWeights-09214NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the selectableCubicWeights feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have VkSamplerCubicWeightsCreateInfoQCOM::cubicWeights equal to VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM
VUID-vkCmdDrawClusterIndirectHUAWEI-shadingRateImage-09233NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoarseSampleOrderNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-shadingRateImage-09234NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetShadingRateImageEnableNV in the current command buffer set shadingRateImageEnable to VK_TRUE, then vkCmdSetViewportShadingRatePaletteNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawClusterIndirectHUAWEI-sparseImageInt64Atomics-04474NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdDrawClusterIndirectHUAWEI-sparseImageInt64Atomics-04475NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdDrawClusterIndirectHUAWEI-stage-06480NNoneexplicitvkCmdDrawClusterIndirectHUAWEIThe bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT
VUID-vkCmdDrawClusterIndirectHUAWEI-stage-07073NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active
VUID-vkCmdDrawClusterIndirectHUAWEI-stippledLineEnable-07495NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled
VUID-vkCmdDrawClusterIndirectHUAWEI-stippledLineEnable-07496NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled
VUID-vkCmdDrawClusterIndirectHUAWEI-stippledLineEnable-07497NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled
VUID-vkCmdDrawClusterIndirectHUAWEI-stippledLineEnable-07498NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE
VUID-vkCmdDrawClusterIndirectHUAWEI-storageBuffers-06936NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawClusterIndirectHUAWEI-subpass-02685NNoneexplicitvkCmdDrawClusterIndirectHUAWEIThe subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS
VUID-vkCmdDrawClusterIndirectHUAWEI-uniformBuffers-06935NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawClusterIndirectHUAWEI-videocodingYNoneimplicitvkCmdDrawClusterIndirectHUAWEIThis command must only be called outside of a video coding scope
VUID-vkCmdDrawClusterIndirectHUAWEI-viewMask-06178NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound graphics pipeline must have been created with a VkPipelineRenderingCreateInfo::viewMask equal to VkRenderingInfo::viewMask
VUID-vkCmdDrawClusterIndirectHUAWEI-viewType-07752NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Instruction/Sampler/Image View Validation
VUID-vkCmdDrawClusterIndirectHUAWEI-viewportCount-03417NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT dynamic state enabled, then vkCmdSetViewportWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline
VUID-vkCmdDrawClusterIndirectHUAWEI-viewportCount-03419NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic states enabled then both vkCmdSetViewportWithCount and vkCmdSetScissorWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must match the scissorCount parameter of vkCmdSetScissorWithCount
VUID-vkCmdDrawClusterIndirectHUAWEI-viewportCount-04137NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportWScalingStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterIndirectHUAWEI-viewportCount-04138NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterIndirectHUAWEI-viewportCount-04139NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterIndirectHUAWEI-viewportCount-04140NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterIndirectHUAWEI-viewportCount-07492NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportSwizzleStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterIndirectHUAWEI-viewportCount-07493NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportSwizzleNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawClusterIndirectHUAWEI-viewportCount-09421NNoneexplicitvkCmdDrawClusterIndirectHUAWEIIf the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then the viewportCount parameter in the last call to vkCmdSetViewportSwizzleNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectCountNV-ConstOffset-06551YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must not use the ConstOffset and Offset operands
VUID-vkCmdDrawMeshTasksIndirectCountNV-InputAttachmentIndex-09597NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.
VUID-vkCmdDrawMeshTasksIndirectCountNV-MeshNV-07082YNegativeMesh.DrawCmdsNVexplicitvkCmdDrawMeshTasksIndirectCountNVThe current pipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS must contain a shader stage using the MeshNV Execution Model
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02691YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02692YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02693YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_EXT_filter_cubic extension is not enabled and any VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, it must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04445NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf drawIndirectCount is not enabled this function must not be used
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04876YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE dynamic state enabled then vkCmdSetRasterizerDiscardEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04877YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE dynamic state enabled then vkCmdSetDepthBiasEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06479YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a VkImageView is sampled with depth comparison, the image view's format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06537YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVMemory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06539YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf any previously recorded command in the current subpass accessed an image subresource used as an attachment in this subpass in any way other than as an attachment, this command must not write to that image subresource as an attachment
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06550YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06666YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT dynamic state enabled then vkCmdSetSampleLocationsEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06886YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance uses a depth/stencil attachment with a read-only layout for the depth aspect, depth writes must be disabled
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-06887YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance uses a depth/stencil attachment with a read-only layout for the stencil aspect, both front and back writeMask are not zero, and stencil test is enabled, all stencil ops must be VK_STENCIL_OP_KEEP
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07074YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVTransform Feedback Queries must not be active
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07075YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVPrimitives Generated Queries must not be active
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07288NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVAny shader invocation executed by this command must terminate
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07469NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVInput attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07619YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled then vkCmdSetTessellationDomainOriginEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07620YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled then vkCmdSetDepthClampEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07621YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_POLYGON_MODE_EXT dynamic state enabled then vkCmdSetPolygonModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07622YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT dynamic state enabled then vkCmdSetRasterizationSamplesEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07623YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_MASK_EXT dynamic state enabled then vkCmdSetSampleMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07624YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT dynamic state enabled then vkCmdSetAlphaToCoverageEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07625YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT dynamic state enabled then vkCmdSetAlphaToOneEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07626YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT dynamic state enabled then vkCmdSetLogicOpEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07627YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic state enabled then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07628YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT dynamic state enabled then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07629YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT dynamic state enabled then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07630YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT dynamic state enabled then vkCmdSetRasterizationStreamEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07631YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT dynamic state enabled then vkCmdSetConservativeRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07632YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT dynamic state enabled then vkCmdSetExtraPrimitiveOverestimationSizeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07633YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT dynamic state enabled then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07634YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT dynamic state enabled then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07635YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT dynamic state enabled then vkCmdSetColorBlendAdvancedEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07636YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT dynamic state enabled then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07637YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic state enabled then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07638YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT dynamic state enabled then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07639YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT dynamic state enabled then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07640YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV dynamic state enabled then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07641YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV dynamic state enabled then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07642YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV dynamic state enabled then vkCmdSetCoverageToColorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07643YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV dynamic state enabled then vkCmdSetCoverageToColorLocationNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07644YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV dynamic state enabled then vkCmdSetCoverageModulationModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07645YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV dynamic state enabled then vkCmdSetCoverageModulationTableEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07646YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV dynamic state enabled then vkCmdSetCoverageModulationTableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07647YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV dynamic state enabled then vkCmdSetShadingRateImageEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07648YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV dynamic state enabled then vkCmdSetRepresentativeFragmentTestEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07649YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV dynamic state enabled then vkCmdSetCoverageReductionModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07748NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf any shader statically accesses an input attachment, a valid descriptor must be bound to the pipeline via a descriptor set
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07749YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT dynamic state enabled then vkCmdSetColorWriteEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07751YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT dynamic state enabled then vkCmdSetDiscardRectangleEXT must have been called in the current command buffer prior to this drawing command for each discard rectangle in VkPipelineDiscardRectangleStateCreateInfoEXT::discardRectangleCount
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07831YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT dynamic state enabled then vkCmdSetViewport must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07832YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR dynamic state enabled then vkCmdSetScissor must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07833YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_WIDTH dynamic state enabled then vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07834YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07835YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_BLEND_CONSTANTS dynamic state enabled then vkCmdSetBlendConstants must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07836YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS dynamic state enabled, and if the current depthBoundsTestEnable state is VK_TRUE, then vkCmdSetDepthBounds must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07837YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK dynamic state enabled, and if the current stencilTestEnable state is VK_TRUE, then vkCmdSetStencilCompareMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07838YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_WRITE_MASK dynamic state enabled, and if the current stencilTestEnable state is VK_TRUE, then vkCmdSetStencilWriteMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07839YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_REFERENCE dynamic state enabled, and if the current stencilTestEnable state is VK_TRUE, then vkCmdSetStencilReference must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07840YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_CULL_MODE dynamic state enabled then vkCmdSetCullMode must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07841YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_FRONT_FACE dynamic state enabled then vkCmdSetFrontFace must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07843YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE dynamic state enabled then vkCmdSetDepthTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07844YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE dynamic state enabled then vkCmdSetDepthWriteEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07845YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_COMPARE_OP dynamic state enabled then vkCmdSetDepthCompareOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07846YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07847YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07848YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07849YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07850YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07878YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07879YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07880YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT dynamic state enabled then vkCmdSetDiscardRectangleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07881YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT dynamic state enabled then vkCmdSetDiscardRectangleModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07888YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer's format features must contain VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08114YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVDescriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid as described by descriptor validity if they are statically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was not created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08115YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdBindDescriptorSets, the bound VkPipeline must have been created without VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08116NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08117YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdSetDescriptorBufferOffsetsEXT, the bound VkPipeline must have been created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08119NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a descriptor is dynamically used with a VkPipeline created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08600YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVFor each set n that is statically used by a bound shader, a descriptor set must have been bound to n at the same pipeline bind point, with a VkPipelineLayout that is compatible for set n, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08601NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVFor each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08604NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08605NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a descriptor is dynamically used with a VkShaderEXT created with a VkDescriptorSetLayout that was created with VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08606YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08607YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the shaderObject is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08608YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state not specified as dynamic in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08609YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08610YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08611YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08612YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a uniform buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08613YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a storage buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08617YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08618YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08619YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08620YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDepthBiasEnable in the current command buffer set depthBiasEnable to VK_TRUE, vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08621YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetColorBlendEnableEXT in the current command buffer set any element of pColorBlendEnables to VK_TRUE, and the most recent call to vkCmdSetColorBlendEquationEXT in the current command buffer set the same element of pColorBlendEquations to a VkColorBlendEquationEXT structure with any VkBlendFactor member with a value of VK_BLEND_FACTOR_CONSTANT_COLOR, VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR, VK_BLEND_FACTOR_CONSTANT_ALPHA, or VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA, vkCmdSetBlendConstants must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08622YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDepthBoundsTestEnable in the current command buffer set depthBoundsTestEnable to VK_TRUE, then vkCmdSetDepthBounds must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08623YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, vkCmdSetStencilCompareMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08624YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, vkCmdSetStencilWriteMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08625YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, vkCmdSetStencilReference must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08626YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetSampleLocationsEnableEXT in the current command buffer set sampleLocationsEnable to VK_TRUE, then vkCmdSetSampleLocationsEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08627YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCullMode must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08628YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetFrontFace must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08629YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08630YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthWriteEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08631YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDepthTestEnable in the current command buffer set depthTestEnable to VK_TRUE, then vkCmdSetDepthCompareOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08632YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the depthBounds feature is enabled, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then the vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08633YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08634YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08635YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, then both vkCmdSetViewportWithCount and vkCmdSetScissorWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must match the scissorCount parameter of vkCmdSetScissorWithCount
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08636YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetViewportWScalingEnableNV in the current command buffer set viewportWScalingEnable to VK_TRUE, then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08637YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetShadingRateImageEnableNV in the current command buffer set shadingRateImageEnable to VK_TRUE, then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08638YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the exclusiveScissor feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetExclusiveScissorEnableNV in the current command buffer set any element of pExclusiveScissorEnables to VK_TRUE, then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08639YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, then vkCmdSetRasterizerDiscardEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08640YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthBiasEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08641YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLogicOpEnableEXT set logicOpEnable to VK_TRUE, then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08643YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then for each color attachment in the render pass, if the corresponding image view's format features do not contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the corresponding member of pColorBlendEnables in the most recent call to vkCmdSetColorBlendEnableEXT in the current command buffer that affected that attachment index must have been VK_FALSE
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08644YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and none of the following is enabled: the VK_AMD_mixed_attachment_samples extension the VK_NV_framebuffer_mixed_samples extension the multisampledRenderToSingleSampled feature then the most recent call to vkCmdSetRasterizationSamplesEXT in the current command buffer must have set rasterizationSamples to be the same as the number of samples for the current render pass color and/or depth/stencil attachments
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08646YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the colorWriteEnable feature is enabled on the device, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08647YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the colorWriteEnable feature is enabled on the device, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then the attachmentCount parameter of most recent call to vkCmdSetColorWriteEnableEXT in the current command buffer must be greater than or equal to the number of color attachments in the current render pass instance
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08648YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_EXT_discard_rectangles extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDiscardRectangleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08649YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_EXT_discard_rectangles extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDiscardRectangleEnableEXT in the current command buffer set discardRectangleEnable to VK_TRUE, then vkCmdSetDiscardRectangleModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08650YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the depthClamp feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08651YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetPolygonModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08652YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetRasterizationSamplesEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08653YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08654YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetAlphaToCoverageEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08655YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the alphaToOne feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetAlphaToOneEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08656YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the logicOp feature is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLogicOpEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08657YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08658YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetColorBlendEnableEXT for any attachment set that attachment's value in pColorBlendEnables to VK_TRUE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08659YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08660YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the geometryStreams feature is enabled, and a shader object is bound to the VK_SHADER_STAGE_GEOMETRY_BIT stage, then vkCmdSetRasterizationStreamEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08661YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_EXT_conservative_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetConservativeRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08662YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_EXT_conservative_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetConservativeRasterizationModeEXT in the current command buffer set conservativeRasterizationMode to VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT, then vkCmdSetExtraPrimitiveOverestimationSizeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08663YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08664YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08665YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08666YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08667YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08668YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08669YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08670YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08671YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08672YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08673YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08674YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08675YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08676YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_NV_fragment_coverage_to_color extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoverageToColorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08677YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_NV_fragment_coverage_to_color extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetCoverageToColorEnableNV in the current command buffer set coverageToColorEnable to VK_TRUE, then vkCmdSetCoverageToColorLocationNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08678YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoverageModulationModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08679YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetCoverageModulationModeNV in the current command buffer set coverageModulationMode to any value other than VK_COVERAGE_MODULATION_MODE_NONE_NV, then vkCmdSetCoverageModulationTableEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08680YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetCoverageModulationTableEnableNV in the current command buffer set coverageModulationTableEnable to VK_TRUE, then vkCmdSetCoverageModulationTableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08681YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetShadingRateImageEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08682YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the representativeFragmentTest feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetRepresentativeFragmentTestEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08683YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the coverageReductionMode feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoverageReductionModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08684YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08685YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08686YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08687YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08688YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08689YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf there is no bound graphics pipeline, and the taskShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TASK_BIT_EXT
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08690YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf there is no bound graphics pipeline, and the meshShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_MESH_BIT_EXT
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08693YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf there is no bound graphics pipeline, and at least one of the taskShader and meshShader features is enabled, one of the VK_SHADER_STAGE_VERTEX_BIT or VK_SHADER_STAGE_MESH_BIT_EXT stages must have a valid VkShaderEXT bound, and the other must have no VkShaderEXT bound
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08694YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf there is no bound graphics pipeline, and both the taskShader and meshShader features are enabled, and a valid VkShaderEXT is bound the to the VK_SHADER_STAGE_MESH_BIT_EXT stage, and that VkShaderEXT was created without the VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT flag, a valid VkShaderEXT must be bound to the VK_SHADER_STAGE_TASK_BIT_EXT stage
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08695YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf there is no bound graphics pipeline, and both the taskShader and meshShader features are enabled, and a valid VkShaderEXT is bound the to the VK_SHADER_STAGE_MESH_BIT_EXT stage, and that VkShaderEXT was created with the VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT flag, there must be no VkShaderEXT bound to the VK_SHADER_STAGE_TASK_BIT_EXT stage
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08696YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf there is no bound graphics pipeline, and a valid VkShaderEXT is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, there must be no VkShaderEXT bound to either the VK_SHADER_STAGE_TASK_BIT_EXT stage or the VK_SHADER_STAGE_MESH_BIT_EXT stage
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08698YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf any graphics shader is bound which was created with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag, then all shaders created with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag in the same vkCreateShadersEXT call must also be bound
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08699YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf any graphics shader is bound which was created with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag, any stages in between stages whose shaders which did not create a shader with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag as part of the same vkCreateShadersEXT call must not have any VkShaderEXT bound
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08876YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, the current render pass instance must have been begun with vkCmdBeginRendering
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08877YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT dynamic state vkCmdSetAttachmentFeedbackLoopEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08878YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVAll bound graphics shader objects must have been created with identical or identically defined push constant ranges
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08879YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVAll bound graphics shader objects must have been created with identical or identically defined arrays of descriptor set layouts
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08880YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the attachmentFeedbackLoopDynamicState feature is enabled on the device, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetAttachmentFeedbackLoopEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09000YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a color attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it is not in the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout, and either: the VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT is set on the currently bound pipeline or the last call to vkCmdSetAttachmentFeedbackLoopEnableEXT included VK_IMAGE_ASPECT_COLOR_BIT and there is no currently bound graphics pipeline or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT it must not be accessed in any way other than as an attachment by this command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09001YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a depth attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it is not in the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout, and either: the VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT is set on the currently bound pipeline or the last call to vkCmdSetAttachmentFeedbackLoopEnableEXT included VK_IMAGE_ASPECT_DEPTH_BIT and there is no currently bound graphics pipeline or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT it must not be accessed in any way other than as an attachment by this command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09002YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a stencil attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it is not in the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout, and either: the VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT is set on the currently bound pipeline or the last call to vkCmdSetAttachmentFeedbackLoopEnableEXT included VK_IMAGE_ASPECT_STENCIL_BIT and there is no currently bound graphics pipeline or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT it must not be accessed in any way other than as an attachment by this command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09003YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf an attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it must not be accessed in any way other than as an attachment, storage image, or sampled image by this command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09116YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT, and the format of any color attachment is VK_FORMAT_E5B9G9R9_UFLOAT_PACK32, the corresponding element of the pColorWriteMasks parameter of vkCmdSetColorWriteMaskEXT must either include all of VK_COLOR_COMPONENT_R_BIT, VK_COLOR_COMPONENT_G_BIT, and VK_COLOR_COMPONENT_B_BIT, or none of them
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09211YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, or a shader object is bound to any graphics stage, and the current render pass instance includes a VkMultisampledRenderToSingleSampledInfoEXT structure with multisampledRenderToSingleSampledEnable equal to VK_TRUE, then the rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT must be the same as the rasterizationSamples member of that structure
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09232YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetViewportWScalingEnableNV in the current command buffer set viewportWScalingEnable to VK_TRUE, then vkCmdSetViewportWScalingNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09237YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage, then vkCmdSetTessellationDomainOriginEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09363YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf there is no shader object bound to any graphics stage, the current render pass instance was begun with vkCmdBeginRendering and a VkRenderingInfo::colorAttachmentCount equal to 1, and a color attachment with a resolve mode of VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, each element of the VkRenderingInfo::pColorAttachments array with a imageView not equal to VK_NULL_HANDLE must have been created with an image created with a VkExternalFormatANDROID::externalFormat value equal to the VkExternalFormatANDROID::externalFormat value used to create the currently bound graphics pipeline
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09364YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic state enabled, then vkCmdSetColorBlendEnableEXT must have set the blend enable to VK_FALSE prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09365YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT dynamic state enabled, then vkCmdSetRasterizationSamplesEXT must have set rasterizationSamples to VK_SAMPLE_COUNT_1_BIT prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09366YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09368YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09369YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09548YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09549YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09600NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageBlockMatchSADQCOM-06975NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageBlockMatchSADQCOM-06976NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageBlockMatchSSDQCOM-06974NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageBlockMatchWindow-09215NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageBlockMatchWindow-09216NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format must be a single-component format.
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageBlockMatchWindow-09217NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageBoxFilterQCOM-06973NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf OpImageBoxFilterQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageWeightedSampleQCOM-06971NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf OpImageWeightedSampleQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageWeightedSampleQCOM-06972NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf OpImageWeightedSampleQCOM uses a VkImageView as a sample weight image as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageWeightedSampleQCOM-06977NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageWeightedSampleQCOM-06978NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf any command other than OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must not have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageWrite-04469YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageWrite-08795YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a VkImageView created with a format other than VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageWrite-08796YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a VkImageView created with the format VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have four components
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpTypeImage-07027YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVFor any VkImageView being written as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpTypeImage-07028YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVFor any VkImageView being read as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpTypeImage-07029YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVFor any VkBufferView being written as a storage texel buffer where the image format field of the OpTypeImage is Unknown, the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpTypeImage-07030YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVAny VkBufferView being read as a storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpTypeImage-07468NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf any shader executed by this pipeline accesses an OpTypeImage variable with a Dim operand of SubpassData, it must be decorated with an InputAttachmentIndex that corresponds to a valid input attachment in the current subpass
VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04470YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a VkImageView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04471YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a VkImageView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04472YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a VkBufferView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdDrawMeshTasksIndirectCountNV-SampledType-04473YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a VkBufferView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdDrawMeshTasksIndirectCountNV-VkPipelineVieportCreateInfo-04141NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled and a VkPipelineViewportSwizzleStateCreateInfoNV structure chained from VkPipelineViewportStateCreateInfo, then the bound graphics pipeline must have been created with VkPipelineViewportSwizzleStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectCountNV-VkPipelineVieportCreateInfo-04142NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled and a VkPipelineViewportExclusiveScissorStateCreateInfoNV structure chained from VkPipelineViewportStateCreateInfo, then the bound graphics pipeline must have been created with VkPipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectCountNV-advancedBlendMaxColorAttachments-07480YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT and VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic states enabled and the last calls to vkCmdSetColorBlendEnableEXT and vkCmdSetColorBlendAdvancedEXT have enabled advanced blending, then the number of active color attachments in the current subpass must not exceed advancedBlendMaxColorAttachments
VUID-vkCmdDrawMeshTasksIndirectCountNV-alphaToCoverageEnable-08919YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT dynamic state enabled, and alphaToCoverageEnable was VK_TRUE in the last call to vkCmdSetAlphaToCoverageEnableEXT, then the Fragment Output Interface must contain a variable for the alpha Component word in Location 0 at Index 0
VUID-vkCmdDrawMeshTasksIndirectCountNV-alphaToCoverageEnable-08920YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetAlphaToCoverageEnableEXT in the current command buffer set alphaToCoverageEnable to VK_TRUE, then the Fragment Output Interface must contain a variable for the alpha Component word in Location 0 at Index 0
VUID-vkCmdDrawMeshTasksIndirectCountNV-attachmentCount-07750YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT dynamic state enabled then the attachmentCount parameter of vkCmdSetColorWriteEnableEXT must be greater than or equal to the VkPipelineColorBlendStateCreateInfo::attachmentCount of the currently bound graphics pipeline
VUID-vkCmdDrawMeshTasksIndirectCountNV-blendEnable-04727YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view's format features do not contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the blendEnable member of the corresponding element of the pAttachments member of pColorBlendState must be VK_FALSE
VUID-vkCmdDrawMeshTasksIndirectCountNV-buffer-02708YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf buffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object
VUID-vkCmdDrawMeshTasksIndirectCountNV-buffer-02709YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVbuffer must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
VUID-vkCmdDrawMeshTasksIndirectCountNV-buffer-parameterYNoneimplicitvkCmdDrawMeshTasksIndirectCountNVbuffer must be a valid VkBuffer handle
VUID-vkCmdDrawMeshTasksIndirectCountNV-colorAttachmentCount-06179YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the dynamicRenderingUnusedAttachments feature is not enabled and the current render pass instance was begun with vkCmdBeginRendering, the currently bound graphics pipeline must have been created with a VkPipelineRenderingCreateInfo::colorAttachmentCount equal to VkRenderingInfo::colorAttachmentCount
VUID-vkCmdDrawMeshTasksIndirectCountNV-colorAttachmentCount-06185YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the currently bound pipeline was created with a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the current render pass instance was begun with vkCmdBeginRendering with a VkRenderingInfo::colorAttachmentCount parameter greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with a imageView not equal to VK_NULL_HANDLE must have been created with a sample count equal to the corresponding element of the pColorAttachmentSamples member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV used to create the currently bound graphics pipeline
VUID-vkCmdDrawMeshTasksIndirectCountNV-colorAttachmentCount-09362YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, with a VkRenderingInfo::colorAttachmentCount equal to 1, there is no shader object bound to any graphics stage, and a color attachment with a resolve mode of VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, each element of the VkRenderingInfo::pColorAttachments array with a resolveImageView not equal to VK_NULL_HANDLE must have been created with an image created with a VkExternalFormatANDROID::externalFormat value equal to the VkExternalFormatANDROID::externalFormat value used to create the currently bound graphics pipeline
VUID-vkCmdDrawMeshTasksIndirectCountNV-colorAttachmentCount-09372YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering and a VkRenderingInfo::colorAttachmentCount equal to 1, a color attachment with a resolve mode of VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, and a fragment shader is bound, it must not declare the DepthReplacing or StencilRefReplacingEXT execution modes
VUID-vkCmdDrawMeshTasksIndirectCountNV-commandBuffer-02707YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf commandBuffer is an unprotected command buffer and protectedNoFault is not supported, any resource accessed by bound shaders must not be a protected resource
VUID-vkCmdDrawMeshTasksIndirectCountNV-commandBuffer-02711YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVcommandBuffer must not be a protected command buffer
VUID-vkCmdDrawMeshTasksIndirectCountNV-commandBuffer-cmdpoolYNoneimplicitvkCmdDrawMeshTasksIndirectCountNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdDrawMeshTasksIndirectCountNV-commandBuffer-parameterYNoneimplicitvkCmdDrawMeshTasksIndirectCountNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdDrawMeshTasksIndirectCountNV-commandBuffer-recordingYNoneimplicitvkCmdDrawMeshTasksIndirectCountNVcommandBuffer must be in the recording state
VUID-vkCmdDrawMeshTasksIndirectCountNV-commonparentYNoneimplicitvkCmdDrawMeshTasksIndirectCountNVEach of buffer, commandBuffer, and countBuffer must have been created, allocated, or retrieved from the same VkDevice
VUID-vkCmdDrawMeshTasksIndirectCountNV-conservativePointAndLineRasterization-07499YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT dynamic state enabled, conservativePointAndLineRasterization is not supported, and the effective primitive topology output by the last pre-rasterization shader stage is a line or point, then the conservativeRasterizationMode set by the last call to vkCmdSetConservativeRasterizationModeEXT must be VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT
VUID-vkCmdDrawMeshTasksIndirectCountNV-countBuffer-02191YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the count stored in countBuffer is equal to 1, (offset + sizeof(VkDrawMeshTasksIndirectCommandNV)) must be less than or equal to the size of buffer
VUID-vkCmdDrawMeshTasksIndirectCountNV-countBuffer-02192YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the count stored in countBuffer is greater than 1, (stride × (drawCount - 1) + offset + sizeof(VkDrawMeshTasksIndirectCommandNV)) must be less than or equal to the size of buffer
VUID-vkCmdDrawMeshTasksIndirectCountNV-countBuffer-02714YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf countBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object
VUID-vkCmdDrawMeshTasksIndirectCountNV-countBuffer-02715YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVcountBuffer must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
VUID-vkCmdDrawMeshTasksIndirectCountNV-countBuffer-02717YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVThe count stored in countBuffer must be less than or equal to VkPhysicalDeviceLimits::maxDrawIndirectCount
VUID-vkCmdDrawMeshTasksIndirectCountNV-countBuffer-parameterYNoneimplicitvkCmdDrawMeshTasksIndirectCountNVcountBuffer must be a valid VkBuffer handle
VUID-vkCmdDrawMeshTasksIndirectCountNV-countBufferOffset-02716YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVcountBufferOffset must be a multiple of 4
VUID-vkCmdDrawMeshTasksIndirectCountNV-countBufferOffset-04129YNoneexplicitvkCmdDrawMeshTasksIndirectCountNV(countBufferOffset + sizeof(uint32_t)) must be less than or equal to the size of countBuffer
VUID-vkCmdDrawMeshTasksIndirectCountNV-coverageModulationTableEnable-07488NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to any graphics stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV state enabled, and the last call to vkCmdSetCoverageModulationTableEnableNV set coverageModulationTableEnable to VK_TRUE, then the coverageModulationTableCount parameter in the last call to vkCmdSetCoverageModulationTableNV must equal the current rasterizationSamples divided by the number of color samples in the current subpass
VUID-vkCmdDrawMeshTasksIndirectCountNV-coverageReductionMode-07491NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf this VK_NV_coverage_reduction_mode extension is enabled, the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV and VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT states enabled, the current coverage reduction mode coverageReductionMode, then the current rasterizationSamples, and the sample counts for the color and depth/stencil attachments (if the subpass has them) must be a valid combination returned by vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
VUID-vkCmdDrawMeshTasksIndirectCountNV-coverageToColorEnable-07490NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV state enabled and the last call to vkCmdSetCoverageToColorEnableNV set the coverageToColorEnable to VK_TRUE, then the current subpass must have a color attachment at the location selected by the last call to vkCmdSetCoverageToColorLocationNV coverageToColorLocation, with a VkFormat of VK_FORMAT_R8_UINT, VK_FORMAT_R8_SINT, VK_FORMAT_R16_UINT, VK_FORMAT_R16_SINT, VK_FORMAT_R32_UINT, or VK_FORMAT_R32_SINT
VUID-vkCmdDrawMeshTasksIndirectCountNV-cubicRangeClamp-09212NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the cubicRangeClamp feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must not have a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM
VUID-vkCmdDrawMeshTasksIndirectCountNV-dynamicRenderingUnusedAttachments-08910YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the dynamicRenderingUnusedAttachments feature is not enabled, and the current render pass instance was begun with vkCmdBeginRendering and VkRenderingInfo::colorAttachmentCount greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with an imageView not equal to VK_NULL_HANDLE must have been created with a VkFormat equal to the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the currently bound graphics pipeline
VUID-vkCmdDrawMeshTasksIndirectCountNV-dynamicRenderingUnusedAttachments-08911YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the dynamicRenderingUnusedAttachments feature is enabled, and the current render pass instance was begun with vkCmdBeginRendering and VkRenderingInfo::colorAttachmentCount greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with an imageView not equal to VK_NULL_HANDLE must have been created with a VkFormat equal to the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the currently bound graphics pipeline, or the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats, if it exists, must be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksIndirectCountNV-dynamicRenderingUnusedAttachments-08912YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the dynamicRenderingUnusedAttachments feature is not enabled, and the current render pass instance was begun with vkCmdBeginRendering and VkRenderingInfo::colorAttachmentCount greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with an imageView equal to VK_NULL_HANDLE must have the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the currently bound pipeline equal to VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksIndirectCountNV-dynamicRenderingUnusedAttachments-08913YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pDepthAttachment->imageView was VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the currently bound graphics pipeline must be equal to VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksIndirectCountNV-dynamicRenderingUnusedAttachments-08914YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the currently bound graphics pipeline must be equal to the VkFormat used to create VkRenderingInfo::pDepthAttachment->imageView
VUID-vkCmdDrawMeshTasksIndirectCountNV-dynamicRenderingUnusedAttachments-08915YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is enabled, VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, and the value of VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the currently bound graphics pipeline was not equal to the VkFormat used to create VkRenderingInfo::pDepthAttachment->imageView, the value of the format must be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksIndirectCountNV-dynamicRenderingUnusedAttachments-08916YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pStencilAttachment->imageView was VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the currently bound graphics pipeline must be equal to VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksIndirectCountNV-dynamicRenderingUnusedAttachments-08917YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the currently bound graphics pipeline must be equal to the VkFormat used to create VkRenderingInfo::pStencilAttachment->imageView
VUID-vkCmdDrawMeshTasksIndirectCountNV-dynamicRenderingUnusedAttachments-08918YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is enabled, VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, and the value of VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the currently bound graphics pipeline was not equal to the VkFormat used to create VkRenderingInfo::pStencilAttachment->imageView, the value of the format must be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksIndirectCountNV-exclusiveScissor-09235YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the exclusiveScissor feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-filterCubic-02694YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVAny VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have a VkImageViewType and format that supports cubic filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubic returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdDrawMeshTasksIndirectCountNV-filterCubicMinmax-02695YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVAny VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdDrawMeshTasksIndirectCountNV-firstAttachment-07476YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic state enabled then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEnableEXT calls must specify an enable for all active color attachments in the current subpass
VUID-vkCmdDrawMeshTasksIndirectCountNV-firstAttachment-07477YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT dynamic state enabled then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled
VUID-vkCmdDrawMeshTasksIndirectCountNV-firstAttachment-07478YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT dynamic state enabled then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorWriteMaskEXT calls must specify the color write mask for all active color attachments in the current subpass
VUID-vkCmdDrawMeshTasksIndirectCountNV-firstAttachment-07479YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT dynamic state enabled then vkCmdSetColorBlendAdvancedEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendAdvancedEXT calls must specify the advanced blend equations for all active color attachments in the current subpass where blending is enabled
VUID-vkCmdDrawMeshTasksIndirectCountNV-flags-02696YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVAny VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
VUID-vkCmdDrawMeshTasksIndirectCountNV-format-07753YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a VkImageView is accessed as a result of this command, then the numeric type of the image view's format and the Sampled Type operand of the OpTypeImage must match
VUID-vkCmdDrawMeshTasksIndirectCountNV-imageView-06172NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pDepthAttachment is not VK_NULL_HANDLE, and the layout member of pDepthAttachment is VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the depth attachment
VUID-vkCmdDrawMeshTasksIndirectCountNV-imageView-06173NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pStencilAttachment is not VK_NULL_HANDLE, and the layout member of pStencilAttachment is VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment
VUID-vkCmdDrawMeshTasksIndirectCountNV-imageView-06174NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pDepthAttachment is not VK_NULL_HANDLE, and the layout member of pDepthAttachment is VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this command must not write any values to the depth attachment
VUID-vkCmdDrawMeshTasksIndirectCountNV-imageView-06175NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pStencilAttachment is not VK_NULL_HANDLE, and the layout member of pStencilAttachment is VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment
VUID-vkCmdDrawMeshTasksIndirectCountNV-imageView-06176NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pDepthAttachment is not VK_NULL_HANDLE, and the layout member of pDepthAttachment is VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must not write any values to the depth attachment
VUID-vkCmdDrawMeshTasksIndirectCountNV-imageView-06177NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pStencilAttachment is not VK_NULL_HANDLE, and the layout member of pStencilAttachment is VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment
VUID-vkCmdDrawMeshTasksIndirectCountNV-imageView-06183YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
VUID-vkCmdDrawMeshTasksIndirectCountNV-imageView-06184YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
VUID-vkCmdDrawMeshTasksIndirectCountNV-logicOp-04878YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value
VUID-vkCmdDrawMeshTasksIndirectCountNV-magFilter-04553YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-magFilter-09598NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-maintenance4-08602YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the maintenance4 feature is not enabled, then for each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout and VkPushConstantRange arrays used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDrawMeshTasksIndirectCountNV-maxDrawCount-02183YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf maxDrawCount is greater than or equal to 1, (stride × (maxDrawCount - 1) + offset + sizeof(VkDrawMeshTasksIndirectCommandNV)) must be less than or equal to the size of buffer
VUID-vkCmdDrawMeshTasksIndirectCountNV-maxFragmentDualSrcAttachments-09239NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf blending is enabled for any attachment where either the source or destination blend factors for that attachment use the secondary color input, the maximum value of Location for any output attachment statically used in the Fragment Execution Model executed by this command must be less than maxFragmentDualSrcAttachments
VUID-vkCmdDrawMeshTasksIndirectCountNV-maxMultiviewInstanceIndex-02688YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
VUID-vkCmdDrawMeshTasksIndirectCountNV-mipmapMode-04770YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-mipmapMode-09599NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-multisampledRenderToSingleSampled-07284YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf rasterization is not disabled in the bound graphics pipeline, and none of the following is enabled: the VK_AMD_mixed_attachment_samples extension the VK_NV_framebuffer_mixed_samples extension the multisampledRenderToSingleSampled feature then rasterizationSamples for the currently bound graphics pipeline must be the same as the current subpass color and/or depth/stencil attachments
VUID-vkCmdDrawMeshTasksIndirectCountNV-multisampledRenderToSingleSampled-07285YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the currently bound pipeline was created without a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the multisampledRenderToSingleSampled feature is not enabled, and the current render pass instance was begun with vkCmdBeginRendering with a VkRenderingInfo::colorAttachmentCount parameter greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with a imageView not equal to VK_NULL_HANDLE must have been created with a sample count equal to the value of rasterizationSamples for the currently bound graphics pipeline
VUID-vkCmdDrawMeshTasksIndirectCountNV-multisampledRenderToSingleSampled-07286YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the currently bound pipeline was created without a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the multisampledRenderToSingleSampled feature is not enabled, and VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, the value of rasterizationSamples for the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pDepthAttachment->imageView
VUID-vkCmdDrawMeshTasksIndirectCountNV-multisampledRenderToSingleSampled-07287YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the currently bound pipeline was created without a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the multisampledRenderToSingleSampled feature is not enabled, and VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, the value of rasterizationSamples for the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pStencilAttachment->imageView
VUID-vkCmdDrawMeshTasksIndirectCountNV-offset-02710YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVoffset must be a multiple of 4
VUID-vkCmdDrawMeshTasksIndirectCountNV-pColorAttachments-08963YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, there is a graphics pipeline bound with a fragment shader that statically writes to a color attachment, the color write mask is not zero, color writes are enabled, and the corresponding element of the VkRenderingInfo::pColorAttachments->imageView was not VK_NULL_HANDLE, then the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the pipeline must not be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksIndirectCountNV-pColorBlendEnables-07470YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT state enabled and the last call to vkCmdSetColorBlendEnableEXT set pColorBlendEnables for any attachment to VK_TRUE, then for those attachments in the subpass the corresponding image view's format features must contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-pDepthAttachment-06186YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound pipeline was created with a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, the value of the depthStencilAttachmentSamples member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV used to create the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pDepthAttachment->imageView
VUID-vkCmdDrawMeshTasksIndirectCountNV-pDepthAttachment-08964YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, there is a graphics pipeline bound, depth test is enabled, depth write is enabled, and the VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, then the VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the pipeline must not be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksIndirectCountNV-pDepthInputAttachmentIndex-09595NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVInput attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.
VUID-vkCmdDrawMeshTasksIndirectCountNV-pDepthInputAttachmentIndex-09596NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVInput attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.
VUID-vkCmdDrawMeshTasksIndirectCountNV-pDynamicStates-08715YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state includes a fragment shader stage, was created with VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE set in VkPipelineDynamicStateCreateInfo::pDynamicStates, and the fragment shader declares the EarlyFragmentTests execution mode and uses OpDepthAttachmentReadEXT, the depthWriteEnable parameter in the last call to vkCmdSetDepthWriteEnable must be VK_FALSE
VUID-vkCmdDrawMeshTasksIndirectCountNV-pDynamicStates-08716YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state includes a fragment shader stage, was created with VK_DYNAMIC_STATE_STENCIL_WRITE_MASK set in VkPipelineDynamicStateCreateInfo::pDynamicStates, and the fragment shader declares the EarlyFragmentTests execution mode and uses OpStencilAttachmentReadEXT, the writeMask parameter in the last call to vkCmdSetStencilWriteMask must be 0
VUID-vkCmdDrawMeshTasksIndirectCountNV-pFragmentSize-09370YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-pFragmentSize-09371YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-pNext-07935YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf this command has been called inside a render pass instance started with vkCmdBeginRendering, and the pNext chain of VkRenderingInfo includes a VkMultisampledRenderToSingleSampledInfoEXT structure with multisampledRenderToSingleSampledEnable equal to VK_TRUE, then the value of rasterizationSamples for the currently bound graphics pipeline must be equal to VkMultisampledRenderToSingleSampledInfoEXT::rasterizationSamples
VUID-vkCmdDrawMeshTasksIndirectCountNV-pStencilAttachment-06187YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound pipeline was created with a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, the value of the depthStencilAttachmentSamples member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV used to create the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pStencilAttachment->imageView
VUID-vkCmdDrawMeshTasksIndirectCountNV-pStencilAttachment-08965YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, there is a graphics pipeline bound, stencil test is enabled and the VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, then the VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the pipeline must not be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksIndirectCountNV-pipelineFragmentShadingRate-09238YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the pipelineFragmentShadingRate feature is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetFragmentShadingRateKHR must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-pipelineStatistics-07076NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVThe pipelineStatistics member used to create any active Pipeline Statistics Query must not contain VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT, VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT, VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT, VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT, VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT, or VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-primitiveFragmentShadingRateWithMultipleViewports-04552YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must be 1
VUID-vkCmdDrawMeshTasksIndirectCountNV-primitiveFragmentShadingRateWithMultipleViewports-08642YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, and any shader object bound to a graphics stage writes to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must be 1
VUID-vkCmdDrawMeshTasksIndirectCountNV-primitivesGeneratedQueryWithNonZeroStreams-06709YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream
VUID-vkCmdDrawMeshTasksIndirectCountNV-primitivesGeneratedQueryWithNonZeroStreams-07481YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, and the bound graphics pipeline was created with VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT state enabled, the last call to vkCmdSetRasterizationStreamEXT must have set the rasterizationStream to zero
VUID-vkCmdDrawMeshTasksIndirectCountNV-primitivesGeneratedQueryWithRasterizerDiscard-06708YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the primitivesGeneratedQueryWithRasterizerDiscard feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, rasterization discard must not be enabled
VUID-vkCmdDrawMeshTasksIndirectCountNV-rasterizationSamples-07471YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, and the current subpass does not use any color and/or depth/stencil attachments, then the rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT must follow the rules for a zero-attachment subpass
VUID-vkCmdDrawMeshTasksIndirectCountNV-rasterizationSamples-07474YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, and neither the VK_AMD_mixed_attachment_samples nor the VK_NV_framebuffer_mixed_samples extensions are enabled, then the rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT must be the same as the current subpass color and/or depth/stencil attachments
VUID-vkCmdDrawMeshTasksIndirectCountNV-rasterizationSamples-07489NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and if current subpass has a depth/stencil attachment and depth test, stencil test, or depth bounds test are enabled in the currently bound pipeline state, then the current rasterizationSamples must be the same as the sample count of the depth/stencil attachment
VUID-vkCmdDrawMeshTasksIndirectCountNV-rasterizationSamples-07494NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and if the current subpass has any color attachments and rasterizationSamples of the last call to vkCmdSetRasterizationSamplesEXT is greater than the number of color samples, then the pipeline sampleShadingEnable must be VK_FALSE
VUID-vkCmdDrawMeshTasksIndirectCountNV-rasterizationSamples-09367YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetRasterizationSamplesEXT must have set rasterizationSamples to VK_SAMPLE_COUNT_1_BIT prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-rasterizerDiscardEnable-09236YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_EXT_discard_rectangles extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDiscardRectangleEnableEXT in the current command buffer set discardRectangleEnable to VK_TRUE, then vkCmdSetDiscardRectangleEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-rasterizerDiscardEnable-09416YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_EXT_blend_operation_advanced extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then at least one of vkCmdSetColorBlendEquationEXT and vkCmdSetColorBlendAdvancedEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-rasterizerDiscardEnable-09417YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEnableEXT calls must specify an enable for all active color attachments in the current subpass
VUID-vkCmdDrawMeshTasksIndirectCountNV-rasterizerDiscardEnable-09418YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled
VUID-vkCmdDrawMeshTasksIndirectCountNV-rasterizerDiscardEnable-09419YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorWriteMaskEXT calls must specify the color write mask for all active color attachments in the current subpass
VUID-vkCmdDrawMeshTasksIndirectCountNV-rasterizerDiscardEnable-09420YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_NV_fragment_coverage_to_color extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the last call to vkCmdSetCoverageToColorEnableNV set the coverageToColorEnable to VK_TRUE, then the current subpass must have a color attachment at the location selected by the last call to vkCmdSetCoverageToColorLocationNV coverageToColorLocation, with a VkFormat of VK_FORMAT_R8_UINT, VK_FORMAT_R8_SINT, VK_FORMAT_R16_UINT, VK_FORMAT_R16_SINT, VK_FORMAT_R32_UINT, or VK_FORMAT_R32_SINT
VUID-vkCmdDrawMeshTasksIndirectCountNV-reductionMode-09213NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVAny VkImageView being sampled with a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM as a result of this command must sample with VK_FILTER_CUBIC_EXT
VUID-vkCmdDrawMeshTasksIndirectCountNV-renderPass-02684YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVThe current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS
VUID-vkCmdDrawMeshTasksIndirectCountNV-renderPass-06198YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound pipeline must have been created with a VkGraphicsPipelineCreateInfo::renderPass equal to VK_NULL_HANDLE
VUID-vkCmdDrawMeshTasksIndirectCountNV-renderpassYNoneimplicitvkCmdDrawMeshTasksIndirectCountNVThis command must only be called inside of a render pass instance
VUID-vkCmdDrawMeshTasksIndirectCountNV-sampleLocationsEnable-02689YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set
VUID-vkCmdDrawMeshTasksIndirectCountNV-sampleLocationsEnable-07484YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set
VUID-vkCmdDrawMeshTasksIndirectCountNV-sampleLocationsEnable-07485YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and if sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, then the sampleLocationsInfo.sampleLocationGridSize.width in the last call to vkCmdSetSampleLocationsEXT must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.width as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling rasterizationSamples
VUID-vkCmdDrawMeshTasksIndirectCountNV-sampleLocationsEnable-07486YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and if sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, then the sampleLocationsInfo.sampleLocationGridSize.height in the last call to vkCmdSetSampleLocationsEXT must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.height as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling rasterizationSamples
VUID-vkCmdDrawMeshTasksIndirectCountNV-sampleLocationsEnable-07487YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and if sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, the fragment shader code must not statically use the extended instruction InterpolateAtSample
VUID-vkCmdDrawMeshTasksIndirectCountNV-sampleLocationsEnable-07936YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state disabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable in the bound graphics pipeline is VK_TRUE or VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, then, sampleLocationsInfo.sampleLocationGridSize.width must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.width as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling the value of rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawMeshTasksIndirectCountNV-sampleLocationsEnable-07937YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state disabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable in the bound graphics pipeline is VK_TRUE or VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, then, sampleLocationsInfo.sampleLocationGridSize.height must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.height as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling the value of rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawMeshTasksIndirectCountNV-sampleLocationsEnable-07938YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state disabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable in the bound graphics pipeline is VK_TRUE or VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, then, sampleLocationsInfo.sampleLocationsPerPixel must equal rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawMeshTasksIndirectCountNV-sampleLocationsPerPixel-07482YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state disabled, then the sampleLocationsPerPixel member of pSampleLocationsInfo in the last call to vkCmdSetSampleLocationsEXT must equal the rasterizationSamples member of the VkPipelineMultisampleStateCreateInfo structure the bound graphics pipeline has been created with
VUID-vkCmdDrawMeshTasksIndirectCountNV-sampleLocationsPerPixel-07483YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, then the sampleLocationsPerPixel member of pSampleLocationsInfo in the last call to vkCmdSetSampleLocationsEXT must equal the rasterizationSamples parameter of the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawMeshTasksIndirectCountNV-samples-07472YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_MASK_EXT state enabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state disabled, then the samples parameter in the last call to vkCmdSetSampleMaskEXT must be greater or equal to the VkPipelineMultisampleStateCreateInfo::rasterizationSamples parameter used to create the bound graphics pipeline
VUID-vkCmdDrawMeshTasksIndirectCountNV-samples-07473YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_MASK_EXT state and VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT states enabled, then the samples parameter in the last call to vkCmdSetSampleMaskEXT must be greater or equal to the rasterizationSamples parameter in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawMeshTasksIndirectCountNV-scissorCount-03418YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, then vkCmdSetScissorWithCount must have been called in the current command buffer prior to this drawing command, and the scissorCount parameter of vkCmdSetScissorWithCount must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline
VUID-vkCmdDrawMeshTasksIndirectCountNV-selectableCubicWeights-09214NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the selectableCubicWeights feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have VkSamplerCubicWeightsCreateInfoQCOM::cubicWeights equal to VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM
VUID-vkCmdDrawMeshTasksIndirectCountNV-shadingRateImage-09233YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoarseSampleOrderNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-shadingRateImage-09234YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetShadingRateImageEnableNV in the current command buffer set shadingRateImageEnable to VK_TRUE, then vkCmdSetViewportShadingRatePaletteNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectCountNV-sparseImageInt64Atomics-04474YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdDrawMeshTasksIndirectCountNV-sparseImageInt64Atomics-04475NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdDrawMeshTasksIndirectCountNV-stage-06480YNegativeMesh.DrawCmdsNVexplicitvkCmdDrawMeshTasksIndirectCountNVThe bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT
VUID-vkCmdDrawMeshTasksIndirectCountNV-stage-07073YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active
VUID-vkCmdDrawMeshTasksIndirectCountNV-stippledLineEnable-07495YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled
VUID-vkCmdDrawMeshTasksIndirectCountNV-stippledLineEnable-07496YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled
VUID-vkCmdDrawMeshTasksIndirectCountNV-stippledLineEnable-07497YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled
VUID-vkCmdDrawMeshTasksIndirectCountNV-stippledLineEnable-07498YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE
VUID-vkCmdDrawMeshTasksIndirectCountNV-storageBuffers-06936YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawMeshTasksIndirectCountNV-stride-02182YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVstride must be a multiple of 4 and must be greater than or equal to sizeof(VkDrawMeshTasksIndirectCommandNV)
VUID-vkCmdDrawMeshTasksIndirectCountNV-subpass-02685YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVThe subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS
VUID-vkCmdDrawMeshTasksIndirectCountNV-uniformBuffers-06935YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawMeshTasksIndirectCountNV-videocodingYNoneimplicitvkCmdDrawMeshTasksIndirectCountNVThis command must only be called outside of a video coding scope
VUID-vkCmdDrawMeshTasksIndirectCountNV-viewMask-06178YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound graphics pipeline must have been created with a VkPipelineRenderingCreateInfo::viewMask equal to VkRenderingInfo::viewMask
VUID-vkCmdDrawMeshTasksIndirectCountNV-viewType-07752YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Instruction/Sampler/Image View Validation
VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-03417YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT dynamic state enabled, then vkCmdSetViewportWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline
VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-03419YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic states enabled then both vkCmdSetViewportWithCount and vkCmdSetScissorWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must match the scissorCount parameter of vkCmdSetScissorWithCount
VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-04137NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportWScalingStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-04138NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-04139NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-04140NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-07492NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportSwizzleStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-07493NNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportSwizzleNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectCountNV-viewportCount-09421YNoneexplicitvkCmdDrawMeshTasksIndirectCountNVIf the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then the viewportCount parameter in the last call to vkCmdSetViewportSwizzleNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectNV-ConstOffset-06551YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must not use the ConstOffset and Offset operands
VUID-vkCmdDrawMeshTasksIndirectNV-InputAttachmentIndex-09597NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.
VUID-vkCmdDrawMeshTasksIndirectNV-MeshNV-07081YNegativeMesh.DrawCmdsNVexplicitvkCmdDrawMeshTasksIndirectNVThe current pipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS must contain a shader stage using the MeshNV Execution Model
VUID-vkCmdDrawMeshTasksIndirectNV-None-02691YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-None-02692YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
VUID-vkCmdDrawMeshTasksIndirectNV-None-02693YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_EXT_filter_cubic extension is not enabled and any VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, it must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
VUID-vkCmdDrawMeshTasksIndirectNV-None-04876YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE dynamic state enabled then vkCmdSetRasterizerDiscardEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-04877YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE dynamic state enabled then vkCmdSetDepthBiasEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-06479YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a VkImageView is sampled with depth comparison, the image view's format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-None-06537YNoneexplicitvkCmdDrawMeshTasksIndirectNVMemory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command
VUID-vkCmdDrawMeshTasksIndirectNV-None-06539YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf any previously recorded command in the current subpass accessed an image subresource used as an attachment in this subpass in any way other than as an attachment, this command must not write to that image subresource as an attachment
VUID-vkCmdDrawMeshTasksIndirectNV-None-06550YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions
VUID-vkCmdDrawMeshTasksIndirectNV-None-06666YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT dynamic state enabled then vkCmdSetSampleLocationsEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-06886YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance uses a depth/stencil attachment with a read-only layout for the depth aspect, depth writes must be disabled
VUID-vkCmdDrawMeshTasksIndirectNV-None-06887YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance uses a depth/stencil attachment with a read-only layout for the stencil aspect, both front and back writeMask are not zero, and stencil test is enabled, all stencil ops must be VK_STENCIL_OP_KEEP
VUID-vkCmdDrawMeshTasksIndirectNV-None-07074YNoneexplicitvkCmdDrawMeshTasksIndirectNVTransform Feedback Queries must not be active
VUID-vkCmdDrawMeshTasksIndirectNV-None-07075YNoneexplicitvkCmdDrawMeshTasksIndirectNVPrimitives Generated Queries must not be active
VUID-vkCmdDrawMeshTasksIndirectNV-None-07288NNoneexplicitvkCmdDrawMeshTasksIndirectNVAny shader invocation executed by this command must terminate
VUID-vkCmdDrawMeshTasksIndirectNV-None-07469NNoneexplicitvkCmdDrawMeshTasksIndirectNVInput attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility
VUID-vkCmdDrawMeshTasksIndirectNV-None-07619YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled then vkCmdSetTessellationDomainOriginEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07620YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled then vkCmdSetDepthClampEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07621YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_POLYGON_MODE_EXT dynamic state enabled then vkCmdSetPolygonModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07622YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT dynamic state enabled then vkCmdSetRasterizationSamplesEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07623YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_MASK_EXT dynamic state enabled then vkCmdSetSampleMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07624YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT dynamic state enabled then vkCmdSetAlphaToCoverageEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07625YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT dynamic state enabled then vkCmdSetAlphaToOneEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07626YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT dynamic state enabled then vkCmdSetLogicOpEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07627YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic state enabled then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07628YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT dynamic state enabled then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07629YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT dynamic state enabled then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07630YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT dynamic state enabled then vkCmdSetRasterizationStreamEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07631YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT dynamic state enabled then vkCmdSetConservativeRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07632YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT dynamic state enabled then vkCmdSetExtraPrimitiveOverestimationSizeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07633YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT dynamic state enabled then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07634YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT dynamic state enabled then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07635YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT dynamic state enabled then vkCmdSetColorBlendAdvancedEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07636YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT dynamic state enabled then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07637YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic state enabled then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07638YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT dynamic state enabled then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07639YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT dynamic state enabled then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07640YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV dynamic state enabled then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07641YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV dynamic state enabled then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07642YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV dynamic state enabled then vkCmdSetCoverageToColorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07643YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV dynamic state enabled then vkCmdSetCoverageToColorLocationNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07644YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV dynamic state enabled then vkCmdSetCoverageModulationModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07645YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV dynamic state enabled then vkCmdSetCoverageModulationTableEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07646YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV dynamic state enabled then vkCmdSetCoverageModulationTableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07647YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV dynamic state enabled then vkCmdSetShadingRateImageEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07648YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV dynamic state enabled then vkCmdSetRepresentativeFragmentTestEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07649YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV dynamic state enabled then vkCmdSetCoverageReductionModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07748NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf any shader statically accesses an input attachment, a valid descriptor must be bound to the pipeline via a descriptor set
VUID-vkCmdDrawMeshTasksIndirectNV-None-07749YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT dynamic state enabled then vkCmdSetColorWriteEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07751YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT dynamic state enabled then vkCmdSetDiscardRectangleEXT must have been called in the current command buffer prior to this drawing command for each discard rectangle in VkPipelineDiscardRectangleStateCreateInfoEXT::discardRectangleCount
VUID-vkCmdDrawMeshTasksIndirectNV-None-07831YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT dynamic state enabled then vkCmdSetViewport must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07832YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR dynamic state enabled then vkCmdSetScissor must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07833YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_WIDTH dynamic state enabled then vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07834YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07835YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_BLEND_CONSTANTS dynamic state enabled then vkCmdSetBlendConstants must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07836YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS dynamic state enabled, and if the current depthBoundsTestEnable state is VK_TRUE, then vkCmdSetDepthBounds must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07837YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK dynamic state enabled, and if the current stencilTestEnable state is VK_TRUE, then vkCmdSetStencilCompareMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07838YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_WRITE_MASK dynamic state enabled, and if the current stencilTestEnable state is VK_TRUE, then vkCmdSetStencilWriteMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07839YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_REFERENCE dynamic state enabled, and if the current stencilTestEnable state is VK_TRUE, then vkCmdSetStencilReference must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07840YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_CULL_MODE dynamic state enabled then vkCmdSetCullMode must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07841YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_FRONT_FACE dynamic state enabled then vkCmdSetFrontFace must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07843YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE dynamic state enabled then vkCmdSetDepthTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07844YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE dynamic state enabled then vkCmdSetDepthWriteEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07845YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_COMPARE_OP dynamic state enabled then vkCmdSetDepthCompareOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07846YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07847YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07848YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07849YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07850YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07878YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07879YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07880YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT dynamic state enabled then vkCmdSetDiscardRectangleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07881YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT dynamic state enabled then vkCmdSetDiscardRectangleModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-07888YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer's format features must contain VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-None-08114YNoneexplicitvkCmdDrawMeshTasksIndirectNVDescriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid as described by descriptor validity if they are statically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was not created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawMeshTasksIndirectNV-None-08115YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdBindDescriptorSets, the bound VkPipeline must have been created without VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawMeshTasksIndirectNV-None-08116NNoneexplicitvkCmdDrawMeshTasksIndirectNVDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawMeshTasksIndirectNV-None-08117YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdSetDescriptorBufferOffsetsEXT, the bound VkPipeline must have been created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawMeshTasksIndirectNV-None-08119NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a descriptor is dynamically used with a VkPipeline created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdDrawMeshTasksIndirectNV-None-08600YNoneexplicitvkCmdDrawMeshTasksIndirectNVFor each set n that is statically used by a bound shader, a descriptor set must have been bound to n at the same pipeline bind point, with a VkPipelineLayout that is compatible for set n, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDrawMeshTasksIndirectNV-None-08601NNoneexplicitvkCmdDrawMeshTasksIndirectNVFor each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDrawMeshTasksIndirectNV-None-08604NNoneexplicitvkCmdDrawMeshTasksIndirectNVDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08605NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a descriptor is dynamically used with a VkShaderEXT created with a VkDescriptorSetLayout that was created with VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdDrawMeshTasksIndirectNV-None-08606YNegativeMesh.BasicUsageNVexplicitvkCmdDrawMeshTasksIndirectNVIf the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08607YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the shaderObject is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08608YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state not specified as dynamic in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound
VUID-vkCmdDrawMeshTasksIndirectNV-None-08609YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
VUID-vkCmdDrawMeshTasksIndirectNV-None-08610YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage
VUID-vkCmdDrawMeshTasksIndirectNV-None-08611YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage
VUID-vkCmdDrawMeshTasksIndirectNV-None-08612YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a uniform buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawMeshTasksIndirectNV-None-08613YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a storage buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawMeshTasksIndirectNV-None-08617YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08618YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08619YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08620YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDepthBiasEnable in the current command buffer set depthBiasEnable to VK_TRUE, vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08621YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetColorBlendEnableEXT in the current command buffer set any element of pColorBlendEnables to VK_TRUE, and the most recent call to vkCmdSetColorBlendEquationEXT in the current command buffer set the same element of pColorBlendEquations to a VkColorBlendEquationEXT structure with any VkBlendFactor member with a value of VK_BLEND_FACTOR_CONSTANT_COLOR, VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR, VK_BLEND_FACTOR_CONSTANT_ALPHA, or VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA, vkCmdSetBlendConstants must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08622YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDepthBoundsTestEnable in the current command buffer set depthBoundsTestEnable to VK_TRUE, then vkCmdSetDepthBounds must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08623YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, vkCmdSetStencilCompareMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08624YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, vkCmdSetStencilWriteMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08625YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, vkCmdSetStencilReference must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08626YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetSampleLocationsEnableEXT in the current command buffer set sampleLocationsEnable to VK_TRUE, then vkCmdSetSampleLocationsEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08627YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCullMode must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08628YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetFrontFace must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08629YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08630YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthWriteEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08631YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDepthTestEnable in the current command buffer set depthTestEnable to VK_TRUE, then vkCmdSetDepthCompareOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08632YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the depthBounds feature is enabled, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then the vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08633YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08634YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08635YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, then both vkCmdSetViewportWithCount and vkCmdSetScissorWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must match the scissorCount parameter of vkCmdSetScissorWithCount
VUID-vkCmdDrawMeshTasksIndirectNV-None-08636YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetViewportWScalingEnableNV in the current command buffer set viewportWScalingEnable to VK_TRUE, then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectNV-None-08637YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetShadingRateImageEnableNV in the current command buffer set shadingRateImageEnable to VK_TRUE, then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectNV-None-08638YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the exclusiveScissor feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetExclusiveScissorEnableNV in the current command buffer set any element of pExclusiveScissorEnables to VK_TRUE, then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08639YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, then vkCmdSetRasterizerDiscardEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08640YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthBiasEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08641YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLogicOpEnableEXT set logicOpEnable to VK_TRUE, then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value
VUID-vkCmdDrawMeshTasksIndirectNV-None-08643YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then for each color attachment in the render pass, if the corresponding image view's format features do not contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the corresponding member of pColorBlendEnables in the most recent call to vkCmdSetColorBlendEnableEXT in the current command buffer that affected that attachment index must have been VK_FALSE
VUID-vkCmdDrawMeshTasksIndirectNV-None-08644YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and none of the following is enabled: the VK_AMD_mixed_attachment_samples extension the VK_NV_framebuffer_mixed_samples extension the multisampledRenderToSingleSampled feature then the most recent call to vkCmdSetRasterizationSamplesEXT in the current command buffer must have set rasterizationSamples to be the same as the number of samples for the current render pass color and/or depth/stencil attachments
VUID-vkCmdDrawMeshTasksIndirectNV-None-08646YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the colorWriteEnable feature is enabled on the device, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08647YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the colorWriteEnable feature is enabled on the device, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then the attachmentCount parameter of most recent call to vkCmdSetColorWriteEnableEXT in the current command buffer must be greater than or equal to the number of color attachments in the current render pass instance
VUID-vkCmdDrawMeshTasksIndirectNV-None-08648YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_EXT_discard_rectangles extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDiscardRectangleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08649YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_EXT_discard_rectangles extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDiscardRectangleEnableEXT in the current command buffer set discardRectangleEnable to VK_TRUE, then vkCmdSetDiscardRectangleModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08650YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the depthClamp feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08651YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetPolygonModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08652YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetRasterizationSamplesEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08653YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08654YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetAlphaToCoverageEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08655YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the alphaToOne feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetAlphaToOneEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08656YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the logicOp feature is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLogicOpEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08657YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08658YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetColorBlendEnableEXT for any attachment set that attachment's value in pColorBlendEnables to VK_TRUE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08659YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08660YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the geometryStreams feature is enabled, and a shader object is bound to the VK_SHADER_STAGE_GEOMETRY_BIT stage, then vkCmdSetRasterizationStreamEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08661YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_EXT_conservative_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetConservativeRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08662YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_EXT_conservative_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetConservativeRasterizationModeEXT in the current command buffer set conservativeRasterizationMode to VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT, then vkCmdSetExtraPrimitiveOverestimationSizeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08663YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08664YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08665YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08666YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08667YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08668YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08669YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08670YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08671YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08672YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08673YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08674YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08675YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08676YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_NV_fragment_coverage_to_color extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoverageToColorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08677YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_NV_fragment_coverage_to_color extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetCoverageToColorEnableNV in the current command buffer set coverageToColorEnable to VK_TRUE, then vkCmdSetCoverageToColorLocationNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08678YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoverageModulationModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08679YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetCoverageModulationModeNV in the current command buffer set coverageModulationMode to any value other than VK_COVERAGE_MODULATION_MODE_NONE_NV, then vkCmdSetCoverageModulationTableEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08680YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetCoverageModulationTableEnableNV in the current command buffer set coverageModulationTableEnable to VK_TRUE, then vkCmdSetCoverageModulationTableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08681YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetShadingRateImageEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08682YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the representativeFragmentTest feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetRepresentativeFragmentTestEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08683YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the coverageReductionMode feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoverageReductionModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08684YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-None-08685YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-None-08686YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-None-08687YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-None-08688YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-None-08689YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf there is no bound graphics pipeline, and the taskShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TASK_BIT_EXT
VUID-vkCmdDrawMeshTasksIndirectNV-None-08690YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf there is no bound graphics pipeline, and the meshShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_MESH_BIT_EXT
VUID-vkCmdDrawMeshTasksIndirectNV-None-08693YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf there is no bound graphics pipeline, and at least one of the taskShader and meshShader features is enabled, one of the VK_SHADER_STAGE_VERTEX_BIT or VK_SHADER_STAGE_MESH_BIT_EXT stages must have a valid VkShaderEXT bound, and the other must have no VkShaderEXT bound
VUID-vkCmdDrawMeshTasksIndirectNV-None-08694YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf there is no bound graphics pipeline, and both the taskShader and meshShader features are enabled, and a valid VkShaderEXT is bound the to the VK_SHADER_STAGE_MESH_BIT_EXT stage, and that VkShaderEXT was created without the VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT flag, a valid VkShaderEXT must be bound to the VK_SHADER_STAGE_TASK_BIT_EXT stage
VUID-vkCmdDrawMeshTasksIndirectNV-None-08695YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf there is no bound graphics pipeline, and both the taskShader and meshShader features are enabled, and a valid VkShaderEXT is bound the to the VK_SHADER_STAGE_MESH_BIT_EXT stage, and that VkShaderEXT was created with the VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT flag, there must be no VkShaderEXT bound to the VK_SHADER_STAGE_TASK_BIT_EXT stage
VUID-vkCmdDrawMeshTasksIndirectNV-None-08696YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf there is no bound graphics pipeline, and a valid VkShaderEXT is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, there must be no VkShaderEXT bound to either the VK_SHADER_STAGE_TASK_BIT_EXT stage or the VK_SHADER_STAGE_MESH_BIT_EXT stage
VUID-vkCmdDrawMeshTasksIndirectNV-None-08698YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf any graphics shader is bound which was created with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag, then all shaders created with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag in the same vkCreateShadersEXT call must also be bound
VUID-vkCmdDrawMeshTasksIndirectNV-None-08699YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf any graphics shader is bound which was created with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag, any stages in between stages whose shaders which did not create a shader with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag as part of the same vkCreateShadersEXT call must not have any VkShaderEXT bound
VUID-vkCmdDrawMeshTasksIndirectNV-None-08876YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, the current render pass instance must have been begun with vkCmdBeginRendering
VUID-vkCmdDrawMeshTasksIndirectNV-None-08877YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT dynamic state vkCmdSetAttachmentFeedbackLoopEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-08878YNoneexplicitvkCmdDrawMeshTasksIndirectNVAll bound graphics shader objects must have been created with identical or identically defined push constant ranges
VUID-vkCmdDrawMeshTasksIndirectNV-None-08879YNoneexplicitvkCmdDrawMeshTasksIndirectNVAll bound graphics shader objects must have been created with identical or identically defined arrays of descriptor set layouts
VUID-vkCmdDrawMeshTasksIndirectNV-None-08880YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the attachmentFeedbackLoopDynamicState feature is enabled on the device, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetAttachmentFeedbackLoopEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-09000YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a color attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it is not in the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout, and either: the VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT is set on the currently bound pipeline or the last call to vkCmdSetAttachmentFeedbackLoopEnableEXT included VK_IMAGE_ASPECT_COLOR_BIT and there is no currently bound graphics pipeline or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT it must not be accessed in any way other than as an attachment by this command
VUID-vkCmdDrawMeshTasksIndirectNV-None-09001YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a depth attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it is not in the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout, and either: the VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT is set on the currently bound pipeline or the last call to vkCmdSetAttachmentFeedbackLoopEnableEXT included VK_IMAGE_ASPECT_DEPTH_BIT and there is no currently bound graphics pipeline or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT it must not be accessed in any way other than as an attachment by this command
VUID-vkCmdDrawMeshTasksIndirectNV-None-09002YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a stencil attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it is not in the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout, and either: the VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT is set on the currently bound pipeline or the last call to vkCmdSetAttachmentFeedbackLoopEnableEXT included VK_IMAGE_ASPECT_STENCIL_BIT and there is no currently bound graphics pipeline or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT it must not be accessed in any way other than as an attachment by this command
VUID-vkCmdDrawMeshTasksIndirectNV-None-09003YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf an attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it must not be accessed in any way other than as an attachment, storage image, or sampled image by this command
VUID-vkCmdDrawMeshTasksIndirectNV-None-09116YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT, and the format of any color attachment is VK_FORMAT_E5B9G9R9_UFLOAT_PACK32, the corresponding element of the pColorWriteMasks parameter of vkCmdSetColorWriteMaskEXT must either include all of VK_COLOR_COMPONENT_R_BIT, VK_COLOR_COMPONENT_G_BIT, and VK_COLOR_COMPONENT_B_BIT, or none of them
VUID-vkCmdDrawMeshTasksIndirectNV-None-09211YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, or a shader object is bound to any graphics stage, and the current render pass instance includes a VkMultisampledRenderToSingleSampledInfoEXT structure with multisampledRenderToSingleSampledEnable equal to VK_TRUE, then the rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT must be the same as the rasterizationSamples member of that structure
VUID-vkCmdDrawMeshTasksIndirectNV-None-09232YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetViewportWScalingEnableNV in the current command buffer set viewportWScalingEnable to VK_TRUE, then vkCmdSetViewportWScalingNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-09237YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage, then vkCmdSetTessellationDomainOriginEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-09363YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf there is no shader object bound to any graphics stage, the current render pass instance was begun with vkCmdBeginRendering and a VkRenderingInfo::colorAttachmentCount equal to 1, and a color attachment with a resolve mode of VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, each element of the VkRenderingInfo::pColorAttachments array with a imageView not equal to VK_NULL_HANDLE must have been created with an image created with a VkExternalFormatANDROID::externalFormat value equal to the VkExternalFormatANDROID::externalFormat value used to create the currently bound graphics pipeline
VUID-vkCmdDrawMeshTasksIndirectNV-None-09364YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic state enabled, then vkCmdSetColorBlendEnableEXT must have set the blend enable to VK_FALSE prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-09365YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT dynamic state enabled, then vkCmdSetRasterizationSamplesEXT must have set rasterizationSamples to VK_SAMPLE_COUNT_1_BIT prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-09366YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-09368YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-09369YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-None-09548YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline
VUID-vkCmdDrawMeshTasksIndirectNV-None-09549YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR
VUID-vkCmdDrawMeshTasksIndirectNV-None-09600NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written
VUID-vkCmdDrawMeshTasksIndirectNV-OpImageBlockMatchSADQCOM-06975NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDrawMeshTasksIndirectNV-OpImageBlockMatchSADQCOM-06976NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdDrawMeshTasksIndirectNV-OpImageBlockMatchSSDQCOM-06974NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDrawMeshTasksIndirectNV-OpImageBlockMatchWindow-09215NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDrawMeshTasksIndirectNV-OpImageBlockMatchWindow-09216NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format must be a single-component format.
VUID-vkCmdDrawMeshTasksIndirectNV-OpImageBlockMatchWindow-09217NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdDrawMeshTasksIndirectNV-OpImageBoxFilterQCOM-06973NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf OpImageBoxFilterQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM
VUID-vkCmdDrawMeshTasksIndirectNV-OpImageWeightedSampleQCOM-06971NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf OpImageWeightedSampleQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM
VUID-vkCmdDrawMeshTasksIndirectNV-OpImageWeightedSampleQCOM-06972NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf OpImageWeightedSampleQCOM uses a VkImageView as a sample weight image as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM
VUID-vkCmdDrawMeshTasksIndirectNV-OpImageWeightedSampleQCOM-06977NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdDrawMeshTasksIndirectNV-OpImageWeightedSampleQCOM-06978NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf any command other than OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must not have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdDrawMeshTasksIndirectNV-OpImageWrite-04469YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format
VUID-vkCmdDrawMeshTasksIndirectNV-OpImageWrite-08795YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a VkImageView created with a format other than VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format
VUID-vkCmdDrawMeshTasksIndirectNV-OpImageWrite-08796YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a VkImageView created with the format VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have four components
VUID-vkCmdDrawMeshTasksIndirectNV-OpTypeImage-07027YNoneexplicitvkCmdDrawMeshTasksIndirectNVFor any VkImageView being written as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-OpTypeImage-07028YNoneexplicitvkCmdDrawMeshTasksIndirectNVFor any VkImageView being read as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-OpTypeImage-07029YNoneexplicitvkCmdDrawMeshTasksIndirectNVFor any VkBufferView being written as a storage texel buffer where the image format field of the OpTypeImage is Unknown, the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-OpTypeImage-07030YNoneexplicitvkCmdDrawMeshTasksIndirectNVAny VkBufferView being read as a storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-OpTypeImage-07468NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf any shader executed by this pipeline accesses an OpTypeImage variable with a Dim operand of SubpassData, it must be decorated with an InputAttachmentIndex that corresponds to a valid input attachment in the current subpass
VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04470YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a VkImageView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04471YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a VkImageView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04472YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a VkBufferView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdDrawMeshTasksIndirectNV-SampledType-04473YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a VkBufferView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdDrawMeshTasksIndirectNV-VkPipelineVieportCreateInfo-04141NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled and a VkPipelineViewportSwizzleStateCreateInfoNV structure chained from VkPipelineViewportStateCreateInfo, then the bound graphics pipeline must have been created with VkPipelineViewportSwizzleStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectNV-VkPipelineVieportCreateInfo-04142NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled and a VkPipelineViewportExclusiveScissorStateCreateInfoNV structure chained from VkPipelineViewportStateCreateInfo, then the bound graphics pipeline must have been created with VkPipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectNV-advancedBlendMaxColorAttachments-07480YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT and VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic states enabled and the last calls to vkCmdSetColorBlendEnableEXT and vkCmdSetColorBlendAdvancedEXT have enabled advanced blending, then the number of active color attachments in the current subpass must not exceed advancedBlendMaxColorAttachments
VUID-vkCmdDrawMeshTasksIndirectNV-alphaToCoverageEnable-08919YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT dynamic state enabled, and alphaToCoverageEnable was VK_TRUE in the last call to vkCmdSetAlphaToCoverageEnableEXT, then the Fragment Output Interface must contain a variable for the alpha Component word in Location 0 at Index 0
VUID-vkCmdDrawMeshTasksIndirectNV-alphaToCoverageEnable-08920YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetAlphaToCoverageEnableEXT in the current command buffer set alphaToCoverageEnable to VK_TRUE, then the Fragment Output Interface must contain a variable for the alpha Component word in Location 0 at Index 0
VUID-vkCmdDrawMeshTasksIndirectNV-attachmentCount-07750YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT dynamic state enabled then the attachmentCount parameter of vkCmdSetColorWriteEnableEXT must be greater than or equal to the VkPipelineColorBlendStateCreateInfo::attachmentCount of the currently bound graphics pipeline
VUID-vkCmdDrawMeshTasksIndirectNV-blendEnable-04727YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view's format features do not contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the blendEnable member of the corresponding element of the pAttachments member of pColorBlendState must be VK_FALSE
VUID-vkCmdDrawMeshTasksIndirectNV-buffer-02708YNegativeMesh.BasicUsageNVexplicitvkCmdDrawMeshTasksIndirectNVIf buffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object
VUID-vkCmdDrawMeshTasksIndirectNV-buffer-02709YNoneexplicitvkCmdDrawMeshTasksIndirectNVbuffer must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set
VUID-vkCmdDrawMeshTasksIndirectNV-buffer-parameterYNoneimplicitvkCmdDrawMeshTasksIndirectNVbuffer must be a valid VkBuffer handle
VUID-vkCmdDrawMeshTasksIndirectNV-colorAttachmentCount-06179YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the dynamicRenderingUnusedAttachments feature is not enabled and the current render pass instance was begun with vkCmdBeginRendering, the currently bound graphics pipeline must have been created with a VkPipelineRenderingCreateInfo::colorAttachmentCount equal to VkRenderingInfo::colorAttachmentCount
VUID-vkCmdDrawMeshTasksIndirectNV-colorAttachmentCount-06185YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the currently bound pipeline was created with a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the current render pass instance was begun with vkCmdBeginRendering with a VkRenderingInfo::colorAttachmentCount parameter greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with a imageView not equal to VK_NULL_HANDLE must have been created with a sample count equal to the corresponding element of the pColorAttachmentSamples member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV used to create the currently bound graphics pipeline
VUID-vkCmdDrawMeshTasksIndirectNV-colorAttachmentCount-09362YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, with a VkRenderingInfo::colorAttachmentCount equal to 1, there is no shader object bound to any graphics stage, and a color attachment with a resolve mode of VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, each element of the VkRenderingInfo::pColorAttachments array with a resolveImageView not equal to VK_NULL_HANDLE must have been created with an image created with a VkExternalFormatANDROID::externalFormat value equal to the VkExternalFormatANDROID::externalFormat value used to create the currently bound graphics pipeline
VUID-vkCmdDrawMeshTasksIndirectNV-colorAttachmentCount-09372YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering and a VkRenderingInfo::colorAttachmentCount equal to 1, a color attachment with a resolve mode of VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, and a fragment shader is bound, it must not declare the DepthReplacing or StencilRefReplacingEXT execution modes
VUID-vkCmdDrawMeshTasksIndirectNV-commandBuffer-02707YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf commandBuffer is an unprotected command buffer and protectedNoFault is not supported, any resource accessed by bound shaders must not be a protected resource
VUID-vkCmdDrawMeshTasksIndirectNV-commandBuffer-02711YNoneexplicitvkCmdDrawMeshTasksIndirectNVcommandBuffer must not be a protected command buffer
VUID-vkCmdDrawMeshTasksIndirectNV-commandBuffer-cmdpoolYNoneimplicitvkCmdDrawMeshTasksIndirectNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdDrawMeshTasksIndirectNV-commandBuffer-parameterYNoneimplicitvkCmdDrawMeshTasksIndirectNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdDrawMeshTasksIndirectNV-commandBuffer-recordingYNoneimplicitvkCmdDrawMeshTasksIndirectNVcommandBuffer must be in the recording state
VUID-vkCmdDrawMeshTasksIndirectNV-commonparentYNoneimplicitvkCmdDrawMeshTasksIndirectNVBoth of buffer, and commandBuffer must have been created, allocated, or retrieved from the same VkDevice
VUID-vkCmdDrawMeshTasksIndirectNV-conservativePointAndLineRasterization-07499YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT dynamic state enabled, conservativePointAndLineRasterization is not supported, and the effective primitive topology output by the last pre-rasterization shader stage is a line or point, then the conservativeRasterizationMode set by the last call to vkCmdSetConservativeRasterizationModeEXT must be VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT
VUID-vkCmdDrawMeshTasksIndirectNV-coverageModulationTableEnable-07488NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to any graphics stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV state enabled, and the last call to vkCmdSetCoverageModulationTableEnableNV set coverageModulationTableEnable to VK_TRUE, then the coverageModulationTableCount parameter in the last call to vkCmdSetCoverageModulationTableNV must equal the current rasterizationSamples divided by the number of color samples in the current subpass
VUID-vkCmdDrawMeshTasksIndirectNV-coverageReductionMode-07491NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf this VK_NV_coverage_reduction_mode extension is enabled, the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV and VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT states enabled, the current coverage reduction mode coverageReductionMode, then the current rasterizationSamples, and the sample counts for the color and depth/stencil attachments (if the subpass has them) must be a valid combination returned by vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
VUID-vkCmdDrawMeshTasksIndirectNV-coverageToColorEnable-07490NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV state enabled and the last call to vkCmdSetCoverageToColorEnableNV set the coverageToColorEnable to VK_TRUE, then the current subpass must have a color attachment at the location selected by the last call to vkCmdSetCoverageToColorLocationNV coverageToColorLocation, with a VkFormat of VK_FORMAT_R8_UINT, VK_FORMAT_R8_SINT, VK_FORMAT_R16_UINT, VK_FORMAT_R16_SINT, VK_FORMAT_R32_UINT, or VK_FORMAT_R32_SINT
VUID-vkCmdDrawMeshTasksIndirectNV-cubicRangeClamp-09212NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the cubicRangeClamp feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must not have a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM
VUID-vkCmdDrawMeshTasksIndirectNV-drawCount-02146YNegativeMesh.BasicUsageNVexplicitvkCmdDrawMeshTasksIndirectNVIf drawCount is greater than 1, stride must be a multiple of 4 and must be greater than or equal to sizeof(VkDrawMeshTasksIndirectCommandNV)
VUID-vkCmdDrawMeshTasksIndirectNV-drawCount-02156YNegativeMesh.DrawCmdsNVexplicitvkCmdDrawMeshTasksIndirectNVIf drawCount is equal to 1, (offset + sizeof(VkDrawMeshTasksIndirectCommandNV)) must be less than or equal to the size of buffer
VUID-vkCmdDrawMeshTasksIndirectNV-drawCount-02157YNegativeMesh.BasicUsageNVexplicitvkCmdDrawMeshTasksIndirectNVIf drawCount is greater than 1, (stride × (drawCount - 1) + offset + sizeof(VkDrawMeshTasksIndirectCommandNV)) must be less than or equal to the size of buffer
VUID-vkCmdDrawMeshTasksIndirectNV-drawCount-02718YNegativeMesh.BasicUsageNVexplicitvkCmdDrawMeshTasksIndirectNVIf the multiDrawIndirect feature is not enabled, drawCount must be 0 or 1
VUID-vkCmdDrawMeshTasksIndirectNV-drawCount-02719YNoneexplicitvkCmdDrawMeshTasksIndirectNVdrawCount must be less than or equal to VkPhysicalDeviceLimits::maxDrawIndirectCount
VUID-vkCmdDrawMeshTasksIndirectNV-dynamicRenderingUnusedAttachments-08910YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the dynamicRenderingUnusedAttachments feature is not enabled, and the current render pass instance was begun with vkCmdBeginRendering and VkRenderingInfo::colorAttachmentCount greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with an imageView not equal to VK_NULL_HANDLE must have been created with a VkFormat equal to the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the currently bound graphics pipeline
VUID-vkCmdDrawMeshTasksIndirectNV-dynamicRenderingUnusedAttachments-08911YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the dynamicRenderingUnusedAttachments feature is enabled, and the current render pass instance was begun with vkCmdBeginRendering and VkRenderingInfo::colorAttachmentCount greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with an imageView not equal to VK_NULL_HANDLE must have been created with a VkFormat equal to the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the currently bound graphics pipeline, or the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats, if it exists, must be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksIndirectNV-dynamicRenderingUnusedAttachments-08912YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the dynamicRenderingUnusedAttachments feature is not enabled, and the current render pass instance was begun with vkCmdBeginRendering and VkRenderingInfo::colorAttachmentCount greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with an imageView equal to VK_NULL_HANDLE must have the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the currently bound pipeline equal to VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksIndirectNV-dynamicRenderingUnusedAttachments-08913YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pDepthAttachment->imageView was VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the currently bound graphics pipeline must be equal to VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksIndirectNV-dynamicRenderingUnusedAttachments-08914YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the currently bound graphics pipeline must be equal to the VkFormat used to create VkRenderingInfo::pDepthAttachment->imageView
VUID-vkCmdDrawMeshTasksIndirectNV-dynamicRenderingUnusedAttachments-08915YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is enabled, VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, and the value of VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the currently bound graphics pipeline was not equal to the VkFormat used to create VkRenderingInfo::pDepthAttachment->imageView, the value of the format must be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksIndirectNV-dynamicRenderingUnusedAttachments-08916YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pStencilAttachment->imageView was VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the currently bound graphics pipeline must be equal to VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksIndirectNV-dynamicRenderingUnusedAttachments-08917YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the currently bound graphics pipeline must be equal to the VkFormat used to create VkRenderingInfo::pStencilAttachment->imageView
VUID-vkCmdDrawMeshTasksIndirectNV-dynamicRenderingUnusedAttachments-08918YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is enabled, VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, and the value of VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the currently bound graphics pipeline was not equal to the VkFormat used to create VkRenderingInfo::pStencilAttachment->imageView, the value of the format must be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksIndirectNV-exclusiveScissor-09235YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the exclusiveScissor feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-filterCubic-02694YNoneexplicitvkCmdDrawMeshTasksIndirectNVAny VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have a VkImageViewType and format that supports cubic filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubic returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdDrawMeshTasksIndirectNV-filterCubicMinmax-02695YNoneexplicitvkCmdDrawMeshTasksIndirectNVAny VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdDrawMeshTasksIndirectNV-firstAttachment-07476YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic state enabled then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEnableEXT calls must specify an enable for all active color attachments in the current subpass
VUID-vkCmdDrawMeshTasksIndirectNV-firstAttachment-07477YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT dynamic state enabled then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled
VUID-vkCmdDrawMeshTasksIndirectNV-firstAttachment-07478YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT dynamic state enabled then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorWriteMaskEXT calls must specify the color write mask for all active color attachments in the current subpass
VUID-vkCmdDrawMeshTasksIndirectNV-firstAttachment-07479YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT dynamic state enabled then vkCmdSetColorBlendAdvancedEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendAdvancedEXT calls must specify the advanced blend equations for all active color attachments in the current subpass where blending is enabled
VUID-vkCmdDrawMeshTasksIndirectNV-flags-02696YNoneexplicitvkCmdDrawMeshTasksIndirectNVAny VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
VUID-vkCmdDrawMeshTasksIndirectNV-format-07753YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a VkImageView is accessed as a result of this command, then the numeric type of the image view's format and the Sampled Type operand of the OpTypeImage must match
VUID-vkCmdDrawMeshTasksIndirectNV-imageView-06172NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pDepthAttachment is not VK_NULL_HANDLE, and the layout member of pDepthAttachment is VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the depth attachment
VUID-vkCmdDrawMeshTasksIndirectNV-imageView-06173NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pStencilAttachment is not VK_NULL_HANDLE, and the layout member of pStencilAttachment is VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment
VUID-vkCmdDrawMeshTasksIndirectNV-imageView-06174NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pDepthAttachment is not VK_NULL_HANDLE, and the layout member of pDepthAttachment is VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this command must not write any values to the depth attachment
VUID-vkCmdDrawMeshTasksIndirectNV-imageView-06175NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pStencilAttachment is not VK_NULL_HANDLE, and the layout member of pStencilAttachment is VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment
VUID-vkCmdDrawMeshTasksIndirectNV-imageView-06176NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pDepthAttachment is not VK_NULL_HANDLE, and the layout member of pDepthAttachment is VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must not write any values to the depth attachment
VUID-vkCmdDrawMeshTasksIndirectNV-imageView-06177NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pStencilAttachment is not VK_NULL_HANDLE, and the layout member of pStencilAttachment is VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment
VUID-vkCmdDrawMeshTasksIndirectNV-imageView-06183YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
VUID-vkCmdDrawMeshTasksIndirectNV-imageView-06184YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
VUID-vkCmdDrawMeshTasksIndirectNV-logicOp-04878YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value
VUID-vkCmdDrawMeshTasksIndirectNV-magFilter-04553YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-magFilter-09598NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-maintenance4-08602YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the maintenance4 feature is not enabled, then for each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout and VkPushConstantRange arrays used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDrawMeshTasksIndirectNV-maxFragmentDualSrcAttachments-09239NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf blending is enabled for any attachment where either the source or destination blend factors for that attachment use the secondary color input, the maximum value of Location for any output attachment statically used in the Fragment Execution Model executed by this command must be less than maxFragmentDualSrcAttachments
VUID-vkCmdDrawMeshTasksIndirectNV-maxMultiviewInstanceIndex-02688YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
VUID-vkCmdDrawMeshTasksIndirectNV-mipmapMode-04770YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-mipmapMode-09599NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-multisampledRenderToSingleSampled-07284YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf rasterization is not disabled in the bound graphics pipeline, and none of the following is enabled: the VK_AMD_mixed_attachment_samples extension the VK_NV_framebuffer_mixed_samples extension the multisampledRenderToSingleSampled feature then rasterizationSamples for the currently bound graphics pipeline must be the same as the current subpass color and/or depth/stencil attachments
VUID-vkCmdDrawMeshTasksIndirectNV-multisampledRenderToSingleSampled-07285YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the currently bound pipeline was created without a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the multisampledRenderToSingleSampled feature is not enabled, and the current render pass instance was begun with vkCmdBeginRendering with a VkRenderingInfo::colorAttachmentCount parameter greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with a imageView not equal to VK_NULL_HANDLE must have been created with a sample count equal to the value of rasterizationSamples for the currently bound graphics pipeline
VUID-vkCmdDrawMeshTasksIndirectNV-multisampledRenderToSingleSampled-07286YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the currently bound pipeline was created without a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the multisampledRenderToSingleSampled feature is not enabled, and VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, the value of rasterizationSamples for the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pDepthAttachment->imageView
VUID-vkCmdDrawMeshTasksIndirectNV-multisampledRenderToSingleSampled-07287YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the currently bound pipeline was created without a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the multisampledRenderToSingleSampled feature is not enabled, and VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, the value of rasterizationSamples for the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pStencilAttachment->imageView
VUID-vkCmdDrawMeshTasksIndirectNV-offset-02710YNoneexplicitvkCmdDrawMeshTasksIndirectNVoffset must be a multiple of 4
VUID-vkCmdDrawMeshTasksIndirectNV-pColorAttachments-08963YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, there is a graphics pipeline bound with a fragment shader that statically writes to a color attachment, the color write mask is not zero, color writes are enabled, and the corresponding element of the VkRenderingInfo::pColorAttachments->imageView was not VK_NULL_HANDLE, then the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the pipeline must not be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksIndirectNV-pColorBlendEnables-07470YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT state enabled and the last call to vkCmdSetColorBlendEnableEXT set pColorBlendEnables for any attachment to VK_TRUE, then for those attachments in the subpass the corresponding image view's format features must contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-pDepthAttachment-06186YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound pipeline was created with a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, the value of the depthStencilAttachmentSamples member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV used to create the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pDepthAttachment->imageView
VUID-vkCmdDrawMeshTasksIndirectNV-pDepthAttachment-08964YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, there is a graphics pipeline bound, depth test is enabled, depth write is enabled, and the VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, then the VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the pipeline must not be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksIndirectNV-pDepthInputAttachmentIndex-09595NNoneexplicitvkCmdDrawMeshTasksIndirectNVInput attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.
VUID-vkCmdDrawMeshTasksIndirectNV-pDepthInputAttachmentIndex-09596NNoneexplicitvkCmdDrawMeshTasksIndirectNVInput attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.
VUID-vkCmdDrawMeshTasksIndirectNV-pDynamicStates-08715YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state includes a fragment shader stage, was created with VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE set in VkPipelineDynamicStateCreateInfo::pDynamicStates, and the fragment shader declares the EarlyFragmentTests execution mode and uses OpDepthAttachmentReadEXT, the depthWriteEnable parameter in the last call to vkCmdSetDepthWriteEnable must be VK_FALSE
VUID-vkCmdDrawMeshTasksIndirectNV-pDynamicStates-08716YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state includes a fragment shader stage, was created with VK_DYNAMIC_STATE_STENCIL_WRITE_MASK set in VkPipelineDynamicStateCreateInfo::pDynamicStates, and the fragment shader declares the EarlyFragmentTests execution mode and uses OpStencilAttachmentReadEXT, the writeMask parameter in the last call to vkCmdSetStencilWriteMask must be 0
VUID-vkCmdDrawMeshTasksIndirectNV-pFragmentSize-09370YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-pFragmentSize-09371YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-pNext-07935YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf this command has been called inside a render pass instance started with vkCmdBeginRendering, and the pNext chain of VkRenderingInfo includes a VkMultisampledRenderToSingleSampledInfoEXT structure with multisampledRenderToSingleSampledEnable equal to VK_TRUE, then the value of rasterizationSamples for the currently bound graphics pipeline must be equal to VkMultisampledRenderToSingleSampledInfoEXT::rasterizationSamples
VUID-vkCmdDrawMeshTasksIndirectNV-pStencilAttachment-06187YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound pipeline was created with a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, the value of the depthStencilAttachmentSamples member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV used to create the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pStencilAttachment->imageView
VUID-vkCmdDrawMeshTasksIndirectNV-pStencilAttachment-08965YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, there is a graphics pipeline bound, stencil test is enabled and the VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, then the VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the pipeline must not be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksIndirectNV-pipelineFragmentShadingRate-09238YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the pipelineFragmentShadingRate feature is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetFragmentShadingRateKHR must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-pipelineStatistics-07076NNoneexplicitvkCmdDrawMeshTasksIndirectNVThe pipelineStatistics member used to create any active Pipeline Statistics Query must not contain VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT, VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT, VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT, VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT, VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT, or VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-primitiveFragmentShadingRateWithMultipleViewports-04552YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must be 1
VUID-vkCmdDrawMeshTasksIndirectNV-primitiveFragmentShadingRateWithMultipleViewports-08642YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, and any shader object bound to a graphics stage writes to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must be 1
VUID-vkCmdDrawMeshTasksIndirectNV-primitivesGeneratedQueryWithNonZeroStreams-06709YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream
VUID-vkCmdDrawMeshTasksIndirectNV-primitivesGeneratedQueryWithNonZeroStreams-07481YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, and the bound graphics pipeline was created with VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT state enabled, the last call to vkCmdSetRasterizationStreamEXT must have set the rasterizationStream to zero
VUID-vkCmdDrawMeshTasksIndirectNV-primitivesGeneratedQueryWithRasterizerDiscard-06708YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the primitivesGeneratedQueryWithRasterizerDiscard feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, rasterization discard must not be enabled
VUID-vkCmdDrawMeshTasksIndirectNV-rasterizationSamples-07471YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, and the current subpass does not use any color and/or depth/stencil attachments, then the rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT must follow the rules for a zero-attachment subpass
VUID-vkCmdDrawMeshTasksIndirectNV-rasterizationSamples-07474YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, and neither the VK_AMD_mixed_attachment_samples nor the VK_NV_framebuffer_mixed_samples extensions are enabled, then the rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT must be the same as the current subpass color and/or depth/stencil attachments
VUID-vkCmdDrawMeshTasksIndirectNV-rasterizationSamples-07489NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and if current subpass has a depth/stencil attachment and depth test, stencil test, or depth bounds test are enabled in the currently bound pipeline state, then the current rasterizationSamples must be the same as the sample count of the depth/stencil attachment
VUID-vkCmdDrawMeshTasksIndirectNV-rasterizationSamples-07494NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and if the current subpass has any color attachments and rasterizationSamples of the last call to vkCmdSetRasterizationSamplesEXT is greater than the number of color samples, then the pipeline sampleShadingEnable must be VK_FALSE
VUID-vkCmdDrawMeshTasksIndirectNV-rasterizationSamples-09367YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetRasterizationSamplesEXT must have set rasterizationSamples to VK_SAMPLE_COUNT_1_BIT prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-rasterizerDiscardEnable-09236YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_EXT_discard_rectangles extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDiscardRectangleEnableEXT in the current command buffer set discardRectangleEnable to VK_TRUE, then vkCmdSetDiscardRectangleEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-rasterizerDiscardEnable-09416YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_EXT_blend_operation_advanced extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then at least one of vkCmdSetColorBlendEquationEXT and vkCmdSetColorBlendAdvancedEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-rasterizerDiscardEnable-09417YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEnableEXT calls must specify an enable for all active color attachments in the current subpass
VUID-vkCmdDrawMeshTasksIndirectNV-rasterizerDiscardEnable-09418YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled
VUID-vkCmdDrawMeshTasksIndirectNV-rasterizerDiscardEnable-09419YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorWriteMaskEXT calls must specify the color write mask for all active color attachments in the current subpass
VUID-vkCmdDrawMeshTasksIndirectNV-rasterizerDiscardEnable-09420YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_NV_fragment_coverage_to_color extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the last call to vkCmdSetCoverageToColorEnableNV set the coverageToColorEnable to VK_TRUE, then the current subpass must have a color attachment at the location selected by the last call to vkCmdSetCoverageToColorLocationNV coverageToColorLocation, with a VkFormat of VK_FORMAT_R8_UINT, VK_FORMAT_R8_SINT, VK_FORMAT_R16_UINT, VK_FORMAT_R16_SINT, VK_FORMAT_R32_UINT, or VK_FORMAT_R32_SINT
VUID-vkCmdDrawMeshTasksIndirectNV-reductionMode-09213NNoneexplicitvkCmdDrawMeshTasksIndirectNVAny VkImageView being sampled with a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM as a result of this command must sample with VK_FILTER_CUBIC_EXT
VUID-vkCmdDrawMeshTasksIndirectNV-renderPass-02684YNoneexplicitvkCmdDrawMeshTasksIndirectNVThe current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS
VUID-vkCmdDrawMeshTasksIndirectNV-renderPass-06198YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound pipeline must have been created with a VkGraphicsPipelineCreateInfo::renderPass equal to VK_NULL_HANDLE
VUID-vkCmdDrawMeshTasksIndirectNV-renderpassYNoneimplicitvkCmdDrawMeshTasksIndirectNVThis command must only be called inside of a render pass instance
VUID-vkCmdDrawMeshTasksIndirectNV-sampleLocationsEnable-02689YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set
VUID-vkCmdDrawMeshTasksIndirectNV-sampleLocationsEnable-07484YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set
VUID-vkCmdDrawMeshTasksIndirectNV-sampleLocationsEnable-07485YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and if sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, then the sampleLocationsInfo.sampleLocationGridSize.width in the last call to vkCmdSetSampleLocationsEXT must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.width as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling rasterizationSamples
VUID-vkCmdDrawMeshTasksIndirectNV-sampleLocationsEnable-07486YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and if sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, then the sampleLocationsInfo.sampleLocationGridSize.height in the last call to vkCmdSetSampleLocationsEXT must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.height as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling rasterizationSamples
VUID-vkCmdDrawMeshTasksIndirectNV-sampleLocationsEnable-07487YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and if sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, the fragment shader code must not statically use the extended instruction InterpolateAtSample
VUID-vkCmdDrawMeshTasksIndirectNV-sampleLocationsEnable-07936YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state disabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable in the bound graphics pipeline is VK_TRUE or VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, then, sampleLocationsInfo.sampleLocationGridSize.width must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.width as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling the value of rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawMeshTasksIndirectNV-sampleLocationsEnable-07937YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state disabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable in the bound graphics pipeline is VK_TRUE or VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, then, sampleLocationsInfo.sampleLocationGridSize.height must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.height as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling the value of rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawMeshTasksIndirectNV-sampleLocationsEnable-07938YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state disabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable in the bound graphics pipeline is VK_TRUE or VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, then, sampleLocationsInfo.sampleLocationsPerPixel must equal rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawMeshTasksIndirectNV-sampleLocationsPerPixel-07482YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state disabled, then the sampleLocationsPerPixel member of pSampleLocationsInfo in the last call to vkCmdSetSampleLocationsEXT must equal the rasterizationSamples member of the VkPipelineMultisampleStateCreateInfo structure the bound graphics pipeline has been created with
VUID-vkCmdDrawMeshTasksIndirectNV-sampleLocationsPerPixel-07483YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, then the sampleLocationsPerPixel member of pSampleLocationsInfo in the last call to vkCmdSetSampleLocationsEXT must equal the rasterizationSamples parameter of the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawMeshTasksIndirectNV-samples-07472YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_MASK_EXT state enabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state disabled, then the samples parameter in the last call to vkCmdSetSampleMaskEXT must be greater or equal to the VkPipelineMultisampleStateCreateInfo::rasterizationSamples parameter used to create the bound graphics pipeline
VUID-vkCmdDrawMeshTasksIndirectNV-samples-07473YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_MASK_EXT state and VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT states enabled, then the samples parameter in the last call to vkCmdSetSampleMaskEXT must be greater or equal to the rasterizationSamples parameter in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawMeshTasksIndirectNV-scissorCount-03418YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, then vkCmdSetScissorWithCount must have been called in the current command buffer prior to this drawing command, and the scissorCount parameter of vkCmdSetScissorWithCount must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline
VUID-vkCmdDrawMeshTasksIndirectNV-selectableCubicWeights-09214NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the selectableCubicWeights feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have VkSamplerCubicWeightsCreateInfoQCOM::cubicWeights equal to VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM
VUID-vkCmdDrawMeshTasksIndirectNV-shadingRateImage-09233YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoarseSampleOrderNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-shadingRateImage-09234YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetShadingRateImageEnableNV in the current command buffer set shadingRateImageEnable to VK_TRUE, then vkCmdSetViewportShadingRatePaletteNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksIndirectNV-sparseImageInt64Atomics-04474YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdDrawMeshTasksIndirectNV-sparseImageInt64Atomics-04475NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdDrawMeshTasksIndirectNV-stage-06480YNegativeMesh.DrawCmdsNVexplicitvkCmdDrawMeshTasksIndirectNVThe bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT
VUID-vkCmdDrawMeshTasksIndirectNV-stage-07073YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active
VUID-vkCmdDrawMeshTasksIndirectNV-stippledLineEnable-07495YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled
VUID-vkCmdDrawMeshTasksIndirectNV-stippledLineEnable-07496YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled
VUID-vkCmdDrawMeshTasksIndirectNV-stippledLineEnable-07497YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled
VUID-vkCmdDrawMeshTasksIndirectNV-stippledLineEnable-07498YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE
VUID-vkCmdDrawMeshTasksIndirectNV-storageBuffers-06936YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawMeshTasksIndirectNV-subpass-02685YNoneexplicitvkCmdDrawMeshTasksIndirectNVThe subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS
VUID-vkCmdDrawMeshTasksIndirectNV-uniformBuffers-06935YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawMeshTasksIndirectNV-videocodingYNoneimplicitvkCmdDrawMeshTasksIndirectNVThis command must only be called outside of a video coding scope
VUID-vkCmdDrawMeshTasksIndirectNV-viewMask-06178YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound graphics pipeline must have been created with a VkPipelineRenderingCreateInfo::viewMask equal to VkRenderingInfo::viewMask
VUID-vkCmdDrawMeshTasksIndirectNV-viewType-07752YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Instruction/Sampler/Image View Validation
VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-03417YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT dynamic state enabled, then vkCmdSetViewportWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline
VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-03419YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic states enabled then both vkCmdSetViewportWithCount and vkCmdSetScissorWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must match the scissorCount parameter of vkCmdSetScissorWithCount
VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-04137NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportWScalingStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-04138NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-04139NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-04140NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-07492NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportSwizzleStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-07493NNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportSwizzleNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksIndirectNV-viewportCount-09421YNoneexplicitvkCmdDrawMeshTasksIndirectNVIf the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then the viewportCount parameter in the last call to vkCmdSetViewportSwizzleNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksNV-ConstOffset-06551YNoneexplicitvkCmdDrawMeshTasksNVIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must not use the ConstOffset and Offset operands
VUID-vkCmdDrawMeshTasksNV-InputAttachmentIndex-09597NNoneexplicitvkCmdDrawMeshTasksNVIf an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.
VUID-vkCmdDrawMeshTasksNV-MeshNV-07080YNegativeMesh.DrawCmdsNVexplicitvkCmdDrawMeshTasksNVThe current pipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS must contain a shader stage using the MeshNV Execution Model
VUID-vkCmdDrawMeshTasksNV-None-02691YNoneexplicitvkCmdDrawMeshTasksNVIf a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
VUID-vkCmdDrawMeshTasksNV-None-02692YNoneexplicitvkCmdDrawMeshTasksNVIf a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
VUID-vkCmdDrawMeshTasksNV-None-02693YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_EXT_filter_cubic extension is not enabled and any VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, it must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
VUID-vkCmdDrawMeshTasksNV-None-04876YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE dynamic state enabled then vkCmdSetRasterizerDiscardEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-04877YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE dynamic state enabled then vkCmdSetDepthBiasEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-06479YNoneexplicitvkCmdDrawMeshTasksNVIf a VkImageView is sampled with depth comparison, the image view's format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT
VUID-vkCmdDrawMeshTasksNV-None-06537YNoneexplicitvkCmdDrawMeshTasksNVMemory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command
VUID-vkCmdDrawMeshTasksNV-None-06539YNoneexplicitvkCmdDrawMeshTasksNVIf any previously recorded command in the current subpass accessed an image subresource used as an attachment in this subpass in any way other than as an attachment, this command must not write to that image subresource as an attachment
VUID-vkCmdDrawMeshTasksNV-None-06550YNoneexplicitvkCmdDrawMeshTasksNVIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions
VUID-vkCmdDrawMeshTasksNV-None-06666YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT dynamic state enabled then vkCmdSetSampleLocationsEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-06886YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance uses a depth/stencil attachment with a read-only layout for the depth aspect, depth writes must be disabled
VUID-vkCmdDrawMeshTasksNV-None-06887YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance uses a depth/stencil attachment with a read-only layout for the stencil aspect, both front and back writeMask are not zero, and stencil test is enabled, all stencil ops must be VK_STENCIL_OP_KEEP
VUID-vkCmdDrawMeshTasksNV-None-07074YNoneexplicitvkCmdDrawMeshTasksNVTransform Feedback Queries must not be active
VUID-vkCmdDrawMeshTasksNV-None-07075YNoneexplicitvkCmdDrawMeshTasksNVPrimitives Generated Queries must not be active
VUID-vkCmdDrawMeshTasksNV-None-07288NNoneexplicitvkCmdDrawMeshTasksNVAny shader invocation executed by this command must terminate
VUID-vkCmdDrawMeshTasksNV-None-07469NNoneexplicitvkCmdDrawMeshTasksNVInput attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility
VUID-vkCmdDrawMeshTasksNV-None-07619YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled then vkCmdSetTessellationDomainOriginEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07620YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled then vkCmdSetDepthClampEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07621YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_POLYGON_MODE_EXT dynamic state enabled then vkCmdSetPolygonModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07622YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT dynamic state enabled then vkCmdSetRasterizationSamplesEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07623YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_MASK_EXT dynamic state enabled then vkCmdSetSampleMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07624YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT dynamic state enabled then vkCmdSetAlphaToCoverageEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07625YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT dynamic state enabled then vkCmdSetAlphaToOneEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07626YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT dynamic state enabled then vkCmdSetLogicOpEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07627YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic state enabled then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07628YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT dynamic state enabled then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07629YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT dynamic state enabled then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07630YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT dynamic state enabled then vkCmdSetRasterizationStreamEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07631YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT dynamic state enabled then vkCmdSetConservativeRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07632YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT dynamic state enabled then vkCmdSetExtraPrimitiveOverestimationSizeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07633YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT dynamic state enabled then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07634YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT dynamic state enabled then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07635YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT dynamic state enabled then vkCmdSetColorBlendAdvancedEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07636YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT dynamic state enabled then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07637YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic state enabled then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07638YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT dynamic state enabled then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07639YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT dynamic state enabled then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07640YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV dynamic state enabled then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07641YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV dynamic state enabled then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07642YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV dynamic state enabled then vkCmdSetCoverageToColorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07643YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV dynamic state enabled then vkCmdSetCoverageToColorLocationNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07644YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV dynamic state enabled then vkCmdSetCoverageModulationModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07645YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV dynamic state enabled then vkCmdSetCoverageModulationTableEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07646YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV dynamic state enabled then vkCmdSetCoverageModulationTableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07647YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV dynamic state enabled then vkCmdSetShadingRateImageEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07648YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV dynamic state enabled then vkCmdSetRepresentativeFragmentTestEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07649YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV dynamic state enabled then vkCmdSetCoverageReductionModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07748NNoneexplicitvkCmdDrawMeshTasksNVIf any shader statically accesses an input attachment, a valid descriptor must be bound to the pipeline via a descriptor set
VUID-vkCmdDrawMeshTasksNV-None-07749YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT dynamic state enabled then vkCmdSetColorWriteEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07751YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT dynamic state enabled then vkCmdSetDiscardRectangleEXT must have been called in the current command buffer prior to this drawing command for each discard rectangle in VkPipelineDiscardRectangleStateCreateInfoEXT::discardRectangleCount
VUID-vkCmdDrawMeshTasksNV-None-07831YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT dynamic state enabled then vkCmdSetViewport must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07832YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR dynamic state enabled then vkCmdSetScissor must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07833YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_WIDTH dynamic state enabled then vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07834YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07835YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_BLEND_CONSTANTS dynamic state enabled then vkCmdSetBlendConstants must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07836YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS dynamic state enabled, and if the current depthBoundsTestEnable state is VK_TRUE, then vkCmdSetDepthBounds must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07837YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK dynamic state enabled, and if the current stencilTestEnable state is VK_TRUE, then vkCmdSetStencilCompareMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07838YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_WRITE_MASK dynamic state enabled, and if the current stencilTestEnable state is VK_TRUE, then vkCmdSetStencilWriteMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07839YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_REFERENCE dynamic state enabled, and if the current stencilTestEnable state is VK_TRUE, then vkCmdSetStencilReference must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07840YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_CULL_MODE dynamic state enabled then vkCmdSetCullMode must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07841YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_FRONT_FACE dynamic state enabled then vkCmdSetFrontFace must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07843YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE dynamic state enabled then vkCmdSetDepthTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07844YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE dynamic state enabled then vkCmdSetDepthWriteEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07845YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_COMPARE_OP dynamic state enabled then vkCmdSetDepthCompareOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07846YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07847YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07848YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07849YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07850YNoneexplicitvkCmdDrawMeshTasksNVIf dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07878YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07879YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07880YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT dynamic state enabled then vkCmdSetDiscardRectangleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07881YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT dynamic state enabled then vkCmdSetDiscardRectangleModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-07888YNoneexplicitvkCmdDrawMeshTasksNVIf a VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer's format features must contain VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
VUID-vkCmdDrawMeshTasksNV-None-08114YNoneexplicitvkCmdDrawMeshTasksNVDescriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid as described by descriptor validity if they are statically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was not created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawMeshTasksNV-None-08115YNoneexplicitvkCmdDrawMeshTasksNVIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdBindDescriptorSets, the bound VkPipeline must have been created without VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawMeshTasksNV-None-08116NNoneexplicitvkCmdDrawMeshTasksNVDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawMeshTasksNV-None-08117YNoneexplicitvkCmdDrawMeshTasksNVIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdSetDescriptorBufferOffsetsEXT, the bound VkPipeline must have been created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdDrawMeshTasksNV-None-08119NNoneexplicitvkCmdDrawMeshTasksNVIf a descriptor is dynamically used with a VkPipeline created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdDrawMeshTasksNV-None-08600YNoneexplicitvkCmdDrawMeshTasksNVFor each set n that is statically used by a bound shader, a descriptor set must have been bound to n at the same pipeline bind point, with a VkPipelineLayout that is compatible for set n, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDrawMeshTasksNV-None-08601NNoneexplicitvkCmdDrawMeshTasksNVFor each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDrawMeshTasksNV-None-08604NNoneexplicitvkCmdDrawMeshTasksNVDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command
VUID-vkCmdDrawMeshTasksNV-None-08605NNoneexplicitvkCmdDrawMeshTasksNVIf a descriptor is dynamically used with a VkShaderEXT created with a VkDescriptorSetLayout that was created with VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdDrawMeshTasksNV-None-08606YNoneexplicitvkCmdDrawMeshTasksNVIf the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command
VUID-vkCmdDrawMeshTasksNV-None-08607YNoneexplicitvkCmdDrawMeshTasksNVIf the shaderObject is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command
VUID-vkCmdDrawMeshTasksNV-None-08608YNoneexplicitvkCmdDrawMeshTasksNVIf a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state not specified as dynamic in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound
VUID-vkCmdDrawMeshTasksNV-None-08609YNoneexplicitvkCmdDrawMeshTasksNVIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
VUID-vkCmdDrawMeshTasksNV-None-08610YNoneexplicitvkCmdDrawMeshTasksNVIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage
VUID-vkCmdDrawMeshTasksNV-None-08611YNoneexplicitvkCmdDrawMeshTasksNVIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage
VUID-vkCmdDrawMeshTasksNV-None-08612YNoneexplicitvkCmdDrawMeshTasksNVIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a uniform buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawMeshTasksNV-None-08613YNoneexplicitvkCmdDrawMeshTasksNVIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a storage buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawMeshTasksNV-None-08617YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08618YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08619YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08620YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDepthBiasEnable in the current command buffer set depthBiasEnable to VK_TRUE, vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08621YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetColorBlendEnableEXT in the current command buffer set any element of pColorBlendEnables to VK_TRUE, and the most recent call to vkCmdSetColorBlendEquationEXT in the current command buffer set the same element of pColorBlendEquations to a VkColorBlendEquationEXT structure with any VkBlendFactor member with a value of VK_BLEND_FACTOR_CONSTANT_COLOR, VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR, VK_BLEND_FACTOR_CONSTANT_ALPHA, or VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA, vkCmdSetBlendConstants must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08622YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDepthBoundsTestEnable in the current command buffer set depthBoundsTestEnable to VK_TRUE, then vkCmdSetDepthBounds must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08623YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, vkCmdSetStencilCompareMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08624YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, vkCmdSetStencilWriteMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08625YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, vkCmdSetStencilReference must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08626YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetSampleLocationsEnableEXT in the current command buffer set sampleLocationsEnable to VK_TRUE, then vkCmdSetSampleLocationsEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08627YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCullMode must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08628YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetFrontFace must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08629YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08630YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthWriteEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08631YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDepthTestEnable in the current command buffer set depthTestEnable to VK_TRUE, then vkCmdSetDepthCompareOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08632YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the depthBounds feature is enabled, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then the vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08633YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08634YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08635YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, then both vkCmdSetViewportWithCount and vkCmdSetScissorWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must match the scissorCount parameter of vkCmdSetScissorWithCount
VUID-vkCmdDrawMeshTasksNV-None-08636YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetViewportWScalingEnableNV in the current command buffer set viewportWScalingEnable to VK_TRUE, then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksNV-None-08637YNoneexplicitvkCmdDrawMeshTasksNVIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetShadingRateImageEnableNV in the current command buffer set shadingRateImageEnable to VK_TRUE, then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksNV-None-08638YNoneexplicitvkCmdDrawMeshTasksNVIf the exclusiveScissor feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetExclusiveScissorEnableNV in the current command buffer set any element of pExclusiveScissorEnables to VK_TRUE, then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08639YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, then vkCmdSetRasterizerDiscardEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08640YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthBiasEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08641YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLogicOpEnableEXT set logicOpEnable to VK_TRUE, then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value
VUID-vkCmdDrawMeshTasksNV-None-08643YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then for each color attachment in the render pass, if the corresponding image view's format features do not contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the corresponding member of pColorBlendEnables in the most recent call to vkCmdSetColorBlendEnableEXT in the current command buffer that affected that attachment index must have been VK_FALSE
VUID-vkCmdDrawMeshTasksNV-None-08644YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and none of the following is enabled: the VK_AMD_mixed_attachment_samples extension the VK_NV_framebuffer_mixed_samples extension the multisampledRenderToSingleSampled feature then the most recent call to vkCmdSetRasterizationSamplesEXT in the current command buffer must have set rasterizationSamples to be the same as the number of samples for the current render pass color and/or depth/stencil attachments
VUID-vkCmdDrawMeshTasksNV-None-08646YNoneexplicitvkCmdDrawMeshTasksNVIf the colorWriteEnable feature is enabled on the device, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08647YNoneexplicitvkCmdDrawMeshTasksNVIf the colorWriteEnable feature is enabled on the device, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then the attachmentCount parameter of most recent call to vkCmdSetColorWriteEnableEXT in the current command buffer must be greater than or equal to the number of color attachments in the current render pass instance
VUID-vkCmdDrawMeshTasksNV-None-08648YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_EXT_discard_rectangles extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDiscardRectangleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08649YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_EXT_discard_rectangles extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDiscardRectangleEnableEXT in the current command buffer set discardRectangleEnable to VK_TRUE, then vkCmdSetDiscardRectangleModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08650YNoneexplicitvkCmdDrawMeshTasksNVIf the depthClamp feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08651YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetPolygonModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08652YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetRasterizationSamplesEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08653YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08654YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetAlphaToCoverageEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08655YNoneexplicitvkCmdDrawMeshTasksNVIf the alphaToOne feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetAlphaToOneEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08656YNoneexplicitvkCmdDrawMeshTasksNVIf the logicOp feature is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLogicOpEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08657YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08658YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetColorBlendEnableEXT for any attachment set that attachment's value in pColorBlendEnables to VK_TRUE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08659YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08660YNoneexplicitvkCmdDrawMeshTasksNVIf the geometryStreams feature is enabled, and a shader object is bound to the VK_SHADER_STAGE_GEOMETRY_BIT stage, then vkCmdSetRasterizationStreamEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08661YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_EXT_conservative_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetConservativeRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08662YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_EXT_conservative_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetConservativeRasterizationModeEXT in the current command buffer set conservativeRasterizationMode to VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT, then vkCmdSetExtraPrimitiveOverestimationSizeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08663YNoneexplicitvkCmdDrawMeshTasksNVIf the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08664YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08665YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08666YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08667YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08668YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08669YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08670YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08671YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08672YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08673YNoneexplicitvkCmdDrawMeshTasksNVIf the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08674YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08675YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08676YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_NV_fragment_coverage_to_color extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoverageToColorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08677YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_NV_fragment_coverage_to_color extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetCoverageToColorEnableNV in the current command buffer set coverageToColorEnable to VK_TRUE, then vkCmdSetCoverageToColorLocationNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08678YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoverageModulationModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08679YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetCoverageModulationModeNV in the current command buffer set coverageModulationMode to any value other than VK_COVERAGE_MODULATION_MODE_NONE_NV, then vkCmdSetCoverageModulationTableEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08680YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetCoverageModulationTableEnableNV in the current command buffer set coverageModulationTableEnable to VK_TRUE, then vkCmdSetCoverageModulationTableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08681YNoneexplicitvkCmdDrawMeshTasksNVIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetShadingRateImageEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08682YNoneexplicitvkCmdDrawMeshTasksNVIf the representativeFragmentTest feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetRepresentativeFragmentTestEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08683YNoneexplicitvkCmdDrawMeshTasksNVIf the coverageReductionMode feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoverageReductionModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08684YNoneexplicitvkCmdDrawMeshTasksNVIf there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT
VUID-vkCmdDrawMeshTasksNV-None-08685YNoneexplicitvkCmdDrawMeshTasksNVIf there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT
VUID-vkCmdDrawMeshTasksNV-None-08686YNoneexplicitvkCmdDrawMeshTasksNVIf there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT
VUID-vkCmdDrawMeshTasksNV-None-08687YNoneexplicitvkCmdDrawMeshTasksNVIf there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT
VUID-vkCmdDrawMeshTasksNV-None-08688YNoneexplicitvkCmdDrawMeshTasksNVIf there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT
VUID-vkCmdDrawMeshTasksNV-None-08689YNoneexplicitvkCmdDrawMeshTasksNVIf there is no bound graphics pipeline, and the taskShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TASK_BIT_EXT
VUID-vkCmdDrawMeshTasksNV-None-08690YNoneexplicitvkCmdDrawMeshTasksNVIf there is no bound graphics pipeline, and the meshShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_MESH_BIT_EXT
VUID-vkCmdDrawMeshTasksNV-None-08693YNoneexplicitvkCmdDrawMeshTasksNVIf there is no bound graphics pipeline, and at least one of the taskShader and meshShader features is enabled, one of the VK_SHADER_STAGE_VERTEX_BIT or VK_SHADER_STAGE_MESH_BIT_EXT stages must have a valid VkShaderEXT bound, and the other must have no VkShaderEXT bound
VUID-vkCmdDrawMeshTasksNV-None-08694YNoneexplicitvkCmdDrawMeshTasksNVIf there is no bound graphics pipeline, and both the taskShader and meshShader features are enabled, and a valid VkShaderEXT is bound the to the VK_SHADER_STAGE_MESH_BIT_EXT stage, and that VkShaderEXT was created without the VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT flag, a valid VkShaderEXT must be bound to the VK_SHADER_STAGE_TASK_BIT_EXT stage
VUID-vkCmdDrawMeshTasksNV-None-08695YNoneexplicitvkCmdDrawMeshTasksNVIf there is no bound graphics pipeline, and both the taskShader and meshShader features are enabled, and a valid VkShaderEXT is bound the to the VK_SHADER_STAGE_MESH_BIT_EXT stage, and that VkShaderEXT was created with the VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT flag, there must be no VkShaderEXT bound to the VK_SHADER_STAGE_TASK_BIT_EXT stage
VUID-vkCmdDrawMeshTasksNV-None-08696YNoneexplicitvkCmdDrawMeshTasksNVIf there is no bound graphics pipeline, and a valid VkShaderEXT is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, there must be no VkShaderEXT bound to either the VK_SHADER_STAGE_TASK_BIT_EXT stage or the VK_SHADER_STAGE_MESH_BIT_EXT stage
VUID-vkCmdDrawMeshTasksNV-None-08698YNoneexplicitvkCmdDrawMeshTasksNVIf any graphics shader is bound which was created with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag, then all shaders created with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag in the same vkCreateShadersEXT call must also be bound
VUID-vkCmdDrawMeshTasksNV-None-08699YNoneexplicitvkCmdDrawMeshTasksNVIf any graphics shader is bound which was created with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag, any stages in between stages whose shaders which did not create a shader with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag as part of the same vkCreateShadersEXT call must not have any VkShaderEXT bound
VUID-vkCmdDrawMeshTasksNV-None-08876YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, the current render pass instance must have been begun with vkCmdBeginRendering
VUID-vkCmdDrawMeshTasksNV-None-08877YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT dynamic state vkCmdSetAttachmentFeedbackLoopEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-08878YNoneexplicitvkCmdDrawMeshTasksNVAll bound graphics shader objects must have been created with identical or identically defined push constant ranges
VUID-vkCmdDrawMeshTasksNV-None-08879YNoneexplicitvkCmdDrawMeshTasksNVAll bound graphics shader objects must have been created with identical or identically defined arrays of descriptor set layouts
VUID-vkCmdDrawMeshTasksNV-None-08880YNoneexplicitvkCmdDrawMeshTasksNVIf the attachmentFeedbackLoopDynamicState feature is enabled on the device, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetAttachmentFeedbackLoopEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-09000YNoneexplicitvkCmdDrawMeshTasksNVIf a color attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it is not in the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout, and either: the VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT is set on the currently bound pipeline or the last call to vkCmdSetAttachmentFeedbackLoopEnableEXT included VK_IMAGE_ASPECT_COLOR_BIT and there is no currently bound graphics pipeline or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT it must not be accessed in any way other than as an attachment by this command
VUID-vkCmdDrawMeshTasksNV-None-09001YNoneexplicitvkCmdDrawMeshTasksNVIf a depth attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it is not in the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout, and either: the VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT is set on the currently bound pipeline or the last call to vkCmdSetAttachmentFeedbackLoopEnableEXT included VK_IMAGE_ASPECT_DEPTH_BIT and there is no currently bound graphics pipeline or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT it must not be accessed in any way other than as an attachment by this command
VUID-vkCmdDrawMeshTasksNV-None-09002YNoneexplicitvkCmdDrawMeshTasksNVIf a stencil attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it is not in the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout, and either: the VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT is set on the currently bound pipeline or the last call to vkCmdSetAttachmentFeedbackLoopEnableEXT included VK_IMAGE_ASPECT_STENCIL_BIT and there is no currently bound graphics pipeline or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT it must not be accessed in any way other than as an attachment by this command
VUID-vkCmdDrawMeshTasksNV-None-09003YNoneexplicitvkCmdDrawMeshTasksNVIf an attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it must not be accessed in any way other than as an attachment, storage image, or sampled image by this command
VUID-vkCmdDrawMeshTasksNV-None-09116YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT, and the format of any color attachment is VK_FORMAT_E5B9G9R9_UFLOAT_PACK32, the corresponding element of the pColorWriteMasks parameter of vkCmdSetColorWriteMaskEXT must either include all of VK_COLOR_COMPONENT_R_BIT, VK_COLOR_COMPONENT_G_BIT, and VK_COLOR_COMPONENT_B_BIT, or none of them
VUID-vkCmdDrawMeshTasksNV-None-09211YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, or a shader object is bound to any graphics stage, and the current render pass instance includes a VkMultisampledRenderToSingleSampledInfoEXT structure with multisampledRenderToSingleSampledEnable equal to VK_TRUE, then the rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT must be the same as the rasterizationSamples member of that structure
VUID-vkCmdDrawMeshTasksNV-None-09232YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetViewportWScalingEnableNV in the current command buffer set viewportWScalingEnable to VK_TRUE, then vkCmdSetViewportWScalingNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-09237YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage, then vkCmdSetTessellationDomainOriginEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-09363YNoneexplicitvkCmdDrawMeshTasksNVIf there is no shader object bound to any graphics stage, the current render pass instance was begun with vkCmdBeginRendering and a VkRenderingInfo::colorAttachmentCount equal to 1, and a color attachment with a resolve mode of VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, each element of the VkRenderingInfo::pColorAttachments array with a imageView not equal to VK_NULL_HANDLE must have been created with an image created with a VkExternalFormatANDROID::externalFormat value equal to the VkExternalFormatANDROID::externalFormat value used to create the currently bound graphics pipeline
VUID-vkCmdDrawMeshTasksNV-None-09364YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic state enabled, then vkCmdSetColorBlendEnableEXT must have set the blend enable to VK_FALSE prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-09365YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT dynamic state enabled, then vkCmdSetRasterizationSamplesEXT must have set rasterizationSamples to VK_SAMPLE_COUNT_1_BIT prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-09366YNoneexplicitvkCmdDrawMeshTasksNVIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-09368YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-09369YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-None-09548YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline
VUID-vkCmdDrawMeshTasksNV-None-09549YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR
VUID-vkCmdDrawMeshTasksNV-None-09600NNoneexplicitvkCmdDrawMeshTasksNVIf a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written
VUID-vkCmdDrawMeshTasksNV-OpImageBlockMatchSADQCOM-06975NNoneexplicitvkCmdDrawMeshTasksNVIf OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDrawMeshTasksNV-OpImageBlockMatchSADQCOM-06976NNoneexplicitvkCmdDrawMeshTasksNVIf OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdDrawMeshTasksNV-OpImageBlockMatchSSDQCOM-06974NNoneexplicitvkCmdDrawMeshTasksNVIf OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDrawMeshTasksNV-OpImageBlockMatchWindow-09215NNoneexplicitvkCmdDrawMeshTasksNVIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdDrawMeshTasksNV-OpImageBlockMatchWindow-09216NNoneexplicitvkCmdDrawMeshTasksNVIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format must be a single-component format.
VUID-vkCmdDrawMeshTasksNV-OpImageBlockMatchWindow-09217NNoneexplicitvkCmdDrawMeshTasksNVIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdDrawMeshTasksNV-OpImageBoxFilterQCOM-06973NNoneexplicitvkCmdDrawMeshTasksNVIf OpImageBoxFilterQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM
VUID-vkCmdDrawMeshTasksNV-OpImageWeightedSampleQCOM-06971NNoneexplicitvkCmdDrawMeshTasksNVIf OpImageWeightedSampleQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM
VUID-vkCmdDrawMeshTasksNV-OpImageWeightedSampleQCOM-06972NNoneexplicitvkCmdDrawMeshTasksNVIf OpImageWeightedSampleQCOM uses a VkImageView as a sample weight image as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM
VUID-vkCmdDrawMeshTasksNV-OpImageWeightedSampleQCOM-06977NNoneexplicitvkCmdDrawMeshTasksNVIf OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdDrawMeshTasksNV-OpImageWeightedSampleQCOM-06978NNoneexplicitvkCmdDrawMeshTasksNVIf any command other than OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must not have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdDrawMeshTasksNV-OpImageWrite-04469YNoneexplicitvkCmdDrawMeshTasksNVIf a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format
VUID-vkCmdDrawMeshTasksNV-OpImageWrite-08795YNoneexplicitvkCmdDrawMeshTasksNVIf a VkImageView created with a format other than VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format
VUID-vkCmdDrawMeshTasksNV-OpImageWrite-08796YNoneexplicitvkCmdDrawMeshTasksNVIf a VkImageView created with the format VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have four components
VUID-vkCmdDrawMeshTasksNV-OpTypeImage-07027YNoneexplicitvkCmdDrawMeshTasksNVFor any VkImageView being written as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawMeshTasksNV-OpTypeImage-07028YNoneexplicitvkCmdDrawMeshTasksNVFor any VkImageView being read as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawMeshTasksNV-OpTypeImage-07029YNoneexplicitvkCmdDrawMeshTasksNVFor any VkBufferView being written as a storage texel buffer where the image format field of the OpTypeImage is Unknown, the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawMeshTasksNV-OpTypeImage-07030YNoneexplicitvkCmdDrawMeshTasksNVAny VkBufferView being read as a storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdDrawMeshTasksNV-OpTypeImage-07468NNoneexplicitvkCmdDrawMeshTasksNVIf any shader executed by this pipeline accesses an OpTypeImage variable with a Dim operand of SubpassData, it must be decorated with an InputAttachmentIndex that corresponds to a valid input attachment in the current subpass
VUID-vkCmdDrawMeshTasksNV-SampledType-04470YNoneexplicitvkCmdDrawMeshTasksNVIf a VkImageView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdDrawMeshTasksNV-SampledType-04471YNoneexplicitvkCmdDrawMeshTasksNVIf a VkImageView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdDrawMeshTasksNV-SampledType-04472YNoneexplicitvkCmdDrawMeshTasksNVIf a VkBufferView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdDrawMeshTasksNV-SampledType-04473YNoneexplicitvkCmdDrawMeshTasksNVIf a VkBufferView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdDrawMeshTasksNV-VkPipelineVieportCreateInfo-04141NNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled and a VkPipelineViewportSwizzleStateCreateInfoNV structure chained from VkPipelineViewportStateCreateInfo, then the bound graphics pipeline must have been created with VkPipelineViewportSwizzleStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksNV-VkPipelineVieportCreateInfo-04142NNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled and a VkPipelineViewportExclusiveScissorStateCreateInfoNV structure chained from VkPipelineViewportStateCreateInfo, then the bound graphics pipeline must have been created with VkPipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksNV-advancedBlendMaxColorAttachments-07480YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT and VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic states enabled and the last calls to vkCmdSetColorBlendEnableEXT and vkCmdSetColorBlendAdvancedEXT have enabled advanced blending, then the number of active color attachments in the current subpass must not exceed advancedBlendMaxColorAttachments
VUID-vkCmdDrawMeshTasksNV-alphaToCoverageEnable-08919YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT dynamic state enabled, and alphaToCoverageEnable was VK_TRUE in the last call to vkCmdSetAlphaToCoverageEnableEXT, then the Fragment Output Interface must contain a variable for the alpha Component word in Location 0 at Index 0
VUID-vkCmdDrawMeshTasksNV-alphaToCoverageEnable-08920YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetAlphaToCoverageEnableEXT in the current command buffer set alphaToCoverageEnable to VK_TRUE, then the Fragment Output Interface must contain a variable for the alpha Component word in Location 0 at Index 0
VUID-vkCmdDrawMeshTasksNV-attachmentCount-07750YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT dynamic state enabled then the attachmentCount parameter of vkCmdSetColorWriteEnableEXT must be greater than or equal to the VkPipelineColorBlendStateCreateInfo::attachmentCount of the currently bound graphics pipeline
VUID-vkCmdDrawMeshTasksNV-blendEnable-04727YNoneexplicitvkCmdDrawMeshTasksNVIf rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view's format features do not contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the blendEnable member of the corresponding element of the pAttachments member of pColorBlendState must be VK_FALSE
VUID-vkCmdDrawMeshTasksNV-colorAttachmentCount-06179YNoneexplicitvkCmdDrawMeshTasksNVIf the dynamicRenderingUnusedAttachments feature is not enabled and the current render pass instance was begun with vkCmdBeginRendering, the currently bound graphics pipeline must have been created with a VkPipelineRenderingCreateInfo::colorAttachmentCount equal to VkRenderingInfo::colorAttachmentCount
VUID-vkCmdDrawMeshTasksNV-colorAttachmentCount-06185YNoneexplicitvkCmdDrawMeshTasksNVIf the currently bound pipeline was created with a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the current render pass instance was begun with vkCmdBeginRendering with a VkRenderingInfo::colorAttachmentCount parameter greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with a imageView not equal to VK_NULL_HANDLE must have been created with a sample count equal to the corresponding element of the pColorAttachmentSamples member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV used to create the currently bound graphics pipeline
VUID-vkCmdDrawMeshTasksNV-colorAttachmentCount-09362YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, with a VkRenderingInfo::colorAttachmentCount equal to 1, there is no shader object bound to any graphics stage, and a color attachment with a resolve mode of VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, each element of the VkRenderingInfo::pColorAttachments array with a resolveImageView not equal to VK_NULL_HANDLE must have been created with an image created with a VkExternalFormatANDROID::externalFormat value equal to the VkExternalFormatANDROID::externalFormat value used to create the currently bound graphics pipeline
VUID-vkCmdDrawMeshTasksNV-colorAttachmentCount-09372YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering and a VkRenderingInfo::colorAttachmentCount equal to 1, a color attachment with a resolve mode of VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, and a fragment shader is bound, it must not declare the DepthReplacing or StencilRefReplacingEXT execution modes
VUID-vkCmdDrawMeshTasksNV-commandBuffer-02707YNoneexplicitvkCmdDrawMeshTasksNVIf commandBuffer is an unprotected command buffer and protectedNoFault is not supported, any resource accessed by bound shaders must not be a protected resource
VUID-vkCmdDrawMeshTasksNV-commandBuffer-cmdpoolYNoneimplicitvkCmdDrawMeshTasksNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdDrawMeshTasksNV-commandBuffer-parameterYNoneimplicitvkCmdDrawMeshTasksNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdDrawMeshTasksNV-commandBuffer-recordingYNoneimplicitvkCmdDrawMeshTasksNVcommandBuffer must be in the recording state
VUID-vkCmdDrawMeshTasksNV-conservativePointAndLineRasterization-07499YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT dynamic state enabled, conservativePointAndLineRasterization is not supported, and the effective primitive topology output by the last pre-rasterization shader stage is a line or point, then the conservativeRasterizationMode set by the last call to vkCmdSetConservativeRasterizationModeEXT must be VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT
VUID-vkCmdDrawMeshTasksNV-coverageModulationTableEnable-07488NNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to any graphics stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV state enabled, and the last call to vkCmdSetCoverageModulationTableEnableNV set coverageModulationTableEnable to VK_TRUE, then the coverageModulationTableCount parameter in the last call to vkCmdSetCoverageModulationTableNV must equal the current rasterizationSamples divided by the number of color samples in the current subpass
VUID-vkCmdDrawMeshTasksNV-coverageReductionMode-07491NNoneexplicitvkCmdDrawMeshTasksNVIf this VK_NV_coverage_reduction_mode extension is enabled, the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV and VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT states enabled, the current coverage reduction mode coverageReductionMode, then the current rasterizationSamples, and the sample counts for the color and depth/stencil attachments (if the subpass has them) must be a valid combination returned by vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
VUID-vkCmdDrawMeshTasksNV-coverageToColorEnable-07490NNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV state enabled and the last call to vkCmdSetCoverageToColorEnableNV set the coverageToColorEnable to VK_TRUE, then the current subpass must have a color attachment at the location selected by the last call to vkCmdSetCoverageToColorLocationNV coverageToColorLocation, with a VkFormat of VK_FORMAT_R8_UINT, VK_FORMAT_R8_SINT, VK_FORMAT_R16_UINT, VK_FORMAT_R16_SINT, VK_FORMAT_R32_UINT, or VK_FORMAT_R32_SINT
VUID-vkCmdDrawMeshTasksNV-cubicRangeClamp-09212NNoneexplicitvkCmdDrawMeshTasksNVIf the cubicRangeClamp feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must not have a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM
VUID-vkCmdDrawMeshTasksNV-dynamicRenderingUnusedAttachments-08910YNoneexplicitvkCmdDrawMeshTasksNVIf the dynamicRenderingUnusedAttachments feature is not enabled, and the current render pass instance was begun with vkCmdBeginRendering and VkRenderingInfo::colorAttachmentCount greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with an imageView not equal to VK_NULL_HANDLE must have been created with a VkFormat equal to the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the currently bound graphics pipeline
VUID-vkCmdDrawMeshTasksNV-dynamicRenderingUnusedAttachments-08911YNoneexplicitvkCmdDrawMeshTasksNVIf the dynamicRenderingUnusedAttachments feature is enabled, and the current render pass instance was begun with vkCmdBeginRendering and VkRenderingInfo::colorAttachmentCount greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with an imageView not equal to VK_NULL_HANDLE must have been created with a VkFormat equal to the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the currently bound graphics pipeline, or the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats, if it exists, must be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksNV-dynamicRenderingUnusedAttachments-08912YNoneexplicitvkCmdDrawMeshTasksNVIf the dynamicRenderingUnusedAttachments feature is not enabled, and the current render pass instance was begun with vkCmdBeginRendering and VkRenderingInfo::colorAttachmentCount greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with an imageView equal to VK_NULL_HANDLE must have the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the currently bound pipeline equal to VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksNV-dynamicRenderingUnusedAttachments-08913YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pDepthAttachment->imageView was VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the currently bound graphics pipeline must be equal to VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksNV-dynamicRenderingUnusedAttachments-08914YNoneexplicitvkCmdDrawMeshTasksNVIf current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the currently bound graphics pipeline must be equal to the VkFormat used to create VkRenderingInfo::pDepthAttachment->imageView
VUID-vkCmdDrawMeshTasksNV-dynamicRenderingUnusedAttachments-08915YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is enabled, VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, and the value of VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the currently bound graphics pipeline was not equal to the VkFormat used to create VkRenderingInfo::pDepthAttachment->imageView, the value of the format must be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksNV-dynamicRenderingUnusedAttachments-08916YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pStencilAttachment->imageView was VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the currently bound graphics pipeline must be equal to VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksNV-dynamicRenderingUnusedAttachments-08917YNoneexplicitvkCmdDrawMeshTasksNVIf current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the currently bound graphics pipeline must be equal to the VkFormat used to create VkRenderingInfo::pStencilAttachment->imageView
VUID-vkCmdDrawMeshTasksNV-dynamicRenderingUnusedAttachments-08918YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is enabled, VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, and the value of VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the currently bound graphics pipeline was not equal to the VkFormat used to create VkRenderingInfo::pStencilAttachment->imageView, the value of the format must be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksNV-exclusiveScissor-09235YNoneexplicitvkCmdDrawMeshTasksNVIf the exclusiveScissor feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-filterCubic-02694YNoneexplicitvkCmdDrawMeshTasksNVAny VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have a VkImageViewType and format that supports cubic filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubic returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdDrawMeshTasksNV-filterCubicMinmax-02695YNoneexplicitvkCmdDrawMeshTasksNVAny VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdDrawMeshTasksNV-firstAttachment-07476YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic state enabled then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEnableEXT calls must specify an enable for all active color attachments in the current subpass
VUID-vkCmdDrawMeshTasksNV-firstAttachment-07477YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT dynamic state enabled then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled
VUID-vkCmdDrawMeshTasksNV-firstAttachment-07478YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT dynamic state enabled then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorWriteMaskEXT calls must specify the color write mask for all active color attachments in the current subpass
VUID-vkCmdDrawMeshTasksNV-firstAttachment-07479YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT dynamic state enabled then vkCmdSetColorBlendAdvancedEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendAdvancedEXT calls must specify the advanced blend equations for all active color attachments in the current subpass where blending is enabled
VUID-vkCmdDrawMeshTasksNV-flags-02696YNoneexplicitvkCmdDrawMeshTasksNVAny VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
VUID-vkCmdDrawMeshTasksNV-format-07753YNoneexplicitvkCmdDrawMeshTasksNVIf a VkImageView is accessed as a result of this command, then the numeric type of the image view's format and the Sampled Type operand of the OpTypeImage must match
VUID-vkCmdDrawMeshTasksNV-imageView-06172NNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pDepthAttachment is not VK_NULL_HANDLE, and the layout member of pDepthAttachment is VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the depth attachment
VUID-vkCmdDrawMeshTasksNV-imageView-06173NNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pStencilAttachment is not VK_NULL_HANDLE, and the layout member of pStencilAttachment is VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment
VUID-vkCmdDrawMeshTasksNV-imageView-06174NNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pDepthAttachment is not VK_NULL_HANDLE, and the layout member of pDepthAttachment is VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this command must not write any values to the depth attachment
VUID-vkCmdDrawMeshTasksNV-imageView-06175NNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pStencilAttachment is not VK_NULL_HANDLE, and the layout member of pStencilAttachment is VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment
VUID-vkCmdDrawMeshTasksNV-imageView-06176NNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pDepthAttachment is not VK_NULL_HANDLE, and the layout member of pDepthAttachment is VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must not write any values to the depth attachment
VUID-vkCmdDrawMeshTasksNV-imageView-06177NNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pStencilAttachment is not VK_NULL_HANDLE, and the layout member of pStencilAttachment is VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment
VUID-vkCmdDrawMeshTasksNV-imageView-06183YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
VUID-vkCmdDrawMeshTasksNV-imageView-06184YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
VUID-vkCmdDrawMeshTasksNV-logicOp-04878YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value
VUID-vkCmdDrawMeshTasksNV-magFilter-04553YNoneexplicitvkCmdDrawMeshTasksNVIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdDrawMeshTasksNV-magFilter-09598NNoneexplicitvkCmdDrawMeshTasksNVIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdDrawMeshTasksNV-maintenance4-08602YNoneexplicitvkCmdDrawMeshTasksNVIf the maintenance4 feature is not enabled, then for each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout and VkPushConstantRange arrays used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdDrawMeshTasksNV-maxFragmentDualSrcAttachments-09239NNoneexplicitvkCmdDrawMeshTasksNVIf blending is enabled for any attachment where either the source or destination blend factors for that attachment use the secondary color input, the maximum value of Location for any output attachment statically used in the Fragment Execution Model executed by this command must be less than maxFragmentDualSrcAttachments
VUID-vkCmdDrawMeshTasksNV-maxMultiviewInstanceIndex-02688YNoneexplicitvkCmdDrawMeshTasksNVIf the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
VUID-vkCmdDrawMeshTasksNV-mipmapMode-04770YNoneexplicitvkCmdDrawMeshTasksNVIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdDrawMeshTasksNV-mipmapMode-09599NNoneexplicitvkCmdDrawMeshTasksNVIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdDrawMeshTasksNV-multisampledRenderToSingleSampled-07284YNoneexplicitvkCmdDrawMeshTasksNVIf rasterization is not disabled in the bound graphics pipeline, and none of the following is enabled: the VK_AMD_mixed_attachment_samples extension the VK_NV_framebuffer_mixed_samples extension the multisampledRenderToSingleSampled feature then rasterizationSamples for the currently bound graphics pipeline must be the same as the current subpass color and/or depth/stencil attachments
VUID-vkCmdDrawMeshTasksNV-multisampledRenderToSingleSampled-07285YNoneexplicitvkCmdDrawMeshTasksNVIf the currently bound pipeline was created without a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the multisampledRenderToSingleSampled feature is not enabled, and the current render pass instance was begun with vkCmdBeginRendering with a VkRenderingInfo::colorAttachmentCount parameter greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with a imageView not equal to VK_NULL_HANDLE must have been created with a sample count equal to the value of rasterizationSamples for the currently bound graphics pipeline
VUID-vkCmdDrawMeshTasksNV-multisampledRenderToSingleSampled-07286YNoneexplicitvkCmdDrawMeshTasksNVIf the currently bound pipeline was created without a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the multisampledRenderToSingleSampled feature is not enabled, and VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, the value of rasterizationSamples for the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pDepthAttachment->imageView
VUID-vkCmdDrawMeshTasksNV-multisampledRenderToSingleSampled-07287YNoneexplicitvkCmdDrawMeshTasksNVIf the currently bound pipeline was created without a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the multisampledRenderToSingleSampled feature is not enabled, and VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, the value of rasterizationSamples for the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pStencilAttachment->imageView
VUID-vkCmdDrawMeshTasksNV-pColorAttachments-08963YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, there is a graphics pipeline bound with a fragment shader that statically writes to a color attachment, the color write mask is not zero, color writes are enabled, and the corresponding element of the VkRenderingInfo::pColorAttachments->imageView was not VK_NULL_HANDLE, then the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the pipeline must not be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksNV-pColorBlendEnables-07470YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT state enabled and the last call to vkCmdSetColorBlendEnableEXT set pColorBlendEnables for any attachment to VK_TRUE, then for those attachments in the subpass the corresponding image view's format features must contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
VUID-vkCmdDrawMeshTasksNV-pDepthAttachment-06186YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound pipeline was created with a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, the value of the depthStencilAttachmentSamples member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV used to create the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pDepthAttachment->imageView
VUID-vkCmdDrawMeshTasksNV-pDepthAttachment-08964YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, there is a graphics pipeline bound, depth test is enabled, depth write is enabled, and the VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, then the VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the pipeline must not be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksNV-pDepthInputAttachmentIndex-09595NNoneexplicitvkCmdDrawMeshTasksNVInput attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.
VUID-vkCmdDrawMeshTasksNV-pDepthInputAttachmentIndex-09596NNoneexplicitvkCmdDrawMeshTasksNVInput attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.
VUID-vkCmdDrawMeshTasksNV-pDynamicStates-08715YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state includes a fragment shader stage, was created with VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE set in VkPipelineDynamicStateCreateInfo::pDynamicStates, and the fragment shader declares the EarlyFragmentTests execution mode and uses OpDepthAttachmentReadEXT, the depthWriteEnable parameter in the last call to vkCmdSetDepthWriteEnable must be VK_FALSE
VUID-vkCmdDrawMeshTasksNV-pDynamicStates-08716YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state includes a fragment shader stage, was created with VK_DYNAMIC_STATE_STENCIL_WRITE_MASK set in VkPipelineDynamicStateCreateInfo::pDynamicStates, and the fragment shader declares the EarlyFragmentTests execution mode and uses OpStencilAttachmentReadEXT, the writeMask parameter in the last call to vkCmdSetStencilWriteMask must be 0
VUID-vkCmdDrawMeshTasksNV-pFragmentSize-09370YNoneexplicitvkCmdDrawMeshTasksNVIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-pFragmentSize-09371YNoneexplicitvkCmdDrawMeshTasksNVIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-pNext-07935YNoneexplicitvkCmdDrawMeshTasksNVIf this command has been called inside a render pass instance started with vkCmdBeginRendering, and the pNext chain of VkRenderingInfo includes a VkMultisampledRenderToSingleSampledInfoEXT structure with multisampledRenderToSingleSampledEnable equal to VK_TRUE, then the value of rasterizationSamples for the currently bound graphics pipeline must be equal to VkMultisampledRenderToSingleSampledInfoEXT::rasterizationSamples
VUID-vkCmdDrawMeshTasksNV-pStencilAttachment-06187YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound pipeline was created with a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, the value of the depthStencilAttachmentSamples member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV used to create the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pStencilAttachment->imageView
VUID-vkCmdDrawMeshTasksNV-pStencilAttachment-08965YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, there is a graphics pipeline bound, stencil test is enabled and the VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, then the VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the pipeline must not be VK_FORMAT_UNDEFINED
VUID-vkCmdDrawMeshTasksNV-pipelineFragmentShadingRate-09238YNoneexplicitvkCmdDrawMeshTasksNVIf the pipelineFragmentShadingRate feature is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetFragmentShadingRateKHR must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-pipelineStatistics-07076NNoneexplicitvkCmdDrawMeshTasksNVThe pipelineStatistics member used to create any active Pipeline Statistics Query must not contain VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_VERTICES_BIT, VK_QUERY_PIPELINE_STATISTIC_INPUT_ASSEMBLY_PRIMITIVES_BIT, VK_QUERY_PIPELINE_STATISTIC_VERTEX_SHADER_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_GEOMETRY_SHADER_PRIMITIVES_BIT, VK_QUERY_PIPELINE_STATISTIC_CLIPPING_INVOCATIONS_BIT, VK_QUERY_PIPELINE_STATISTIC_CLIPPING_PRIMITIVES_BIT, VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_CONTROL_SHADER_PATCHES_BIT, or VK_QUERY_PIPELINE_STATISTIC_TESSELLATION_EVALUATION_SHADER_INVOCATIONS_BIT
VUID-vkCmdDrawMeshTasksNV-primitiveFragmentShadingRateWithMultipleViewports-04552YNoneexplicitvkCmdDrawMeshTasksNVIf the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must be 1
VUID-vkCmdDrawMeshTasksNV-primitiveFragmentShadingRateWithMultipleViewports-08642YNoneexplicitvkCmdDrawMeshTasksNVIf the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, and any shader object bound to a graphics stage writes to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must be 1
VUID-vkCmdDrawMeshTasksNV-primitivesGeneratedQueryWithNonZeroStreams-06709YNoneexplicitvkCmdDrawMeshTasksNVIf the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream
VUID-vkCmdDrawMeshTasksNV-primitivesGeneratedQueryWithNonZeroStreams-07481YNoneexplicitvkCmdDrawMeshTasksNVIf the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, and the bound graphics pipeline was created with VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT state enabled, the last call to vkCmdSetRasterizationStreamEXT must have set the rasterizationStream to zero
VUID-vkCmdDrawMeshTasksNV-primitivesGeneratedQueryWithRasterizerDiscard-06708YNoneexplicitvkCmdDrawMeshTasksNVIf the primitivesGeneratedQueryWithRasterizerDiscard feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, rasterization discard must not be enabled
VUID-vkCmdDrawMeshTasksNV-rasterizationSamples-07471YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, and the current subpass does not use any color and/or depth/stencil attachments, then the rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT must follow the rules for a zero-attachment subpass
VUID-vkCmdDrawMeshTasksNV-rasterizationSamples-07474YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, and neither the VK_AMD_mixed_attachment_samples nor the VK_NV_framebuffer_mixed_samples extensions are enabled, then the rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT must be the same as the current subpass color and/or depth/stencil attachments
VUID-vkCmdDrawMeshTasksNV-rasterizationSamples-07489NNoneexplicitvkCmdDrawMeshTasksNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and if current subpass has a depth/stencil attachment and depth test, stencil test, or depth bounds test are enabled in the currently bound pipeline state, then the current rasterizationSamples must be the same as the sample count of the depth/stencil attachment
VUID-vkCmdDrawMeshTasksNV-rasterizationSamples-07494NNoneexplicitvkCmdDrawMeshTasksNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and if the current subpass has any color attachments and rasterizationSamples of the last call to vkCmdSetRasterizationSamplesEXT is greater than the number of color samples, then the pipeline sampleShadingEnable must be VK_FALSE
VUID-vkCmdDrawMeshTasksNV-rasterizationSamples-09367YNoneexplicitvkCmdDrawMeshTasksNVIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetRasterizationSamplesEXT must have set rasterizationSamples to VK_SAMPLE_COUNT_1_BIT prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-rasterizerDiscardEnable-09236YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_EXT_discard_rectangles extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDiscardRectangleEnableEXT in the current command buffer set discardRectangleEnable to VK_TRUE, then vkCmdSetDiscardRectangleEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-rasterizerDiscardEnable-09416YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_EXT_blend_operation_advanced extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then at least one of vkCmdSetColorBlendEquationEXT and vkCmdSetColorBlendAdvancedEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-rasterizerDiscardEnable-09417YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEnableEXT calls must specify an enable for all active color attachments in the current subpass
VUID-vkCmdDrawMeshTasksNV-rasterizerDiscardEnable-09418YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled
VUID-vkCmdDrawMeshTasksNV-rasterizerDiscardEnable-09419YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorWriteMaskEXT calls must specify the color write mask for all active color attachments in the current subpass
VUID-vkCmdDrawMeshTasksNV-rasterizerDiscardEnable-09420YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_NV_fragment_coverage_to_color extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the last call to vkCmdSetCoverageToColorEnableNV set the coverageToColorEnable to VK_TRUE, then the current subpass must have a color attachment at the location selected by the last call to vkCmdSetCoverageToColorLocationNV coverageToColorLocation, with a VkFormat of VK_FORMAT_R8_UINT, VK_FORMAT_R8_SINT, VK_FORMAT_R16_UINT, VK_FORMAT_R16_SINT, VK_FORMAT_R32_UINT, or VK_FORMAT_R32_SINT
VUID-vkCmdDrawMeshTasksNV-reductionMode-09213NNoneexplicitvkCmdDrawMeshTasksNVAny VkImageView being sampled with a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM as a result of this command must sample with VK_FILTER_CUBIC_EXT
VUID-vkCmdDrawMeshTasksNV-renderPass-02684YNoneexplicitvkCmdDrawMeshTasksNVThe current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS
VUID-vkCmdDrawMeshTasksNV-renderPass-06198YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound pipeline must have been created with a VkGraphicsPipelineCreateInfo::renderPass equal to VK_NULL_HANDLE
VUID-vkCmdDrawMeshTasksNV-renderpassYNoneimplicitvkCmdDrawMeshTasksNVThis command must only be called inside of a render pass instance
VUID-vkCmdDrawMeshTasksNV-sampleLocationsEnable-02689YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set
VUID-vkCmdDrawMeshTasksNV-sampleLocationsEnable-07484YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set
VUID-vkCmdDrawMeshTasksNV-sampleLocationsEnable-07485YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and if sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, then the sampleLocationsInfo.sampleLocationGridSize.width in the last call to vkCmdSetSampleLocationsEXT must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.width as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling rasterizationSamples
VUID-vkCmdDrawMeshTasksNV-sampleLocationsEnable-07486YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and if sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, then the sampleLocationsInfo.sampleLocationGridSize.height in the last call to vkCmdSetSampleLocationsEXT must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.height as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling rasterizationSamples
VUID-vkCmdDrawMeshTasksNV-sampleLocationsEnable-07487YNoneexplicitvkCmdDrawMeshTasksNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and if sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, the fragment shader code must not statically use the extended instruction InterpolateAtSample
VUID-vkCmdDrawMeshTasksNV-sampleLocationsEnable-07936YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state disabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable in the bound graphics pipeline is VK_TRUE or VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, then, sampleLocationsInfo.sampleLocationGridSize.width must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.width as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling the value of rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawMeshTasksNV-sampleLocationsEnable-07937YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state disabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable in the bound graphics pipeline is VK_TRUE or VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, then, sampleLocationsInfo.sampleLocationGridSize.height must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.height as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling the value of rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawMeshTasksNV-sampleLocationsEnable-07938YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state disabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable in the bound graphics pipeline is VK_TRUE or VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, then, sampleLocationsInfo.sampleLocationsPerPixel must equal rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawMeshTasksNV-sampleLocationsPerPixel-07482YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state disabled, then the sampleLocationsPerPixel member of pSampleLocationsInfo in the last call to vkCmdSetSampleLocationsEXT must equal the rasterizationSamples member of the VkPipelineMultisampleStateCreateInfo structure the bound graphics pipeline has been created with
VUID-vkCmdDrawMeshTasksNV-sampleLocationsPerPixel-07483YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, then the sampleLocationsPerPixel member of pSampleLocationsInfo in the last call to vkCmdSetSampleLocationsEXT must equal the rasterizationSamples parameter of the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawMeshTasksNV-samples-07472YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_MASK_EXT state enabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state disabled, then the samples parameter in the last call to vkCmdSetSampleMaskEXT must be greater or equal to the VkPipelineMultisampleStateCreateInfo::rasterizationSamples parameter used to create the bound graphics pipeline
VUID-vkCmdDrawMeshTasksNV-samples-07473YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_MASK_EXT state and VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT states enabled, then the samples parameter in the last call to vkCmdSetSampleMaskEXT must be greater or equal to the rasterizationSamples parameter in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdDrawMeshTasksNV-scissorCount-03418YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, then vkCmdSetScissorWithCount must have been called in the current command buffer prior to this drawing command, and the scissorCount parameter of vkCmdSetScissorWithCount must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline
VUID-vkCmdDrawMeshTasksNV-selectableCubicWeights-09214NNoneexplicitvkCmdDrawMeshTasksNVIf the selectableCubicWeights feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have VkSamplerCubicWeightsCreateInfoQCOM::cubicWeights equal to VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM
VUID-vkCmdDrawMeshTasksNV-shadingRateImage-09233YNoneexplicitvkCmdDrawMeshTasksNVIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoarseSampleOrderNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-shadingRateImage-09234YNoneexplicitvkCmdDrawMeshTasksNVIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetShadingRateImageEnableNV in the current command buffer set shadingRateImageEnable to VK_TRUE, then vkCmdSetViewportShadingRatePaletteNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdDrawMeshTasksNV-sparseImageInt64Atomics-04474YNoneexplicitvkCmdDrawMeshTasksNVIf the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdDrawMeshTasksNV-sparseImageInt64Atomics-04475NNoneexplicitvkCmdDrawMeshTasksNVIf the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdDrawMeshTasksNV-stage-06480YNegativeMesh.DrawCmdsNVexplicitvkCmdDrawMeshTasksNVThe bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT
VUID-vkCmdDrawMeshTasksNV-stage-07073YNoneexplicitvkCmdDrawMeshTasksNVIf the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active
VUID-vkCmdDrawMeshTasksNV-stippledLineEnable-07495YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled
VUID-vkCmdDrawMeshTasksNV-stippledLineEnable-07496YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled
VUID-vkCmdDrawMeshTasksNV-stippledLineEnable-07497YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled
VUID-vkCmdDrawMeshTasksNV-stippledLineEnable-07498YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE
VUID-vkCmdDrawMeshTasksNV-storageBuffers-06936YNoneexplicitvkCmdDrawMeshTasksNVIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawMeshTasksNV-subpass-02685YNoneexplicitvkCmdDrawMeshTasksNVThe subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS
VUID-vkCmdDrawMeshTasksNV-taskCount-02119YNoneexplicitvkCmdDrawMeshTasksNVtaskCount must be less than or equal to VkPhysicalDeviceMeshShaderPropertiesNV::maxDrawMeshTasksCount
VUID-vkCmdDrawMeshTasksNV-uniformBuffers-06935YNoneexplicitvkCmdDrawMeshTasksNVIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdDrawMeshTasksNV-videocodingYNoneimplicitvkCmdDrawMeshTasksNVThis command must only be called outside of a video coding scope
VUID-vkCmdDrawMeshTasksNV-viewMask-06178YNoneexplicitvkCmdDrawMeshTasksNVIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound graphics pipeline must have been created with a VkPipelineRenderingCreateInfo::viewMask equal to VkRenderingInfo::viewMask
VUID-vkCmdDrawMeshTasksNV-viewType-07752YNoneexplicitvkCmdDrawMeshTasksNVIf a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Instruction/Sampler/Image View Validation
VUID-vkCmdDrawMeshTasksNV-viewportCount-03417YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT dynamic state enabled, then vkCmdSetViewportWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline
VUID-vkCmdDrawMeshTasksNV-viewportCount-03419YNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic states enabled then both vkCmdSetViewportWithCount and vkCmdSetScissorWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must match the scissorCount parameter of vkCmdSetScissorWithCount
VUID-vkCmdDrawMeshTasksNV-viewportCount-04137NNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportWScalingStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksNV-viewportCount-04138NNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksNV-viewportCount-04139NNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksNV-viewportCount-04140NNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksNV-viewportCount-07492NNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportSwizzleStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksNV-viewportCount-07493NNoneexplicitvkCmdDrawMeshTasksNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportSwizzleNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdDrawMeshTasksNV-viewportCount-09421YNoneexplicitvkCmdDrawMeshTasksNVIf the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then the viewportCount parameter in the last call to vkCmdSetViewportSwizzleNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdExecuteGeneratedCommandsNV-ConstOffset-06551NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must not use the ConstOffset and Offset operands
VUID-vkCmdExecuteGeneratedCommandsNV-Input-07939NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled then all variables with the Input storage class decorated with Location in the Vertex Execution Model OpEntryPoint must contain a location in VkVertexInputAttributeDescription2EXT::location
VUID-vkCmdExecuteGeneratedCommandsNV-Input-08734NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled then the numeric type associated with all Input variables of the corresponding Location in the Vertex Execution Model OpEntryPoint must be the same as VkVertexInputAttributeDescription2EXT::format
VUID-vkCmdExecuteGeneratedCommandsNV-InputAttachmentIndex-09597NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf an input attachment view accessed in a dynamic render pass via a shader object has an InputAttachmentIndex, the InputAttachmentIndex must match an index in VkRenderingInputAttachmentIndexInfoKHR.
VUID-vkCmdExecuteGeneratedCommandsNV-None-02691NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
VUID-vkCmdExecuteGeneratedCommandsNV-None-02692NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
VUID-vkCmdExecuteGeneratedCommandsNV-None-02693NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_EXT_filter_cubic extension is not enabled and any VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, it must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
VUID-vkCmdExecuteGeneratedCommandsNV-None-02721NNoneexplicitvkCmdExecuteGeneratedCommandsNVFor a given vertex buffer binding, any attribute data fetched must be entirely contained within the corresponding vertex buffer binding, as described in Vertex Input Description
VUID-vkCmdExecuteGeneratedCommandsNV-None-02910NNoneexplicitvkCmdExecuteGeneratedCommandsNVTransform feedback must not be active
VUID-vkCmdExecuteGeneratedCommandsNV-None-04007NNoneexplicitvkCmdExecuteGeneratedCommandsNVAll vertex input bindings accessed via vertex input variables declared in the vertex shader entry point's interface must have either valid or VK_NULL_HANDLE buffers bound
VUID-vkCmdExecuteGeneratedCommandsNV-None-04008NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the nullDescriptor feature is not enabled, all vertex input bindings accessed via vertex input variables declared in the vertex shader entry point's interface must not be VK_NULL_HANDLE
VUID-vkCmdExecuteGeneratedCommandsNV-None-04875NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to VK_PRIMITIVE_TOPOLOGY_PATCH_LIST, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PATCH_CONTROL_POINTS_EXT dynamic state enabled then vkCmdSetPatchControlPointsEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-04876NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZER_DISCARD_ENABLE dynamic state enabled then vkCmdSetRasterizerDiscardEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-04877NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS_ENABLE dynamic state enabled then vkCmdSetDepthBiasEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-04879NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_RESTART_ENABLE dynamic state enabled then vkCmdSetPrimitiveRestartEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-04912NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline was created with both the VK_DYNAMIC_STATE_VERTEX_INPUT_EXT and VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic states enabled, then vkCmdSetVertexInputEXT must have been called in the current command buffer prior to this draw command
VUID-vkCmdExecuteGeneratedCommandsNV-None-04914NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled then vkCmdSetVertexInputEXT must have been called in the current command buffer prior to this draw command
VUID-vkCmdExecuteGeneratedCommandsNV-None-06479NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a VkImageView is sampled with depth comparison, the image view's format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT
VUID-vkCmdExecuteGeneratedCommandsNV-None-06537NNoneexplicitvkCmdExecuteGeneratedCommandsNVMemory backing image subresources used as attachments in the current render pass must not be written in any way other than as an attachment by this command
VUID-vkCmdExecuteGeneratedCommandsNV-None-06539NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf any previously recorded command in the current subpass accessed an image subresource used as an attachment in this subpass in any way other than as an attachment, this command must not write to that image subresource as an attachment
VUID-vkCmdExecuteGeneratedCommandsNV-None-06550NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions
VUID-vkCmdExecuteGeneratedCommandsNV-None-06666NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT dynamic state enabled then vkCmdSetSampleLocationsEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-06886NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance uses a depth/stencil attachment with a read-only layout for the depth aspect, depth writes must be disabled
VUID-vkCmdExecuteGeneratedCommandsNV-None-06887NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance uses a depth/stencil attachment with a read-only layout for the stencil aspect, both front and back writeMask are not zero, and stencil test is enabled, all stencil ops must be VK_STENCIL_OP_KEEP
VUID-vkCmdExecuteGeneratedCommandsNV-None-07288NNoneexplicitvkCmdExecuteGeneratedCommandsNVAny shader invocation executed by this command must terminate
VUID-vkCmdExecuteGeneratedCommandsNV-None-07469NNoneexplicitvkCmdExecuteGeneratedCommandsNVInput attachment views accessed in a subpass must be created with the same VkFormat as the corresponding subpass definition, and be created with a VkImageView that is compatible with the attachment referenced by the subpass' pInputAttachments[InputAttachmentIndex] in the currently bound VkFramebuffer as specified by Fragment Input Attachment Compatibility
VUID-vkCmdExecuteGeneratedCommandsNV-None-07619NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_TESSELLATION_DOMAIN_ORIGIN_EXT dynamic state enabled then vkCmdSetTessellationDomainOriginEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07620NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_CLAMP_ENABLE_EXT dynamic state enabled then vkCmdSetDepthClampEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07621NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_POLYGON_MODE_EXT dynamic state enabled then vkCmdSetPolygonModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07622NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT dynamic state enabled then vkCmdSetRasterizationSamplesEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07623NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_MASK_EXT dynamic state enabled then vkCmdSetSampleMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07624NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT dynamic state enabled then vkCmdSetAlphaToCoverageEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07625NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ALPHA_TO_ONE_ENABLE_EXT dynamic state enabled then vkCmdSetAlphaToOneEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07626NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_ENABLE_EXT dynamic state enabled then vkCmdSetLogicOpEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07627NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic state enabled then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07628NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT dynamic state enabled then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07629NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT dynamic state enabled then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07630NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT dynamic state enabled then vkCmdSetRasterizationStreamEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07631NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT dynamic state enabled then vkCmdSetConservativeRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07632NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXTRA_PRIMITIVE_OVERESTIMATION_SIZE_EXT dynamic state enabled then vkCmdSetExtraPrimitiveOverestimationSizeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07633NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_CLIP_ENABLE_EXT dynamic state enabled then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07634NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT dynamic state enabled then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07635NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT dynamic state enabled then vkCmdSetColorBlendAdvancedEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07636NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PROVOKING_VERTEX_MODE_EXT dynamic state enabled then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07637NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic state enabled then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07638NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT dynamic state enabled then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07639NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_CLIP_NEGATIVE_ONE_TO_ONE_EXT dynamic state enabled then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07640NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_ENABLE_NV dynamic state enabled then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07641NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV dynamic state enabled then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07642NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV dynamic state enabled then vkCmdSetCoverageToColorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07643NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_LOCATION_NV dynamic state enabled then vkCmdSetCoverageToColorLocationNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07644NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_MODE_NV dynamic state enabled then vkCmdSetCoverageModulationModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07645NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV dynamic state enabled then vkCmdSetCoverageModulationTableEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07646NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_NV dynamic state enabled then vkCmdSetCoverageModulationTableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07647NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SHADING_RATE_IMAGE_ENABLE_NV dynamic state enabled then vkCmdSetShadingRateImageEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07648NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_REPRESENTATIVE_FRAGMENT_TEST_ENABLE_NV dynamic state enabled then vkCmdSetRepresentativeFragmentTestEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07649NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_REDUCTION_MODE_NV dynamic state enabled then vkCmdSetCoverageReductionModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07748NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf any shader statically accesses an input attachment, a valid descriptor must be bound to the pipeline via a descriptor set
VUID-vkCmdExecuteGeneratedCommandsNV-None-07749NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT dynamic state enabled then vkCmdSetColorWriteEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07751NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_EXT dynamic state enabled then vkCmdSetDiscardRectangleEXT must have been called in the current command buffer prior to this drawing command for each discard rectangle in VkPipelineDiscardRectangleStateCreateInfoEXT::discardRectangleCount
VUID-vkCmdExecuteGeneratedCommandsNV-None-07831NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT dynamic state enabled then vkCmdSetViewport must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07832NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR dynamic state enabled then vkCmdSetScissor must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07833NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_WIDTH dynamic state enabled then vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07834NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BIAS dynamic state enabled then vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07835NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_BLEND_CONSTANTS dynamic state enabled then vkCmdSetBlendConstants must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07836NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS dynamic state enabled, and if the current depthBoundsTestEnable state is VK_TRUE, then vkCmdSetDepthBounds must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07837NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_COMPARE_MASK dynamic state enabled, and if the current stencilTestEnable state is VK_TRUE, then vkCmdSetStencilCompareMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07838NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_WRITE_MASK dynamic state enabled, and if the current stencilTestEnable state is VK_TRUE, then vkCmdSetStencilWriteMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07839NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_REFERENCE dynamic state enabled, and if the current stencilTestEnable state is VK_TRUE, then vkCmdSetStencilReference must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07840NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_CULL_MODE dynamic state enabled then vkCmdSetCullMode must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07841NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_FRONT_FACE dynamic state enabled then vkCmdSetFrontFace must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07842NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY dynamic state enabled then vkCmdSetPrimitiveTopology must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07843NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_TEST_ENABLE dynamic state enabled then vkCmdSetDepthTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07844NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE dynamic state enabled then vkCmdSetDepthWriteEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07845NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_COMPARE_OP dynamic state enabled then vkCmdSetDepthCompareOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07846NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DEPTH_BOUNDS_TEST_ENABLE dynamic state enabled then vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07847NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_TEST_ENABLE dynamic state enabled then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07848NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_STENCIL_OP dynamic state enabled then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07849NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_KHR dynamic state enabled then vkCmdSetLineStippleKHR must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07850NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07878NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_ENABLE_NV dynamic state enabled then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07879NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_EXCLUSIVE_SCISSOR_NV dynamic state enabled then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07880NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_ENABLE_EXT dynamic state enabled then vkCmdSetDiscardRectangleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07881NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_DISCARD_RECTANGLE_MODE_EXT dynamic state enabled then vkCmdSetDiscardRectangleModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-07888NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer's format features must contain VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
VUID-vkCmdExecuteGeneratedCommandsNV-None-08114NNoneexplicitvkCmdExecuteGeneratedCommandsNVDescriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid as described by descriptor validity if they are statically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was not created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdExecuteGeneratedCommandsNV-None-08115NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdBindDescriptorSets, the bound VkPipeline must have been created without VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdExecuteGeneratedCommandsNV-None-08116NNoneexplicitvkCmdExecuteGeneratedCommandsNVDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdExecuteGeneratedCommandsNV-None-08117NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdSetDescriptorBufferOffsetsEXT, the bound VkPipeline must have been created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdExecuteGeneratedCommandsNV-None-08119NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a descriptor is dynamically used with a VkPipeline created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdExecuteGeneratedCommandsNV-None-08600NNoneexplicitvkCmdExecuteGeneratedCommandsNVFor each set n that is statically used by a bound shader, a descriptor set must have been bound to n at the same pipeline bind point, with a VkPipelineLayout that is compatible for set n, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdExecuteGeneratedCommandsNV-None-08601NNoneexplicitvkCmdExecuteGeneratedCommandsNVFor each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdExecuteGeneratedCommandsNV-None-08604NNoneexplicitvkCmdExecuteGeneratedCommandsNVDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08605NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a descriptor is dynamically used with a VkShaderEXT created with a VkDescriptorSetLayout that was created with VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdExecuteGeneratedCommandsNV-None-08606NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08607NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the shaderObject is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08608NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state not specified as dynamic in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound
VUID-vkCmdExecuteGeneratedCommandsNV-None-08609NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
VUID-vkCmdExecuteGeneratedCommandsNV-None-08610NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage
VUID-vkCmdExecuteGeneratedCommandsNV-None-08611NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage
VUID-vkCmdExecuteGeneratedCommandsNV-None-08612NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a uniform buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdExecuteGeneratedCommandsNV-None-08613NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a storage buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdExecuteGeneratedCommandsNV-None-08617NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08618NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08619NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, vkCmdSetLineWidth must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08620NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDepthBiasEnable in the current command buffer set depthBiasEnable to VK_TRUE, vkCmdSetDepthBias or vkCmdSetDepthBias2EXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08621NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetColorBlendEnableEXT in the current command buffer set any element of pColorBlendEnables to VK_TRUE, and the most recent call to vkCmdSetColorBlendEquationEXT in the current command buffer set the same element of pColorBlendEquations to a VkColorBlendEquationEXT structure with any VkBlendFactor member with a value of VK_BLEND_FACTOR_CONSTANT_COLOR, VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_COLOR, VK_BLEND_FACTOR_CONSTANT_ALPHA, or VK_BLEND_FACTOR_ONE_MINUS_CONSTANT_ALPHA, vkCmdSetBlendConstants must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08622NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDepthBoundsTestEnable in the current command buffer set depthBoundsTestEnable to VK_TRUE, then vkCmdSetDepthBounds must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08623NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, vkCmdSetStencilCompareMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08624NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, vkCmdSetStencilWriteMask must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08625NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, vkCmdSetStencilReference must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08626NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetSampleLocationsEnableEXT in the current command buffer set sampleLocationsEnable to VK_TRUE, then vkCmdSetSampleLocationsEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08627NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCullMode must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08628NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetFrontFace must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08629NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08630NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthWriteEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08631NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDepthTestEnable in the current command buffer set depthTestEnable to VK_TRUE, then vkCmdSetDepthCompareOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08632NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the depthBounds feature is enabled, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then the vkCmdSetDepthBoundsTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08633NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetStencilTestEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08634NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetStencilTestEnable in the current command buffer set stencilTestEnable to VK_TRUE, then vkCmdSetStencilOp must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08635NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, then both vkCmdSetViewportWithCount and vkCmdSetScissorWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must match the scissorCount parameter of vkCmdSetScissorWithCount
VUID-vkCmdExecuteGeneratedCommandsNV-None-08636NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetViewportWScalingEnableNV in the current command buffer set viewportWScalingEnable to VK_TRUE, then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdExecuteGeneratedCommandsNV-None-08637NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetShadingRateImageEnableNV in the current command buffer set shadingRateImageEnable to VK_TRUE, then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdExecuteGeneratedCommandsNV-None-08638NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the exclusiveScissor feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetExclusiveScissorEnableNV in the current command buffer set any element of pExclusiveScissorEnables to VK_TRUE, then vkCmdSetExclusiveScissorNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08639NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, then vkCmdSetRasterizerDiscardEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08640NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthBiasEnable must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08641NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLogicOpEnableEXT set logicOpEnable to VK_TRUE, then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value
VUID-vkCmdExecuteGeneratedCommandsNV-None-08643NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then for each color attachment in the render pass, if the corresponding image view's format features do not contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the corresponding member of pColorBlendEnables in the most recent call to vkCmdSetColorBlendEnableEXT in the current command buffer that affected that attachment index must have been VK_FALSE
VUID-vkCmdExecuteGeneratedCommandsNV-None-08644NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and none of the following is enabled: the VK_AMD_mixed_attachment_samples extension the VK_NV_framebuffer_mixed_samples extension the multisampledRenderToSingleSampled feature then the most recent call to vkCmdSetRasterizationSamplesEXT in the current command buffer must have set rasterizationSamples to be the same as the number of samples for the current render pass color and/or depth/stencil attachments
VUID-vkCmdExecuteGeneratedCommandsNV-None-08646NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the colorWriteEnable feature is enabled on the device, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08647NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the colorWriteEnable feature is enabled on the device, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then the attachmentCount parameter of most recent call to vkCmdSetColorWriteEnableEXT in the current command buffer must be greater than or equal to the number of color attachments in the current render pass instance
VUID-vkCmdExecuteGeneratedCommandsNV-None-08648NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_EXT_discard_rectangles extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDiscardRectangleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08649NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_EXT_discard_rectangles extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDiscardRectangleEnableEXT in the current command buffer set discardRectangleEnable to VK_TRUE, then vkCmdSetDiscardRectangleModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08650NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the depthClamp feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetDepthClampEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08651NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetPolygonModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08652NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetRasterizationSamplesEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08653NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08654NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetAlphaToCoverageEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08655NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the alphaToOne feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetAlphaToOneEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08656NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the logicOp feature is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLogicOpEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08657NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08658NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetColorBlendEnableEXT for any attachment set that attachment's value in pColorBlendEnables to VK_TRUE, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08659NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08660NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the geometryStreams feature is enabled, and a shader object is bound to the VK_SHADER_STAGE_GEOMETRY_BIT stage, then vkCmdSetRasterizationStreamEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08661NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_EXT_conservative_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetConservativeRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08662NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_EXT_conservative_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetConservativeRasterizationModeEXT in the current command buffer set conservativeRasterizationMode to VK_CONSERVATIVE_RASTERIZATION_MODE_OVERESTIMATE_EXT, then vkCmdSetExtraPrimitiveOverestimationSizeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08663NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the depthClipEnable feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08664NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_EXT_sample_locations extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetSampleLocationsEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08665NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_EXT_provoking_vertex extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetProvokingVertexModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08666NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08667NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08668NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineRasterizationModeEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08669NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPolygonModeEXT in the current command buffer set polygonMode to VK_POLYGON_MODE_LINE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08670NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetPrimitiveTopology in the current command buffer set primitiveTopology to any line topology, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08671NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object that outputs line primitives is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetLineStippleEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08672NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_KHR_line_rasterization or VK_EXT_line_rasterization extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetLineStippleEnableEXT in the current command buffer set stippledLineEnable to VK_TRUE, then vkCmdSetLineStippleEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08673NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the depthClipControl feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetDepthClipNegativeOneToOneEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08674NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportWScalingEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08675NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then vkCmdSetViewportSwizzleNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08676NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_NV_fragment_coverage_to_color extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoverageToColorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08677NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_NV_fragment_coverage_to_color extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetCoverageToColorEnableNV in the current command buffer set coverageToColorEnable to VK_TRUE, then vkCmdSetCoverageToColorLocationNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08678NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoverageModulationModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08679NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetCoverageModulationModeNV in the current command buffer set coverageModulationMode to any value other than VK_COVERAGE_MODULATION_MODE_NONE_NV, then vkCmdSetCoverageModulationTableEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08680NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetCoverageModulationTableEnableNV in the current command buffer set coverageModulationTableEnable to VK_TRUE, then vkCmdSetCoverageModulationTableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08681NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetShadingRateImageEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08682NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the representativeFragmentTest feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetRepresentativeFragmentTestEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08683NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the coverageReductionMode feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoverageReductionModeNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08684NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_VERTEX_BIT
VUID-vkCmdExecuteGeneratedCommandsNV-None-08685NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT
VUID-vkCmdExecuteGeneratedCommandsNV-None-08686NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is no bound graphics pipeline, and the tessellationShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT
VUID-vkCmdExecuteGeneratedCommandsNV-None-08687NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is no bound graphics pipeline, and the geometryShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_GEOMETRY_BIT
VUID-vkCmdExecuteGeneratedCommandsNV-None-08688NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is no bound graphics pipeline, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_FRAGMENT_BIT
VUID-vkCmdExecuteGeneratedCommandsNV-None-08689NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is no bound graphics pipeline, and the taskShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_TASK_BIT_EXT
VUID-vkCmdExecuteGeneratedCommandsNV-None-08690NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is no bound graphics pipeline, and the meshShader feature is enabled, vkCmdBindShadersEXT must have been called in the current command buffer with pStages with an element of VK_SHADER_STAGE_MESH_BIT_EXT
VUID-vkCmdExecuteGeneratedCommandsNV-None-08693NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is no bound graphics pipeline, and at least one of the taskShader and meshShader features is enabled, one of the VK_SHADER_STAGE_VERTEX_BIT or VK_SHADER_STAGE_MESH_BIT_EXT stages must have a valid VkShaderEXT bound, and the other must have no VkShaderEXT bound
VUID-vkCmdExecuteGeneratedCommandsNV-None-08694NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is no bound graphics pipeline, and both the taskShader and meshShader features are enabled, and a valid VkShaderEXT is bound the to the VK_SHADER_STAGE_MESH_BIT_EXT stage, and that VkShaderEXT was created without the VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT flag, a valid VkShaderEXT must be bound to the VK_SHADER_STAGE_TASK_BIT_EXT stage
VUID-vkCmdExecuteGeneratedCommandsNV-None-08695NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is no bound graphics pipeline, and both the taskShader and meshShader features are enabled, and a valid VkShaderEXT is bound the to the VK_SHADER_STAGE_MESH_BIT_EXT stage, and that VkShaderEXT was created with the VK_SHADER_CREATE_NO_TASK_SHADER_BIT_EXT flag, there must be no VkShaderEXT bound to the VK_SHADER_STAGE_TASK_BIT_EXT stage
VUID-vkCmdExecuteGeneratedCommandsNV-None-08696NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is no bound graphics pipeline, and a valid VkShaderEXT is bound to the VK_SHADER_STAGE_VERTEX_BIT stage, there must be no VkShaderEXT bound to either the VK_SHADER_STAGE_TASK_BIT_EXT stage or the VK_SHADER_STAGE_MESH_BIT_EXT stage
VUID-vkCmdExecuteGeneratedCommandsNV-None-08698NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf any graphics shader is bound which was created with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag, then all shaders created with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag in the same vkCreateShadersEXT call must also be bound
VUID-vkCmdExecuteGeneratedCommandsNV-None-08699NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf any graphics shader is bound which was created with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag, any stages in between stages whose shaders which did not create a shader with the VK_SHADER_CREATE_LINK_STAGE_BIT_EXT flag as part of the same vkCreateShadersEXT call must not have any VkShaderEXT bound
VUID-vkCmdExecuteGeneratedCommandsNV-None-08876NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, the current render pass instance must have been begun with vkCmdBeginRendering
VUID-vkCmdExecuteGeneratedCommandsNV-None-08877NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT dynamic state vkCmdSetAttachmentFeedbackLoopEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08878NNoneexplicitvkCmdExecuteGeneratedCommandsNVAll bound graphics shader objects must have been created with identical or identically defined push constant ranges
VUID-vkCmdExecuteGeneratedCommandsNV-None-08879NNoneexplicitvkCmdExecuteGeneratedCommandsNVAll bound graphics shader objects must have been created with identical or identically defined arrays of descriptor set layouts
VUID-vkCmdExecuteGeneratedCommandsNV-None-08880NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the attachmentFeedbackLoopDynamicState feature is enabled on the device, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetAttachmentFeedbackLoopEnableEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-08885NNoneexplicitvkCmdExecuteGeneratedCommandsNVThere must be no shader object bound to either of the VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT stages
VUID-vkCmdExecuteGeneratedCommandsNV-None-09000NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a color attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it is not in the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout, and either: the VK_PIPELINE_CREATE_COLOR_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT is set on the currently bound pipeline or the last call to vkCmdSetAttachmentFeedbackLoopEnableEXT included VK_IMAGE_ASPECT_COLOR_BIT and there is no currently bound graphics pipeline or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT it must not be accessed in any way other than as an attachment by this command
VUID-vkCmdExecuteGeneratedCommandsNV-None-09001NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a depth attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it is not in the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout, and either: the VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT is set on the currently bound pipeline or the last call to vkCmdSetAttachmentFeedbackLoopEnableEXT included VK_IMAGE_ASPECT_DEPTH_BIT and there is no currently bound graphics pipeline or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT it must not be accessed in any way other than as an attachment by this command
VUID-vkCmdExecuteGeneratedCommandsNV-None-09002NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a stencil attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it is not in the VK_IMAGE_LAYOUT_ATTACHMENT_FEEDBACK_LOOP_OPTIMAL_EXT image layout, and either: the VK_PIPELINE_CREATE_DEPTH_STENCIL_ATTACHMENT_FEEDBACK_LOOP_BIT_EXT is set on the currently bound pipeline or the last call to vkCmdSetAttachmentFeedbackLoopEnableEXT included VK_IMAGE_ASPECT_STENCIL_BIT and there is no currently bound graphics pipeline or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_ATTACHMENT_FEEDBACK_LOOP_ENABLE_EXT it must not be accessed in any way other than as an attachment by this command
VUID-vkCmdExecuteGeneratedCommandsNV-None-09003NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf an attachment is written by any prior command in this subpass or by the load, store, or resolve operations for this subpass, it must not be accessed in any way other than as an attachment, storage image, or sampled image by this command
VUID-vkCmdExecuteGeneratedCommandsNV-None-09116NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage or the currently bound graphics pipeline was created with VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT, and the format of any color attachment is VK_FORMAT_E5B9G9R9_UFLOAT_PACK32, the corresponding element of the pColorWriteMasks parameter of vkCmdSetColorWriteMaskEXT must either include all of VK_COLOR_COMPONENT_R_BIT, VK_COLOR_COMPONENT_G_BIT, and VK_COLOR_COMPONENT_B_BIT, or none of them
VUID-vkCmdExecuteGeneratedCommandsNV-None-09203NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled and VkVertexInputAttributeDescription2EXT::format has a 64-bit component, then all Input variables at the corresponding Location in the Vertex Execution Model OpEntryPoint must not use components that are not present in the format
VUID-vkCmdExecuteGeneratedCommandsNV-None-09211NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, or a shader object is bound to any graphics stage, and the current render pass instance includes a VkMultisampledRenderToSingleSampledInfoEXT structure with multisampledRenderToSingleSampledEnable equal to VK_TRUE, then the rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT must be the same as the rasterizationSamples member of that structure
VUID-vkCmdExecuteGeneratedCommandsNV-None-09232NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_NV_clip_space_w_scaling extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetViewportWScalingEnableNV in the current command buffer set viewportWScalingEnable to VK_TRUE, then vkCmdSetViewportWScalingNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-09237NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to the VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT stage, then vkCmdSetTessellationDomainOriginEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-09363NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is no shader object bound to any graphics stage, the current render pass instance was begun with vkCmdBeginRendering and a VkRenderingInfo::colorAttachmentCount equal to 1, and a color attachment with a resolve mode of VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, each element of the VkRenderingInfo::pColorAttachments array with a imageView not equal to VK_NULL_HANDLE must have been created with an image created with a VkExternalFormatANDROID::externalFormat value equal to the VkExternalFormatANDROID::externalFormat value used to create the currently bound graphics pipeline
VUID-vkCmdExecuteGeneratedCommandsNV-None-09364NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic state enabled, then vkCmdSetColorBlendEnableEXT must have set the blend enable to VK_FALSE prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-09365NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT dynamic state enabled, then vkCmdSetRasterizationSamplesEXT must have set rasterizationSamples to VK_SAMPLE_COUNT_1_BIT prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-09366NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetColorBlendEnableEXT must have set blend enable to VK_FALSE prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-09368NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-09369NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, there is no shader object bound to any graphics stage, and the currently bound graphics pipeline was created with a non-zero VkExternalFormatANDROID::externalFormat value and with the VK_DYNAMIC_STATE_FRAGMENT_SHADING_RATE_KHR dynamic state enabled, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-None-09548NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, the value of each element of VkRenderingAttachmentLocationInfoKHR::pColorAttachmentLocations set by vkCmdSetRenderingAttachmentLocationsKHR must match the value set for the corresponding element in the currently bound pipeline
VUID-vkCmdExecuteGeneratedCommandsNV-None-09549NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass was begun with vkCmdBeginRendering, and there is no shader object bound to any graphics stage, input attachment index mappings in the currently bound pipeline must match those set for the current render pass instance via VkRenderingInputAttachmentIndexInfoKHR
VUID-vkCmdExecuteGeneratedCommandsNV-None-09600NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written
VUID-vkCmdExecuteGeneratedCommandsNV-OpImageBlockMatchSADQCOM-06975NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdExecuteGeneratedCommandsNV-OpImageBlockMatchSADQCOM-06976NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdExecuteGeneratedCommandsNV-OpImageBlockMatchSSDQCOM-06974NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdExecuteGeneratedCommandsNV-OpImageBlockMatchWindow-09215NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdExecuteGeneratedCommandsNV-OpImageBlockMatchWindow-09216NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format must be a single-component format.
VUID-vkCmdExecuteGeneratedCommandsNV-OpImageBlockMatchWindow-09217NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdExecuteGeneratedCommandsNV-OpImageBoxFilterQCOM-06973NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf OpImageBoxFilterQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM
VUID-vkCmdExecuteGeneratedCommandsNV-OpImageWeightedSampleQCOM-06971NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf OpImageWeightedSampleQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM
VUID-vkCmdExecuteGeneratedCommandsNV-OpImageWeightedSampleQCOM-06972NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf OpImageWeightedSampleQCOM uses a VkImageView as a sample weight image as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM
VUID-vkCmdExecuteGeneratedCommandsNV-OpImageWeightedSampleQCOM-06977NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdExecuteGeneratedCommandsNV-OpImageWeightedSampleQCOM-06978NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf any command other than OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must not have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdExecuteGeneratedCommandsNV-OpImageWrite-04469NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format
VUID-vkCmdExecuteGeneratedCommandsNV-OpImageWrite-08795NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a VkImageView created with a format other than VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format
VUID-vkCmdExecuteGeneratedCommandsNV-OpImageWrite-08796NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a VkImageView created with the format VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have four components
VUID-vkCmdExecuteGeneratedCommandsNV-OpTypeImage-07027NNoneexplicitvkCmdExecuteGeneratedCommandsNVFor any VkImageView being written as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdExecuteGeneratedCommandsNV-OpTypeImage-07028NNoneexplicitvkCmdExecuteGeneratedCommandsNVFor any VkImageView being read as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdExecuteGeneratedCommandsNV-OpTypeImage-07029NNoneexplicitvkCmdExecuteGeneratedCommandsNVFor any VkBufferView being written as a storage texel buffer where the image format field of the OpTypeImage is Unknown, the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdExecuteGeneratedCommandsNV-OpTypeImage-07030NNoneexplicitvkCmdExecuteGeneratedCommandsNVAny VkBufferView being read as a storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdExecuteGeneratedCommandsNV-OpTypeImage-07468NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf any shader executed by this pipeline accesses an OpTypeImage variable with a Dim operand of SubpassData, it must be decorated with an InputAttachmentIndex that corresponds to a valid input attachment in the current subpass
VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04470NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a VkImageView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04471NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a VkImageView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04472NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a VkBufferView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdExecuteGeneratedCommandsNV-SampledType-04473NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a VkBufferView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdExecuteGeneratedCommandsNV-VkPipelineVieportCreateInfo-04141NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled and a VkPipelineViewportSwizzleStateCreateInfoNV structure chained from VkPipelineViewportStateCreateInfo, then the bound graphics pipeline must have been created with VkPipelineViewportSwizzleStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdExecuteGeneratedCommandsNV-VkPipelineVieportCreateInfo-04142NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled and a VkPipelineViewportExclusiveScissorStateCreateInfoNV structure chained from VkPipelineViewportStateCreateInfo, then the bound graphics pipeline must have been created with VkPipelineViewportExclusiveScissorStateCreateInfoNV::exclusiveScissorCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdExecuteGeneratedCommandsNV-advancedBlendMaxColorAttachments-07480NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT and VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic states enabled and the last calls to vkCmdSetColorBlendEnableEXT and vkCmdSetColorBlendAdvancedEXT have enabled advanced blending, then the number of active color attachments in the current subpass must not exceed advancedBlendMaxColorAttachments
VUID-vkCmdExecuteGeneratedCommandsNV-alphaToCoverageEnable-08919NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_ALPHA_TO_COVERAGE_ENABLE_EXT dynamic state enabled, and alphaToCoverageEnable was VK_TRUE in the last call to vkCmdSetAlphaToCoverageEnableEXT, then the Fragment Output Interface must contain a variable for the alpha Component word in Location 0 at Index 0
VUID-vkCmdExecuteGeneratedCommandsNV-alphaToCoverageEnable-08920NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage, and the most recent call to vkCmdSetAlphaToCoverageEnableEXT in the current command buffer set alphaToCoverageEnable to VK_TRUE, then the Fragment Output Interface must contain a variable for the alpha Component word in Location 0 at Index 0
VUID-vkCmdExecuteGeneratedCommandsNV-attachmentCount-07750NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_ENABLE_EXT dynamic state enabled then the attachmentCount parameter of vkCmdSetColorWriteEnableEXT must be greater than or equal to the VkPipelineColorBlendStateCreateInfo::attachmentCount of the currently bound graphics pipeline
VUID-vkCmdExecuteGeneratedCommandsNV-blendEnable-04727NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf rasterization is not disabled in the bound graphics pipeline, then for each color attachment in the subpass, if the corresponding image view's format features do not contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT, then the blendEnable member of the corresponding element of the pAttachments member of pColorBlendState must be VK_FALSE
VUID-vkCmdExecuteGeneratedCommandsNV-colorAttachmentCount-06179NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the dynamicRenderingUnusedAttachments feature is not enabled and the current render pass instance was begun with vkCmdBeginRendering, the currently bound graphics pipeline must have been created with a VkPipelineRenderingCreateInfo::colorAttachmentCount equal to VkRenderingInfo::colorAttachmentCount
VUID-vkCmdExecuteGeneratedCommandsNV-colorAttachmentCount-06185NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the currently bound pipeline was created with a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the current render pass instance was begun with vkCmdBeginRendering with a VkRenderingInfo::colorAttachmentCount parameter greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with a imageView not equal to VK_NULL_HANDLE must have been created with a sample count equal to the corresponding element of the pColorAttachmentSamples member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV used to create the currently bound graphics pipeline
VUID-vkCmdExecuteGeneratedCommandsNV-colorAttachmentCount-09362NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, with a VkRenderingInfo::colorAttachmentCount equal to 1, there is no shader object bound to any graphics stage, and a color attachment with a resolve mode of VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, each element of the VkRenderingInfo::pColorAttachments array with a resolveImageView not equal to VK_NULL_HANDLE must have been created with an image created with a VkExternalFormatANDROID::externalFormat value equal to the VkExternalFormatANDROID::externalFormat value used to create the currently bound graphics pipeline
VUID-vkCmdExecuteGeneratedCommandsNV-colorAttachmentCount-09372NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering and a VkRenderingInfo::colorAttachmentCount equal to 1, a color attachment with a resolve mode of VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID, and a fragment shader is bound, it must not declare the DepthReplacing or StencilRefReplacingEXT execution modes
VUID-vkCmdExecuteGeneratedCommandsNV-commandBuffer-02707NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf commandBuffer is an unprotected command buffer and protectedNoFault is not supported, any resource accessed by bound shaders must not be a protected resource
VUID-vkCmdExecuteGeneratedCommandsNV-commandBuffer-02970NNoneexplicitvkCmdExecuteGeneratedCommandsNVcommandBuffer must not be a protected command buffer
VUID-vkCmdExecuteGeneratedCommandsNV-commandBuffer-cmdpoolYNoneimplicitvkCmdExecuteGeneratedCommandsNVThe VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations
VUID-vkCmdExecuteGeneratedCommandsNV-commandBuffer-parameterYNoneimplicitvkCmdExecuteGeneratedCommandsNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdExecuteGeneratedCommandsNV-commandBuffer-recordingYNoneimplicitvkCmdExecuteGeneratedCommandsNVcommandBuffer must be in the recording state
VUID-vkCmdExecuteGeneratedCommandsNV-conservativePointAndLineRasterization-07499NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_CONSERVATIVE_RASTERIZATION_MODE_EXT dynamic state enabled, conservativePointAndLineRasterization is not supported, and the effective primitive topology output by the last pre-rasterization shader stage is a line or point, then the conservativeRasterizationMode set by the last call to vkCmdSetConservativeRasterizationModeEXT must be VK_CONSERVATIVE_RASTERIZATION_MODE_DISABLED_EXT
VUID-vkCmdExecuteGeneratedCommandsNV-coverageModulationTableEnable-07488NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to any graphics stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_MODULATION_TABLE_ENABLE_NV state enabled, and the last call to vkCmdSetCoverageModulationTableEnableNV set coverageModulationTableEnable to VK_TRUE, then the coverageModulationTableCount parameter in the last call to vkCmdSetCoverageModulationTableNV must equal the current rasterizationSamples divided by the number of color samples in the current subpass
VUID-vkCmdExecuteGeneratedCommandsNV-coverageReductionMode-07491NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf this VK_NV_coverage_reduction_mode extension is enabled, the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV and VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT states enabled, the current coverage reduction mode coverageReductionMode, then the current rasterizationSamples, and the sample counts for the color and depth/stencil attachments (if the subpass has them) must be a valid combination returned by vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV
VUID-vkCmdExecuteGeneratedCommandsNV-coverageToColorEnable-07490NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COVERAGE_TO_COLOR_ENABLE_NV state enabled and the last call to vkCmdSetCoverageToColorEnableNV set the coverageToColorEnable to VK_TRUE, then the current subpass must have a color attachment at the location selected by the last call to vkCmdSetCoverageToColorLocationNV coverageToColorLocation, with a VkFormat of VK_FORMAT_R8_UINT, VK_FORMAT_R8_SINT, VK_FORMAT_R16_UINT, VK_FORMAT_R16_SINT, VK_FORMAT_R32_UINT, or VK_FORMAT_R32_SINT
VUID-vkCmdExecuteGeneratedCommandsNV-cubicRangeClamp-09212NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the cubicRangeClamp feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must not have a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM
VUID-vkCmdExecuteGeneratedCommandsNV-deviceGeneratedCommands-02911NNoneexplicitvkCmdExecuteGeneratedCommandsNVThe VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV::deviceGeneratedCommands feature must be enabled
VUID-vkCmdExecuteGeneratedCommandsNV-dynamicPrimitiveTopologyUnrestricted-07500NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_PRIMITIVE_TOPOLOGY dynamic state enabled and the dynamicPrimitiveTopologyUnrestricted is VK_FALSE, then the primitiveTopology parameter of vkCmdSetPrimitiveTopology must be of the same topology class as the pipeline VkPipelineInputAssemblyStateCreateInfo::topology state
VUID-vkCmdExecuteGeneratedCommandsNV-dynamicRenderingUnusedAttachments-08910NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the dynamicRenderingUnusedAttachments feature is not enabled, and the current render pass instance was begun with vkCmdBeginRendering and VkRenderingInfo::colorAttachmentCount greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with an imageView not equal to VK_NULL_HANDLE must have been created with a VkFormat equal to the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the currently bound graphics pipeline
VUID-vkCmdExecuteGeneratedCommandsNV-dynamicRenderingUnusedAttachments-08911NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the dynamicRenderingUnusedAttachments feature is enabled, and the current render pass instance was begun with vkCmdBeginRendering and VkRenderingInfo::colorAttachmentCount greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with an imageView not equal to VK_NULL_HANDLE must have been created with a VkFormat equal to the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the currently bound graphics pipeline, or the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats, if it exists, must be VK_FORMAT_UNDEFINED
VUID-vkCmdExecuteGeneratedCommandsNV-dynamicRenderingUnusedAttachments-08912NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the dynamicRenderingUnusedAttachments feature is not enabled, and the current render pass instance was begun with vkCmdBeginRendering and VkRenderingInfo::colorAttachmentCount greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with an imageView equal to VK_NULL_HANDLE must have the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the currently bound pipeline equal to VK_FORMAT_UNDEFINED
VUID-vkCmdExecuteGeneratedCommandsNV-dynamicRenderingUnusedAttachments-08913NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pDepthAttachment->imageView was VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the currently bound graphics pipeline must be equal to VK_FORMAT_UNDEFINED
VUID-vkCmdExecuteGeneratedCommandsNV-dynamicRenderingUnusedAttachments-08914NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the currently bound graphics pipeline must be equal to the VkFormat used to create VkRenderingInfo::pDepthAttachment->imageView
VUID-vkCmdExecuteGeneratedCommandsNV-dynamicRenderingUnusedAttachments-08915NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is enabled, VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, and the value of VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the currently bound graphics pipeline was not equal to the VkFormat used to create VkRenderingInfo::pDepthAttachment->imageView, the value of the format must be VK_FORMAT_UNDEFINED
VUID-vkCmdExecuteGeneratedCommandsNV-dynamicRenderingUnusedAttachments-08916NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pStencilAttachment->imageView was VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the currently bound graphics pipeline must be equal to VK_FORMAT_UNDEFINED
VUID-vkCmdExecuteGeneratedCommandsNV-dynamicRenderingUnusedAttachments-08917NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is not enabled, and VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, the value of VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the currently bound graphics pipeline must be equal to the VkFormat used to create VkRenderingInfo::pStencilAttachment->imageView
VUID-vkCmdExecuteGeneratedCommandsNV-dynamicRenderingUnusedAttachments-08918NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, the dynamicRenderingUnusedAttachments feature is enabled, VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, and the value of VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the currently bound graphics pipeline was not equal to the VkFormat used to create VkRenderingInfo::pStencilAttachment->imageView, the value of the format must be VK_FORMAT_UNDEFINED
VUID-vkCmdExecuteGeneratedCommandsNV-exclusiveScissor-09235NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the exclusiveScissor feature is enabled, and a shader object is bound to any graphics stage, then vkCmdSetExclusiveScissorEnableNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-filterCubic-02694NNoneexplicitvkCmdExecuteGeneratedCommandsNVAny VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have a VkImageViewType and format that supports cubic filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubic returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdExecuteGeneratedCommandsNV-filterCubicMinmax-02695NNoneexplicitvkCmdExecuteGeneratedCommandsNVAny VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdExecuteGeneratedCommandsNV-firstAttachment-07476NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT dynamic state enabled then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEnableEXT calls must specify an enable for all active color attachments in the current subpass
VUID-vkCmdExecuteGeneratedCommandsNV-firstAttachment-07477NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_EQUATION_EXT dynamic state enabled then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled
VUID-vkCmdExecuteGeneratedCommandsNV-firstAttachment-07478NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_WRITE_MASK_EXT dynamic state enabled then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorWriteMaskEXT calls must specify the color write mask for all active color attachments in the current subpass
VUID-vkCmdExecuteGeneratedCommandsNV-firstAttachment-07479NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ADVANCED_EXT dynamic state enabled then vkCmdSetColorBlendAdvancedEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendAdvancedEXT calls must specify the advanced blend equations for all active color attachments in the current subpass where blending is enabled
VUID-vkCmdExecuteGeneratedCommandsNV-flags-02696NNoneexplicitvkCmdExecuteGeneratedCommandsNVAny VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
VUID-vkCmdExecuteGeneratedCommandsNV-format-07753NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a VkImageView is accessed as a result of this command, then the numeric type of the image view's format and the Sampled Type operand of the OpTypeImage must match
VUID-vkCmdExecuteGeneratedCommandsNV-format-08936NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled and VkVertexInputAttributeDescription2EXT::format has a 64-bit component, then the scalar width associated with all Input variables of the corresponding Location in the Vertex Execution Model OpEntryPoint must be 64-bit
VUID-vkCmdExecuteGeneratedCommandsNV-format-08937NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is a shader object bound to the VK_SHADER_STAGE_VERTEX_BIT stage or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled and the scalar width associated with a Location decorated Input variable in the Vertex Execution Model OpEntryPoint is 64-bit, then the corresponding VkVertexInputAttributeDescription2EXT::format must have a 64-bit component
VUID-vkCmdExecuteGeneratedCommandsNV-imageView-06172NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pDepthAttachment is not VK_NULL_HANDLE, and the layout member of pDepthAttachment is VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the depth attachment
VUID-vkCmdExecuteGeneratedCommandsNV-imageView-06173NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pStencilAttachment is not VK_NULL_HANDLE, and the layout member of pStencilAttachment is VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment
VUID-vkCmdExecuteGeneratedCommandsNV-imageView-06174NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pDepthAttachment is not VK_NULL_HANDLE, and the layout member of pDepthAttachment is VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_OPTIMAL, this command must not write any values to the depth attachment
VUID-vkCmdExecuteGeneratedCommandsNV-imageView-06175NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pStencilAttachment is not VK_NULL_HANDLE, and the layout member of pStencilAttachment is VK_IMAGE_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment
VUID-vkCmdExecuteGeneratedCommandsNV-imageView-06176NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pDepthAttachment is not VK_NULL_HANDLE, and the layout member of pDepthAttachment is VK_IMAGE_LAYOUT_DEPTH_READ_ONLY_OPTIMAL, this command must not write any values to the depth attachment
VUID-vkCmdExecuteGeneratedCommandsNV-imageView-06177NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, the imageView member of pStencilAttachment is not VK_NULL_HANDLE, and the layout member of pStencilAttachment is VK_IMAGE_LAYOUT_STENCIL_READ_ONLY_OPTIMAL, this command must not write any values to the stencil attachment
VUID-vkCmdExecuteGeneratedCommandsNV-imageView-06183NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering and VkRenderingFragmentShadingRateAttachmentInfoKHR::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
VUID-vkCmdExecuteGeneratedCommandsNV-imageView-06184NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering and VkRenderingFragmentDensityMapAttachmentInfoEXT::imageView was not VK_NULL_HANDLE, the currently bound graphics pipeline must have been created with VK_PIPELINE_CREATE_RENDERING_FRAGMENT_DENSITY_MAP_ATTACHMENT_BIT_EXT
VUID-vkCmdExecuteGeneratedCommandsNV-isPreprocessed-02908NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf isPreprocessed is VK_TRUE then vkCmdPreprocessGeneratedCommandsNV must have already been executed on the device, using the same pGeneratedCommandsInfo content as well as the content of the input buffers it references (all except VkGeneratedCommandsInfoNV::preprocessBuffer). Furthermore pGeneratedCommandsInfo`s indirectCommandsLayout must have been created with the VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV bit set
VUID-vkCmdExecuteGeneratedCommandsNV-logicOp-04878NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LOGIC_OP_EXT dynamic state enabled then vkCmdSetLogicOpEXT must have been called in the current command buffer prior to this drawing command and the logicOp must be a valid VkLogicOp value
VUID-vkCmdExecuteGeneratedCommandsNV-magFilter-04553NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdExecuteGeneratedCommandsNV-magFilter-09598NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdExecuteGeneratedCommandsNV-maintenance4-08602NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the maintenance4 feature is not enabled, then for each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout and VkPushConstantRange arrays used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdExecuteGeneratedCommandsNV-maxFragmentDualSrcAttachments-09239NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf blending is enabled for any attachment where either the source or destination blend factors for that attachment use the secondary color input, the maximum value of Location for any output attachment statically used in the Fragment Execution Model executed by this command must be less than maxFragmentDualSrcAttachments
VUID-vkCmdExecuteGeneratedCommandsNV-maxMultiviewInstanceIndex-02688NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the draw is recorded in a render pass instance with multiview enabled, the maximum instance index must be less than or equal to VkPhysicalDeviceMultiviewProperties::maxMultiviewInstanceIndex
VUID-vkCmdExecuteGeneratedCommandsNV-mipmapMode-04770NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdExecuteGeneratedCommandsNV-mipmapMode-09599NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdExecuteGeneratedCommandsNV-multisampledRenderToSingleSampled-07284NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf rasterization is not disabled in the bound graphics pipeline, and none of the following is enabled: the VK_AMD_mixed_attachment_samples extension the VK_NV_framebuffer_mixed_samples extension the multisampledRenderToSingleSampled feature then rasterizationSamples for the currently bound graphics pipeline must be the same as the current subpass color and/or depth/stencil attachments
VUID-vkCmdExecuteGeneratedCommandsNV-multisampledRenderToSingleSampled-07285NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the currently bound pipeline was created without a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the multisampledRenderToSingleSampled feature is not enabled, and the current render pass instance was begun with vkCmdBeginRendering with a VkRenderingInfo::colorAttachmentCount parameter greater than 0, then each element of the VkRenderingInfo::pColorAttachments array with a imageView not equal to VK_NULL_HANDLE must have been created with a sample count equal to the value of rasterizationSamples for the currently bound graphics pipeline
VUID-vkCmdExecuteGeneratedCommandsNV-multisampledRenderToSingleSampled-07286NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the currently bound pipeline was created without a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the multisampledRenderToSingleSampled feature is not enabled, and VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, the value of rasterizationSamples for the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pDepthAttachment->imageView
VUID-vkCmdExecuteGeneratedCommandsNV-multisampledRenderToSingleSampled-07287NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the currently bound pipeline was created without a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and the multisampledRenderToSingleSampled feature is not enabled, and VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, the value of rasterizationSamples for the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pStencilAttachment->imageView
VUID-vkCmdExecuteGeneratedCommandsNV-pColorAttachments-08963NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, there is a graphics pipeline bound with a fragment shader that statically writes to a color attachment, the color write mask is not zero, color writes are enabled, and the corresponding element of the VkRenderingInfo::pColorAttachments->imageView was not VK_NULL_HANDLE, then the corresponding element of VkPipelineRenderingCreateInfo::pColorAttachmentFormats used to create the pipeline must not be VK_FORMAT_UNDEFINED
VUID-vkCmdExecuteGeneratedCommandsNV-pColorBlendEnables-07470NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_COLOR_BLEND_ENABLE_EXT state enabled and the last call to vkCmdSetColorBlendEnableEXT set pColorBlendEnables for any attachment to VK_TRUE, then for those attachments in the subpass the corresponding image view's format features must contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BLEND_BIT
VUID-vkCmdExecuteGeneratedCommandsNV-pDepthAttachment-06186NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound pipeline was created with a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, the value of the depthStencilAttachmentSamples member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV used to create the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pDepthAttachment->imageView
VUID-vkCmdExecuteGeneratedCommandsNV-pDepthAttachment-08964NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, there is a graphics pipeline bound, depth test is enabled, depth write is enabled, and the VkRenderingInfo::pDepthAttachment->imageView was not VK_NULL_HANDLE, then the VkPipelineRenderingCreateInfo::depthAttachmentFormat used to create the pipeline must not be VK_FORMAT_UNDEFINED
VUID-vkCmdExecuteGeneratedCommandsNV-pDepthInputAttachmentIndex-09595NNoneexplicitvkCmdExecuteGeneratedCommandsNVInput attachment views accessed in a dynamic render pass with a InputAttachmentIndex referenced by VkRenderingInputAttachmentIndexInfoKHR, or no InputAttachmentIndex if VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex or VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are NULL, must be created with a VkImageView that is compatible with the corresponding color, depth, or stencil attachment in VkRenderingInfo.
VUID-vkCmdExecuteGeneratedCommandsNV-pDepthInputAttachmentIndex-09596NNoneexplicitvkCmdExecuteGeneratedCommandsNVInput attachment views accessed in a dynamic render pass via a shader object must have an InputAttachmentIndex if both VkRenderingInputAttachmentIndexInfoKHR:pDepthInputAttachmentIndex and VkRenderingInputAttachmentIndexInfoKHR:pStencilInputAttachmentIndex are non-NULL.
VUID-vkCmdExecuteGeneratedCommandsNV-pDynamicStates-08715NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state includes a fragment shader stage, was created with VK_DYNAMIC_STATE_DEPTH_WRITE_ENABLE set in VkPipelineDynamicStateCreateInfo::pDynamicStates, and the fragment shader declares the EarlyFragmentTests execution mode and uses OpDepthAttachmentReadEXT, the depthWriteEnable parameter in the last call to vkCmdSetDepthWriteEnable must be VK_FALSE
VUID-vkCmdExecuteGeneratedCommandsNV-pDynamicStates-08716NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state includes a fragment shader stage, was created with VK_DYNAMIC_STATE_STENCIL_WRITE_MASK set in VkPipelineDynamicStateCreateInfo::pDynamicStates, and the fragment shader declares the EarlyFragmentTests execution mode and uses OpStencilAttachmentReadEXT, the writeMask parameter in the last call to vkCmdSetStencilWriteMask must be 0
VUID-vkCmdExecuteGeneratedCommandsNV-pFragmentSize-09370NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->width to 1 prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-pFragmentSize-09371NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetFragmentShadingRateKHR must have set pFragmentSize->height to 1 prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-pGeneratedCommandsInfo-parameterYNoneimplicitvkCmdExecuteGeneratedCommandsNVpGeneratedCommandsInfo must be a valid pointer to a valid VkGeneratedCommandsInfoNV structure
VUID-vkCmdExecuteGeneratedCommandsNV-pNext-07935NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf this command has been called inside a render pass instance started with vkCmdBeginRendering, and the pNext chain of VkRenderingInfo includes a VkMultisampledRenderToSingleSampledInfoEXT structure with multisampledRenderToSingleSampledEnable equal to VK_TRUE, then the value of rasterizationSamples for the currently bound graphics pipeline must be equal to VkMultisampledRenderToSingleSampledInfoEXT::rasterizationSamples
VUID-vkCmdExecuteGeneratedCommandsNV-pStencilAttachment-06187NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound pipeline was created with a VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV structure, and VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, the value of the depthStencilAttachmentSamples member of VkAttachmentSampleCountInfoAMD or VkAttachmentSampleCountInfoNV used to create the currently bound graphics pipeline must be equal to the sample count used to create VkRenderingInfo::pStencilAttachment->imageView
VUID-vkCmdExecuteGeneratedCommandsNV-pStencilAttachment-08965NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, there is a graphics pipeline bound, stencil test is enabled and the VkRenderingInfo::pStencilAttachment->imageView was not VK_NULL_HANDLE, then the VkPipelineRenderingCreateInfo::stencilAttachmentFormat used to create the pipeline must not be VK_FORMAT_UNDEFINED
VUID-vkCmdExecuteGeneratedCommandsNV-pStrides-04913NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VERTEX_INPUT_BINDING_STRIDE_EXT dynamic state enabled, but without the VK_DYNAMIC_STATE_VERTEX_INPUT_EXT dynamic state enabled, then vkCmdBindVertexBuffers2EXT must have been called in the current command buffer prior to this draw command, and the pStrides parameter of vkCmdBindVertexBuffers2EXT must not be NULL
VUID-vkCmdExecuteGeneratedCommandsNV-pipeline-02909NNoneexplicitvkCmdExecuteGeneratedCommandsNVVkGeneratedCommandsInfoNV::pipeline must match the current bound pipeline at VkGeneratedCommandsInfoNV::pipelineBindPoint
VUID-vkCmdExecuteGeneratedCommandsNV-pipelineFragmentShadingRate-09238NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the pipelineFragmentShadingRate feature is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetFragmentShadingRateKHR must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-primitiveFragmentShadingRateWithMultipleViewports-04552NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, the bound graphics pipeline was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, and any of the shader stages of the bound graphics pipeline write to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must be 1
VUID-vkCmdExecuteGeneratedCommandsNV-primitiveFragmentShadingRateWithMultipleViewports-08642NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the primitiveFragmentShadingRateWithMultipleViewports limit is not supported, and any shader object bound to a graphics stage writes to the PrimitiveShadingRateKHR built-in, then vkCmdSetViewportWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must be 1
VUID-vkCmdExecuteGeneratedCommandsNV-primitivesGeneratedQueryWithNonZeroStreams-06709NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, the bound graphics pipeline must not have been created with a non-zero value in VkPipelineRasterizationStateStreamCreateInfoEXT::rasterizationStream
VUID-vkCmdExecuteGeneratedCommandsNV-primitivesGeneratedQueryWithNonZeroStreams-07481NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the primitivesGeneratedQueryWithNonZeroStreams feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, and the bound graphics pipeline was created with VK_DYNAMIC_STATE_RASTERIZATION_STREAM_EXT state enabled, the last call to vkCmdSetRasterizationStreamEXT must have set the rasterizationStream to zero
VUID-vkCmdExecuteGeneratedCommandsNV-primitivesGeneratedQueryWithRasterizerDiscard-06708NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the primitivesGeneratedQueryWithRasterizerDiscard feature is not enabled and the VK_QUERY_TYPE_PRIMITIVES_GENERATED_EXT query is active, rasterization discard must not be enabled
VUID-vkCmdExecuteGeneratedCommandsNV-rasterizationSamples-07471NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, and the current subpass does not use any color and/or depth/stencil attachments, then the rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT must follow the rules for a zero-attachment subpass
VUID-vkCmdExecuteGeneratedCommandsNV-rasterizationSamples-07474NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, and neither the VK_AMD_mixed_attachment_samples nor the VK_NV_framebuffer_mixed_samples extensions are enabled, then the rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT must be the same as the current subpass color and/or depth/stencil attachments
VUID-vkCmdExecuteGeneratedCommandsNV-rasterizationSamples-07489NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and if current subpass has a depth/stencil attachment and depth test, stencil test, or depth bounds test are enabled in the currently bound pipeline state, then the current rasterizationSamples must be the same as the sample count of the depth/stencil attachment
VUID-vkCmdExecuteGeneratedCommandsNV-rasterizationSamples-07494NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_NV_framebuffer_mixed_samples extension is enabled, and if the current subpass has any color attachments and rasterizationSamples of the last call to vkCmdSetRasterizationSamplesEXT is greater than the number of color samples, then the pipeline sampleShadingEnable must be VK_FALSE
VUID-vkCmdExecuteGeneratedCommandsNV-rasterizationSamples-09367NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf there is a shader object bound to any graphics stage, and the current render pass includes a color attachment that uses the VK_RESOLVE_MODE_EXTERNAL_FORMAT_DOWNSAMPLE_ANDROID resolve mode, then vkCmdSetRasterizationSamplesEXT must have set rasterizationSamples to VK_SAMPLE_COUNT_1_BIT prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-rasterizerDiscardEnable-09236NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_EXT_discard_rectangles extension is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetDiscardRectangleEnableEXT in the current command buffer set discardRectangleEnable to VK_TRUE, then vkCmdSetDiscardRectangleEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-rasterizerDiscardEnable-09416NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_EXT_blend_operation_advanced extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then at least one of vkCmdSetColorBlendEquationEXT and vkCmdSetColorBlendAdvancedEXT must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-rasterizerDiscardEnable-09417NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorBlendEnableEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEnableEXT calls must specify an enable for all active color attachments in the current subpass
VUID-vkCmdExecuteGeneratedCommandsNV-rasterizerDiscardEnable-09418NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and both the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE and there are color attachments bound, then vkCmdSetColorBlendEquationEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorBlendEquationEXT calls must specify the blend equations for all active color attachments in the current subpass where blending is enabled
VUID-vkCmdExecuteGeneratedCommandsNV-rasterizerDiscardEnable-09419NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetColorWriteMaskEXT must have been called in the current command buffer prior to this drawing command, and the attachments specified by the firstAttachment and attachmentCount parameters of vkCmdSetColorWriteMaskEXT calls must specify the color write mask for all active color attachments in the current subpass
VUID-vkCmdExecuteGeneratedCommandsNV-rasterizerDiscardEnable-09420NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_NV_fragment_coverage_to_color extension is enabled, and a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the last call to vkCmdSetCoverageToColorEnableNV set the coverageToColorEnable to VK_TRUE, then the current subpass must have a color attachment at the location selected by the last call to vkCmdSetCoverageToColorLocationNV coverageToColorLocation, with a VkFormat of VK_FORMAT_R8_UINT, VK_FORMAT_R8_SINT, VK_FORMAT_R16_UINT, VK_FORMAT_R16_SINT, VK_FORMAT_R32_UINT, or VK_FORMAT_R32_SINT
VUID-vkCmdExecuteGeneratedCommandsNV-reductionMode-09213NNoneexplicitvkCmdExecuteGeneratedCommandsNVAny VkImageView being sampled with a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM as a result of this command must sample with VK_FILTER_CUBIC_EXT
VUID-vkCmdExecuteGeneratedCommandsNV-renderPass-02684NNoneexplicitvkCmdExecuteGeneratedCommandsNVThe current render pass must be compatible with the renderPass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS
VUID-vkCmdExecuteGeneratedCommandsNV-renderPass-06198NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound pipeline must have been created with a VkGraphicsPipelineCreateInfo::renderPass equal to VK_NULL_HANDLE
VUID-vkCmdExecuteGeneratedCommandsNV-renderpassYNoneimplicitvkCmdExecuteGeneratedCommandsNVThis command must only be called inside of a render pass instance
VUID-vkCmdExecuteGeneratedCommandsNV-sampleLocationsEnable-02689NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline was created with VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable set to VK_TRUE and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set
VUID-vkCmdExecuteGeneratedCommandsNV-sampleLocationsEnable-07484NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, and the current subpass has a depth/stencil attachment, then that attachment must have been created with the VK_IMAGE_CREATE_SAMPLE_LOCATIONS_COMPATIBLE_DEPTH_BIT_EXT bit set
VUID-vkCmdExecuteGeneratedCommandsNV-sampleLocationsEnable-07485NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and if sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, then the sampleLocationsInfo.sampleLocationGridSize.width in the last call to vkCmdSetSampleLocationsEXT must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.width as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling rasterizationSamples
VUID-vkCmdExecuteGeneratedCommandsNV-sampleLocationsEnable-07486NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and if sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, then the sampleLocationsInfo.sampleLocationGridSize.height in the last call to vkCmdSetSampleLocationsEXT must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.height as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling rasterizationSamples
VUID-vkCmdExecuteGeneratedCommandsNV-sampleLocationsEnable-07487NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a shader object is bound to the VK_SHADER_STAGE_FRAGMENT_BIT stage, or the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, and if sampleLocationsEnable was VK_TRUE in the last call to vkCmdSetSampleLocationsEnableEXT, the fragment shader code must not statically use the extended instruction InterpolateAtSample
VUID-vkCmdExecuteGeneratedCommandsNV-sampleLocationsEnable-07936NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state disabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable in the bound graphics pipeline is VK_TRUE or VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, then, sampleLocationsInfo.sampleLocationGridSize.width must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.width as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling the value of rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdExecuteGeneratedCommandsNV-sampleLocationsEnable-07937NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state disabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable in the bound graphics pipeline is VK_TRUE or VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, then, sampleLocationsInfo.sampleLocationGridSize.height must evenly divide VkMultisamplePropertiesEXT::sampleLocationGridSize.height as returned by vkGetPhysicalDeviceMultisamplePropertiesEXT with a samples parameter equaling the value of rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdExecuteGeneratedCommandsNV-sampleLocationsEnable-07938NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state disabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, the sampleLocationsEnable member of a VkPipelineSampleLocationsStateCreateInfoEXT::sampleLocationsEnable in the bound graphics pipeline is VK_TRUE or VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_ENABLE_EXT state enabled, then, sampleLocationsInfo.sampleLocationsPerPixel must equal rasterizationSamples in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdExecuteGeneratedCommandsNV-sampleLocationsPerPixel-07482NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state disabled, then the sampleLocationsPerPixel member of pSampleLocationsInfo in the last call to vkCmdSetSampleLocationsEXT must equal the rasterizationSamples member of the VkPipelineMultisampleStateCreateInfo structure the bound graphics pipeline has been created with
VUID-vkCmdExecuteGeneratedCommandsNV-sampleLocationsPerPixel-07483NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_LOCATIONS_EXT state enabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state enabled, then the sampleLocationsPerPixel member of pSampleLocationsInfo in the last call to vkCmdSetSampleLocationsEXT must equal the rasterizationSamples parameter of the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdExecuteGeneratedCommandsNV-samples-07472NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_MASK_EXT state enabled and the VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT state disabled, then the samples parameter in the last call to vkCmdSetSampleMaskEXT must be greater or equal to the VkPipelineMultisampleStateCreateInfo::rasterizationSamples parameter used to create the bound graphics pipeline
VUID-vkCmdExecuteGeneratedCommandsNV-samples-07473NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SAMPLE_MASK_EXT state and VK_DYNAMIC_STATE_RASTERIZATION_SAMPLES_EXT states enabled, then the samples parameter in the last call to vkCmdSetSampleMaskEXT must be greater or equal to the rasterizationSamples parameter in the last call to vkCmdSetRasterizationSamplesEXT
VUID-vkCmdExecuteGeneratedCommandsNV-scissorCount-03418NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, then vkCmdSetScissorWithCount must have been called in the current command buffer prior to this drawing command, and the scissorCount parameter of vkCmdSetScissorWithCount must match the VkPipelineViewportStateCreateInfo::viewportCount of the pipeline
VUID-vkCmdExecuteGeneratedCommandsNV-selectableCubicWeights-09214NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the selectableCubicWeights feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have VkSamplerCubicWeightsCreateInfoQCOM::cubicWeights equal to VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM
VUID-vkCmdExecuteGeneratedCommandsNV-shadingRateImage-09233NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, then vkCmdSetCoarseSampleOrderNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-shadingRateImage-09234NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the shadingRateImage feature is enabled, and a shader object is bound to any graphics stage, and the most recent call to vkCmdSetRasterizerDiscardEnable in the current command buffer set rasterizerDiscardEnable to VK_FALSE, and the most recent call to vkCmdSetShadingRateImageEnableNV in the current command buffer set shadingRateImageEnable to VK_TRUE, then vkCmdSetViewportShadingRatePaletteNV must have been called in the current command buffer prior to this drawing command
VUID-vkCmdExecuteGeneratedCommandsNV-sparseImageInt64Atomics-04474NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdExecuteGeneratedCommandsNV-sparseImageInt64Atomics-04475NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdExecuteGeneratedCommandsNV-stage-06481NNoneexplicitvkCmdExecuteGeneratedCommandsNVThe bound graphics pipeline must not have been created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_TASK_BIT_EXT or VK_SHADER_STAGE_MESH_BIT_EXT
VUID-vkCmdExecuteGeneratedCommandsNV-stage-07073NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the currently bound pipeline was created with the VkPipelineShaderStageCreateInfo::stage member of an element of VkGraphicsPipelineCreateInfo::pStages set to VK_SHADER_STAGE_VERTEX_BIT, VK_SHADER_STAGE_TESSELLATION_CONTROL_BIT, VK_SHADER_STAGE_TESSELLATION_EVALUATION_BIT or VK_SHADER_STAGE_GEOMETRY_BIT, then Mesh Shader Queries must not be active
VUID-vkCmdExecuteGeneratedCommandsNV-stippledLineEnable-07495NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_KHR, then the stippledRectangularLines feature must be enabled
VUID-vkCmdExecuteGeneratedCommandsNV-stippledLineEnable-07496NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_BRESENHAM_KHR, then the stippledBresenhamLines feature must be enabled
VUID-vkCmdExecuteGeneratedCommandsNV-stippledLineEnable-07497NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_RECTANGULAR_SMOOTH_KHR, then the stippledSmoothLines feature must be enabled
VUID-vkCmdExecuteGeneratedCommandsNV-stippledLineEnable-07498NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_LINE_STIPPLE_ENABLE_EXT or VK_DYNAMIC_STATE_LINE_RASTERIZATION_MODE_EXT dynamic states enabled, and if the current stippledLineEnable state is VK_TRUE and the current lineRasterizationMode state is VK_LINE_RASTERIZATION_MODE_DEFAULT_KHR, then the stippledRectangularLines feature must be enabled and VkPhysicalDeviceLimits::strictLines must be VK_TRUE
VUID-vkCmdExecuteGeneratedCommandsNV-storageBuffers-06936NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdExecuteGeneratedCommandsNV-subpass-02685NNoneexplicitvkCmdExecuteGeneratedCommandsNVThe subpass index of the current render pass must be equal to the subpass member of the VkGraphicsPipelineCreateInfo structure specified when creating the VkPipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS
VUID-vkCmdExecuteGeneratedCommandsNV-uniformBuffers-06935NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdExecuteGeneratedCommandsNV-videocodingYNoneimplicitvkCmdExecuteGeneratedCommandsNVThis command must only be called outside of a video coding scope
VUID-vkCmdExecuteGeneratedCommandsNV-viewMask-06178NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the current render pass instance was begun with vkCmdBeginRendering, the currently bound graphics pipeline must have been created with a VkPipelineRenderingCreateInfo::viewMask equal to VkRenderingInfo::viewMask
VUID-vkCmdExecuteGeneratedCommandsNV-viewType-07752NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Instruction/Sampler/Image View Validation
VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-03417NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT dynamic state enabled, then vkCmdSetViewportWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must match the VkPipelineViewportStateCreateInfo::scissorCount of the pipeline
VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-03419NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with both the VK_DYNAMIC_STATE_SCISSOR_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic states enabled then both vkCmdSetViewportWithCount and vkCmdSetScissorWithCount must have been called in the current command buffer prior to this drawing command, and the viewportCount parameter of vkCmdSetViewportWithCount must match the scissorCount parameter of vkCmdSetScissorWithCount
VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-04137NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportWScalingStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-04138NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_W_SCALING_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportWScalingNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-04139NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportShadingRateImageStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-04140NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SHADING_RATE_PALETTE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportShadingRatePaletteNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-07492NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT dynamic state enabled, but not the VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV dynamic state enabled, then the bound graphics pipeline must have been created with VkPipelineViewportSwizzleStateCreateInfoNV::viewportCount greater or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-07493NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the bound graphics pipeline state was created with the VK_DYNAMIC_STATE_VIEWPORT_WITH_COUNT and VK_DYNAMIC_STATE_VIEWPORT_SWIZZLE_NV dynamic states enabled then the viewportCount parameter in the last call to vkCmdSetViewportSwizzleNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdExecuteGeneratedCommandsNV-viewportCount-09421NNoneexplicitvkCmdExecuteGeneratedCommandsNVIf the VK_NV_viewport_swizzle extension is enabled, and a shader object is bound to any graphics stage, then the viewportCount parameter in the last call to vkCmdSetViewportSwizzleNV must be greater than or equal to the viewportCount parameter in the last call to vkCmdSetViewportWithCount
VUID-vkCmdInitializeGraphScratchMemoryAMDX-bufferlevelYNoneimplicitvkCmdInitializeGraphScratchMemoryAMDXcommandBuffer must be a primary VkCommandBuffer
VUID-vkCmdInitializeGraphScratchMemoryAMDX-commandBuffer-cmdpoolYNoneimplicitvkCmdInitializeGraphScratchMemoryAMDXThe VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations
VUID-vkCmdInitializeGraphScratchMemoryAMDX-commandBuffer-parameterYNoneimplicitvkCmdInitializeGraphScratchMemoryAMDXcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdInitializeGraphScratchMemoryAMDX-commandBuffer-recordingYNoneimplicitvkCmdInitializeGraphScratchMemoryAMDXcommandBuffer must be in the recording state
VUID-vkCmdInitializeGraphScratchMemoryAMDX-renderpassYNoneimplicitvkCmdInitializeGraphScratchMemoryAMDXThis command must only be called outside of a render pass instance
VUID-vkCmdInitializeGraphScratchMemoryAMDX-scratch-09143NNoneexplicitvkCmdInitializeGraphScratchMemoryAMDXscratch must be the device address of an allocated memory range at least as large as the value of VkExecutionGraphPipelineScratchSizeAMDX::size returned by VkExecutionGraphPipelineScratchSizeAMDX for the currently bound execution graph pipeline.
VUID-vkCmdInitializeGraphScratchMemoryAMDX-scratch-09144NNoneexplicitvkCmdInitializeGraphScratchMemoryAMDXscratch must be a multiple of 64
VUID-vkCmdInitializeGraphScratchMemoryAMDX-videocodingYNoneimplicitvkCmdInitializeGraphScratchMemoryAMDXThis command must only be called outside of a video coding scope
VUID-vkCmdOpticalFlowExecuteNV-commandBuffer-cmdpoolYNoneimplicitvkCmdOpticalFlowExecuteNVThe VkCommandPool that commandBuffer was allocated from must support optical flow operations
VUID-vkCmdOpticalFlowExecuteNV-commandBuffer-parameterYNoneimplicitvkCmdOpticalFlowExecuteNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdOpticalFlowExecuteNV-commandBuffer-recordingYNoneimplicitvkCmdOpticalFlowExecuteNVcommandBuffer must be in the recording state
VUID-vkCmdOpticalFlowExecuteNV-commonparentYNoneimplicitvkCmdOpticalFlowExecuteNVBoth of commandBuffer, and session must have been created, allocated, or retrieved from the same VkDevice
VUID-vkCmdOpticalFlowExecuteNV-pExecuteInfo-parameterYNoneimplicitvkCmdOpticalFlowExecuteNVpExecuteInfo must be a valid pointer to a valid VkOpticalFlowExecuteInfoNV structure
VUID-vkCmdOpticalFlowExecuteNV-renderpassYNoneimplicitvkCmdOpticalFlowExecuteNVThis command must only be called outside of a render pass instance
VUID-vkCmdOpticalFlowExecuteNV-session-parameterYNoneimplicitvkCmdOpticalFlowExecuteNVsession must be a valid VkOpticalFlowSessionNV handle
VUID-vkCmdOpticalFlowExecuteNV-videocodingYNoneimplicitvkCmdOpticalFlowExecuteNVThis command must only be called outside of a video coding scope
VUID-vkCmdPreprocessGeneratedCommandsNV-commandBuffer-02974NNoneexplicitvkCmdPreprocessGeneratedCommandsNVcommandBuffer must not be a protected command buffer
VUID-vkCmdPreprocessGeneratedCommandsNV-commandBuffer-cmdpoolYNoneimplicitvkCmdPreprocessGeneratedCommandsNVThe VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations
VUID-vkCmdPreprocessGeneratedCommandsNV-commandBuffer-parameterYNoneimplicitvkCmdPreprocessGeneratedCommandsNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdPreprocessGeneratedCommandsNV-commandBuffer-recordingYNoneimplicitvkCmdPreprocessGeneratedCommandsNVcommandBuffer must be in the recording state
VUID-vkCmdPreprocessGeneratedCommandsNV-deviceGeneratedCommands-02928NNoneexplicitvkCmdPreprocessGeneratedCommandsNVThe VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV::deviceGeneratedCommands feature must be enabled
VUID-vkCmdPreprocessGeneratedCommandsNV-pGeneratedCommandsInfo-02927NNoneexplicitvkCmdPreprocessGeneratedCommandsNVpGeneratedCommandsInfo`s indirectCommandsLayout must have been created with the VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV bit set
VUID-vkCmdPreprocessGeneratedCommandsNV-pGeneratedCommandsInfo-parameterYNoneimplicitvkCmdPreprocessGeneratedCommandsNVpGeneratedCommandsInfo must be a valid pointer to a valid VkGeneratedCommandsInfoNV structure
VUID-vkCmdPreprocessGeneratedCommandsNV-renderpassYNoneimplicitvkCmdPreprocessGeneratedCommandsNVThis command must only be called outside of a render pass instance
VUID-vkCmdPreprocessGeneratedCommandsNV-videocodingYNoneimplicitvkCmdPreprocessGeneratedCommandsNVThis command must only be called outside of a video coding scope
VUID-vkCmdSetCheckpointNV-commandBuffer-cmdpoolYNoneimplicitvkCmdSetCheckpointNVThe VkCommandPool that commandBuffer was allocated from must support graphics, compute, or transfer operations
VUID-vkCmdSetCheckpointNV-commandBuffer-parameterYNoneimplicitvkCmdSetCheckpointNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetCheckpointNV-commandBuffer-recordingYNegativeTooling.ValidateNVDeviceDiagnosticCheckpointsimplicitvkCmdSetCheckpointNVcommandBuffer must be in the recording state
VUID-vkCmdSetCheckpointNV-videocodingYNoneimplicitvkCmdSetCheckpointNVThis command must only be called outside of a video coding scope
VUID-vkCmdSetCoarseSampleOrderNV-commandBuffer-cmdpoolYNoneimplicitvkCmdSetCoarseSampleOrderNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdSetCoarseSampleOrderNV-commandBuffer-parameterYNoneimplicitvkCmdSetCoarseSampleOrderNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetCoarseSampleOrderNV-commandBuffer-recordingYNoneimplicitvkCmdSetCoarseSampleOrderNVcommandBuffer must be in the recording state
VUID-vkCmdSetCoarseSampleOrderNV-pCustomSampleOrders-02235NNoneexplicitvkCmdSetCoarseSampleOrderNVThe array pCustomSampleOrders must not contain two structures with matching values for both the shadingRate and sampleCount members
VUID-vkCmdSetCoarseSampleOrderNV-pCustomSampleOrders-parameterYNoneimplicitvkCmdSetCoarseSampleOrderNVIf customSampleOrderCount is not 0, pCustomSampleOrders must be a valid pointer to an array of customSampleOrderCount valid VkCoarseSampleOrderCustomNV structures
VUID-vkCmdSetCoarseSampleOrderNV-sampleOrderType-02081YNegativeFragmentShadingRate.ShadingRateImageNVexplicitvkCmdSetCoarseSampleOrderNVIf sampleOrderType is not VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV, customSamplerOrderCount must be 0
VUID-vkCmdSetCoarseSampleOrderNV-sampleOrderType-parameterYNoneimplicitvkCmdSetCoarseSampleOrderNVsampleOrderType must be a valid VkCoarseSampleOrderTypeNV value
VUID-vkCmdSetCoarseSampleOrderNV-videocodingYNoneimplicitvkCmdSetCoarseSampleOrderNVThis command must only be called outside of a video coding scope
VUID-vkCmdSetCoverageModulationModeNV-None-09423YNegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabledexplicitvkCmdSetCoverageModulationModeNVAt least one of the following must be true: The extendedDynamicState3CoverageModulationMode feature is enabled The shaderObject feature is enabled
VUID-vkCmdSetCoverageModulationModeNV-commandBuffer-cmdpoolYNoneimplicitvkCmdSetCoverageModulationModeNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdSetCoverageModulationModeNV-commandBuffer-parameterYNoneimplicitvkCmdSetCoverageModulationModeNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetCoverageModulationModeNV-commandBuffer-recordingYNoneimplicitvkCmdSetCoverageModulationModeNVcommandBuffer must be in the recording state
VUID-vkCmdSetCoverageModulationModeNV-coverageModulationMode-parameterYNoneimplicitvkCmdSetCoverageModulationModeNVcoverageModulationMode must be a valid VkCoverageModulationModeNV value
VUID-vkCmdSetCoverageModulationModeNV-videocodingYNoneimplicitvkCmdSetCoverageModulationModeNVThis command must only be called outside of a video coding scope
VUID-vkCmdSetCoverageModulationTableEnableNV-None-09423YNegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabledexplicitvkCmdSetCoverageModulationTableEnableNVAt least one of the following must be true: The extendedDynamicState3CoverageModulationTableEnable feature is enabled The shaderObject feature is enabled
VUID-vkCmdSetCoverageModulationTableEnableNV-commandBuffer-cmdpoolYNoneimplicitvkCmdSetCoverageModulationTableEnableNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdSetCoverageModulationTableEnableNV-commandBuffer-parameterYNoneimplicitvkCmdSetCoverageModulationTableEnableNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetCoverageModulationTableEnableNV-commandBuffer-recordingYNoneimplicitvkCmdSetCoverageModulationTableEnableNVcommandBuffer must be in the recording state
VUID-vkCmdSetCoverageModulationTableEnableNV-videocodingYNoneimplicitvkCmdSetCoverageModulationTableEnableNVThis command must only be called outside of a video coding scope
VUID-vkCmdSetCoverageModulationTableNV-None-09423YNegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabledexplicitvkCmdSetCoverageModulationTableNVAt least one of the following must be true: The extendedDynamicState3CoverageModulationTable feature is enabled The shaderObject feature is enabled
VUID-vkCmdSetCoverageModulationTableNV-commandBuffer-cmdpoolYNoneimplicitvkCmdSetCoverageModulationTableNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdSetCoverageModulationTableNV-commandBuffer-parameterYNoneimplicitvkCmdSetCoverageModulationTableNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetCoverageModulationTableNV-commandBuffer-recordingYNoneimplicitvkCmdSetCoverageModulationTableNVcommandBuffer must be in the recording state
VUID-vkCmdSetCoverageModulationTableNV-coverageModulationTableCount-arraylengthYNoneimplicitvkCmdSetCoverageModulationTableNVcoverageModulationTableCount must be greater than 0
VUID-vkCmdSetCoverageModulationTableNV-pCoverageModulationTable-parameterYNoneimplicitvkCmdSetCoverageModulationTableNVpCoverageModulationTable must be a valid pointer to an array of coverageModulationTableCount float values
VUID-vkCmdSetCoverageModulationTableNV-videocodingYNoneimplicitvkCmdSetCoverageModulationTableNVThis command must only be called outside of a video coding scope
VUID-vkCmdSetCoverageReductionModeNV-None-09423YNegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabledexplicitvkCmdSetCoverageReductionModeNVAt least one of the following must be true: The extendedDynamicState3CoverageReductionMode feature is enabled The shaderObject feature is enabled
VUID-vkCmdSetCoverageReductionModeNV-commandBuffer-cmdpoolYNoneimplicitvkCmdSetCoverageReductionModeNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdSetCoverageReductionModeNV-commandBuffer-parameterYNoneimplicitvkCmdSetCoverageReductionModeNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetCoverageReductionModeNV-commandBuffer-recordingYNoneimplicitvkCmdSetCoverageReductionModeNVcommandBuffer must be in the recording state
VUID-vkCmdSetCoverageReductionModeNV-coverageReductionMode-parameterYNoneimplicitvkCmdSetCoverageReductionModeNVcoverageReductionMode must be a valid VkCoverageReductionModeNV value
VUID-vkCmdSetCoverageReductionModeNV-videocodingYNoneimplicitvkCmdSetCoverageReductionModeNVThis command must only be called outside of a video coding scope
VUID-vkCmdSetCoverageToColorEnableNV-None-09423YNegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabledexplicitvkCmdSetCoverageToColorEnableNVAt least one of the following must be true: The extendedDynamicState3CoverageToColorEnable feature is enabled The shaderObject feature is enabled
VUID-vkCmdSetCoverageToColorEnableNV-commandBuffer-cmdpoolYNoneimplicitvkCmdSetCoverageToColorEnableNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdSetCoverageToColorEnableNV-commandBuffer-parameterYNoneimplicitvkCmdSetCoverageToColorEnableNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetCoverageToColorEnableNV-commandBuffer-recordingYNoneimplicitvkCmdSetCoverageToColorEnableNVcommandBuffer must be in the recording state
VUID-vkCmdSetCoverageToColorEnableNV-videocodingYNoneimplicitvkCmdSetCoverageToColorEnableNVThis command must only be called outside of a video coding scope
VUID-vkCmdSetCoverageToColorLocationNV-None-09423YNegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabledexplicitvkCmdSetCoverageToColorLocationNVAt least one of the following must be true: The extendedDynamicState3CoverageToColorLocation feature is enabled The shaderObject feature is enabled
VUID-vkCmdSetCoverageToColorLocationNV-commandBuffer-cmdpoolYNoneimplicitvkCmdSetCoverageToColorLocationNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdSetCoverageToColorLocationNV-commandBuffer-parameterYNoneimplicitvkCmdSetCoverageToColorLocationNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetCoverageToColorLocationNV-commandBuffer-recordingYNoneimplicitvkCmdSetCoverageToColorLocationNVcommandBuffer must be in the recording state
VUID-vkCmdSetCoverageToColorLocationNV-videocodingYNoneimplicitvkCmdSetCoverageToColorLocationNVThis command must only be called outside of a video coding scope
VUID-vkCmdSetExclusiveScissorEnableNV-commandBuffer-cmdpoolYNoneimplicitvkCmdSetExclusiveScissorEnableNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdSetExclusiveScissorEnableNV-commandBuffer-parameterYNoneimplicitvkCmdSetExclusiveScissorEnableNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetExclusiveScissorEnableNV-commandBuffer-recordingYNoneimplicitvkCmdSetExclusiveScissorEnableNVcommandBuffer must be in the recording state
VUID-vkCmdSetExclusiveScissorEnableNV-exclusiveScissor-07853YNoneexplicitvkCmdSetExclusiveScissorEnableNVThe exclusiveScissor feature must be enabled, and the implementation must support at least specVersion 2 of the VK_NV_scissor_exclusive extension
VUID-vkCmdSetExclusiveScissorEnableNV-exclusiveScissorCount-arraylengthYNoneimplicitvkCmdSetExclusiveScissorEnableNVexclusiveScissorCount must be greater than 0
VUID-vkCmdSetExclusiveScissorEnableNV-pExclusiveScissorEnables-parameterYNoneimplicitvkCmdSetExclusiveScissorEnableNVpExclusiveScissorEnables must be a valid pointer to an array of exclusiveScissorCount VkBool32 values
VUID-vkCmdSetExclusiveScissorEnableNV-videocodingYNoneimplicitvkCmdSetExclusiveScissorEnableNVThis command must only be called outside of a video coding scope
VUID-vkCmdSetExclusiveScissorNV-None-02031YNoneexplicitvkCmdSetExclusiveScissorNVThe exclusiveScissor feature must be enabled
VUID-vkCmdSetExclusiveScissorNV-commandBuffer-cmdpoolYNoneimplicitvkCmdSetExclusiveScissorNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdSetExclusiveScissorNV-commandBuffer-parameterYNoneimplicitvkCmdSetExclusiveScissorNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetExclusiveScissorNV-commandBuffer-recordingYNoneimplicitvkCmdSetExclusiveScissorNVcommandBuffer must be in the recording state
VUID-vkCmdSetExclusiveScissorNV-exclusiveScissorCount-02036YNegativeCommand.ExclusiveScissorNVexplicitvkCmdSetExclusiveScissorNVIf the multiViewport feature is not enabled, exclusiveScissorCount must be 1
VUID-vkCmdSetExclusiveScissorNV-exclusiveScissorCount-arraylengthYNegativeCommand.ExclusiveScissorNVimplicitvkCmdSetExclusiveScissorNVexclusiveScissorCount must be greater than 0
VUID-vkCmdSetExclusiveScissorNV-firstExclusiveScissor-02034YNoneexplicitvkCmdSetExclusiveScissorNVThe sum of firstExclusiveScissor and exclusiveScissorCount must be between 1 and VkPhysicalDeviceLimits::maxViewports, inclusive
VUID-vkCmdSetExclusiveScissorNV-firstExclusiveScissor-02035YNegativeCommand.ExclusiveScissorNVexplicitvkCmdSetExclusiveScissorNVIf the multiViewport feature is not enabled, firstExclusiveScissor must be 0
VUID-vkCmdSetExclusiveScissorNV-offset-02038YNegativeCommand.ExclusiveScissorNVexplicitvkCmdSetExclusiveScissorNVEvaluation of (offset.x + extent.width) for each member of pExclusiveScissors must not cause a signed integer addition overflow
VUID-vkCmdSetExclusiveScissorNV-offset-02039YNegativeCommand.ExclusiveScissorNVexplicitvkCmdSetExclusiveScissorNVEvaluation of (offset.y + extent.height) for each member of pExclusiveScissors must not cause a signed integer addition overflow
VUID-vkCmdSetExclusiveScissorNV-pExclusiveScissors-parameterYNegativeCommand.ExclusiveScissorNVimplicitvkCmdSetExclusiveScissorNVpExclusiveScissors must be a valid pointer to an array of exclusiveScissorCount VkRect2D structures
VUID-vkCmdSetExclusiveScissorNV-videocodingYNoneimplicitvkCmdSetExclusiveScissorNVThis command must only be called outside of a video coding scope
VUID-vkCmdSetExclusiveScissorNV-x-02037YNegativeCommand.ExclusiveScissorNVexplicitvkCmdSetExclusiveScissorNVThe x and y members of offset in each member of pExclusiveScissors must be greater than or equal to 0
VUID-vkCmdSetFragmentShadingRateEnumNV-attachmentFragmentShadingRate-04582NNoneexplicitvkCmdSetFragmentShadingRateEnumNVIf the attachmentFragmentShadingRate feature is not enabled, combinerOps[1] must be VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR
VUID-vkCmdSetFragmentShadingRateEnumNV-combinerOps-parameterYNoneimplicitvkCmdSetFragmentShadingRateEnumNVEach element of combinerOps must be a valid VkFragmentShadingRateCombinerOpKHR value
VUID-vkCmdSetFragmentShadingRateEnumNV-commandBuffer-cmdpoolYNoneimplicitvkCmdSetFragmentShadingRateEnumNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdSetFragmentShadingRateEnumNV-commandBuffer-parameterYNoneimplicitvkCmdSetFragmentShadingRateEnumNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetFragmentShadingRateEnumNV-commandBuffer-recordingYNoneimplicitvkCmdSetFragmentShadingRateEnumNVcommandBuffer must be in the recording state
VUID-vkCmdSetFragmentShadingRateEnumNV-fragmentShadingRateEnums-04579YNoneexplicitvkCmdSetFragmentShadingRateEnumNVThe fragmentShadingRateEnums feature must be enabled
VUID-vkCmdSetFragmentShadingRateEnumNV-fragmentSizeNonTrivialCombinerOps-04583NNoneexplicitvkCmdSetFragmentShadingRateEnumNVIf the fragmentSizeNonTrivialCombinerOps limit is not supported, elements of combinerOps must be either VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR or VK_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_KHR
VUID-vkCmdSetFragmentShadingRateEnumNV-noInvocationFragmentShadingRates-04578NNoneexplicitvkCmdSetFragmentShadingRateEnumNVIf noInvocationFragmentShadingRates is not enabled, shadingRate must not be VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV
VUID-vkCmdSetFragmentShadingRateEnumNV-pipelineFragmentShadingRate-04576NNoneexplicitvkCmdSetFragmentShadingRateEnumNVIf pipelineFragmentShadingRate is not enabled, shadingRate must be VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV
VUID-vkCmdSetFragmentShadingRateEnumNV-pipelineFragmentShadingRate-04580NNoneexplicitvkCmdSetFragmentShadingRateEnumNVOne of the pipelineFragmentShadingRate, primitiveFragmentShadingRate, or attachmentFragmentShadingRate features must be enabled
VUID-vkCmdSetFragmentShadingRateEnumNV-primitiveFragmentShadingRate-04581NNoneexplicitvkCmdSetFragmentShadingRateEnumNVIf the primitiveFragmentShadingRate feature is not enabled, combinerOps[0] must be VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR
VUID-vkCmdSetFragmentShadingRateEnumNV-shadingRate-parameterYNoneimplicitvkCmdSetFragmentShadingRateEnumNVshadingRate must be a valid VkFragmentShadingRateNV value
VUID-vkCmdSetFragmentShadingRateEnumNV-supersampleFragmentShadingRates-04577NNoneexplicitvkCmdSetFragmentShadingRateEnumNVIf supersampleFragmentShadingRates is not enabled, shadingRate must not be VK_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, or VK_FRAGMENT_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV
VUID-vkCmdSetFragmentShadingRateEnumNV-videocodingYNoneimplicitvkCmdSetFragmentShadingRateEnumNVThis command must only be called outside of a video coding scope
VUID-vkCmdSetPerformanceMarkerINTEL-commandBuffer-cmdpoolYNoneimplicitvkCmdSetPerformanceMarkerINTELThe VkCommandPool that commandBuffer was allocated from must support graphics, compute, or transfer operations
VUID-vkCmdSetPerformanceMarkerINTEL-commandBuffer-parameterYNoneimplicitvkCmdSetPerformanceMarkerINTELcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetPerformanceMarkerINTEL-commandBuffer-recordingYNoneimplicitvkCmdSetPerformanceMarkerINTELcommandBuffer must be in the recording state
VUID-vkCmdSetPerformanceMarkerINTEL-pMarkerInfo-parameterYNoneimplicitvkCmdSetPerformanceMarkerINTELpMarkerInfo must be a valid pointer to a valid VkPerformanceMarkerInfoINTEL structure
VUID-vkCmdSetPerformanceMarkerINTEL-videocodingYNoneimplicitvkCmdSetPerformanceMarkerINTELThis command must only be called outside of a video coding scope
VUID-vkCmdSetPerformanceOverrideINTEL-commandBuffer-cmdpoolYNoneimplicitvkCmdSetPerformanceOverrideINTELThe VkCommandPool that commandBuffer was allocated from must support graphics, compute, or transfer operations
VUID-vkCmdSetPerformanceOverrideINTEL-commandBuffer-parameterYNoneimplicitvkCmdSetPerformanceOverrideINTELcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetPerformanceOverrideINTEL-commandBuffer-recordingYNoneimplicitvkCmdSetPerformanceOverrideINTELcommandBuffer must be in the recording state
VUID-vkCmdSetPerformanceOverrideINTEL-pOverrideInfo-02736NNoneexplicitvkCmdSetPerformanceOverrideINTELpOverrideInfo must not be used with a VkPerformanceOverrideTypeINTEL that is not reported available by vkGetPerformanceParameterINTEL
VUID-vkCmdSetPerformanceOverrideINTEL-pOverrideInfo-parameterYNoneimplicitvkCmdSetPerformanceOverrideINTELpOverrideInfo must be a valid pointer to a valid VkPerformanceOverrideInfoINTEL structure
VUID-vkCmdSetPerformanceOverrideINTEL-videocodingYNoneimplicitvkCmdSetPerformanceOverrideINTELThis command must only be called outside of a video coding scope
VUID-vkCmdSetPerformanceStreamMarkerINTEL-commandBuffer-cmdpoolYNoneimplicitvkCmdSetPerformanceStreamMarkerINTELThe VkCommandPool that commandBuffer was allocated from must support graphics, compute, or transfer operations
VUID-vkCmdSetPerformanceStreamMarkerINTEL-commandBuffer-parameterYNoneimplicitvkCmdSetPerformanceStreamMarkerINTELcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetPerformanceStreamMarkerINTEL-commandBuffer-recordingYNoneimplicitvkCmdSetPerformanceStreamMarkerINTELcommandBuffer must be in the recording state
VUID-vkCmdSetPerformanceStreamMarkerINTEL-pMarkerInfo-parameterYNoneimplicitvkCmdSetPerformanceStreamMarkerINTELpMarkerInfo must be a valid pointer to a valid VkPerformanceStreamMarkerInfoINTEL structure
VUID-vkCmdSetPerformanceStreamMarkerINTEL-videocodingYNoneimplicitvkCmdSetPerformanceStreamMarkerINTELThis command must only be called outside of a video coding scope
VUID-vkCmdSetRepresentativeFragmentTestEnableNV-None-09423YNegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabledexplicitvkCmdSetRepresentativeFragmentTestEnableNVAt least one of the following must be true: The extendedDynamicState3RepresentativeFragmentTestEnable feature is enabled The shaderObject feature is enabled
VUID-vkCmdSetRepresentativeFragmentTestEnableNV-commandBuffer-cmdpoolYNoneimplicitvkCmdSetRepresentativeFragmentTestEnableNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdSetRepresentativeFragmentTestEnableNV-commandBuffer-parameterYNoneimplicitvkCmdSetRepresentativeFragmentTestEnableNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetRepresentativeFragmentTestEnableNV-commandBuffer-recordingYNoneimplicitvkCmdSetRepresentativeFragmentTestEnableNVcommandBuffer must be in the recording state
VUID-vkCmdSetRepresentativeFragmentTestEnableNV-videocodingYNoneimplicitvkCmdSetRepresentativeFragmentTestEnableNVThis command must only be called outside of a video coding scope
VUID-vkCmdSetShadingRateImageEnableNV-None-09423YNegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabledexplicitvkCmdSetShadingRateImageEnableNVAt least one of the following must be true: The extendedDynamicState3ShadingRateImageEnable feature is enabled The shaderObject feature is enabled
VUID-vkCmdSetShadingRateImageEnableNV-commandBuffer-cmdpoolYNoneimplicitvkCmdSetShadingRateImageEnableNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdSetShadingRateImageEnableNV-commandBuffer-parameterYNoneimplicitvkCmdSetShadingRateImageEnableNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetShadingRateImageEnableNV-commandBuffer-recordingYNoneimplicitvkCmdSetShadingRateImageEnableNVcommandBuffer must be in the recording state
VUID-vkCmdSetShadingRateImageEnableNV-videocodingYNoneimplicitvkCmdSetShadingRateImageEnableNVThis command must only be called outside of a video coding scope
VUID-vkCmdSetViewportShadingRatePaletteNV-None-02064YNoneexplicitvkCmdSetViewportShadingRatePaletteNVThe shadingRateImage feature must be enabled
VUID-vkCmdSetViewportShadingRatePaletteNV-commandBuffer-cmdpoolYNoneimplicitvkCmdSetViewportShadingRatePaletteNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdSetViewportShadingRatePaletteNV-commandBuffer-parameterYNoneimplicitvkCmdSetViewportShadingRatePaletteNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetViewportShadingRatePaletteNV-commandBuffer-recordingYNoneimplicitvkCmdSetViewportShadingRatePaletteNVcommandBuffer must be in the recording state
VUID-vkCmdSetViewportShadingRatePaletteNV-firstViewport-02067YNegativeFragmentShadingRate.ShadingRateImageNVexplicitvkCmdSetViewportShadingRatePaletteNVThe sum of firstViewport and viewportCount must be between 1 and VkPhysicalDeviceLimits::maxViewports, inclusive
VUID-vkCmdSetViewportShadingRatePaletteNV-firstViewport-02068YNegativeFragmentShadingRate.ShadingRateImageNVexplicitvkCmdSetViewportShadingRatePaletteNVIf the multiViewport feature is not enabled, firstViewport must be 0
VUID-vkCmdSetViewportShadingRatePaletteNV-pShadingRatePalettes-parameterYNoneimplicitvkCmdSetViewportShadingRatePaletteNVpShadingRatePalettes must be a valid pointer to an array of viewportCount valid VkShadingRatePaletteNV structures
VUID-vkCmdSetViewportShadingRatePaletteNV-videocodingYNoneimplicitvkCmdSetViewportShadingRatePaletteNVThis command must only be called outside of a video coding scope
VUID-vkCmdSetViewportShadingRatePaletteNV-viewportCount-02069YNegativeFragmentShadingRate.ShadingRateImageNVexplicitvkCmdSetViewportShadingRatePaletteNVIf the multiViewport feature is not enabled, viewportCount must be 1
VUID-vkCmdSetViewportShadingRatePaletteNV-viewportCount-arraylengthYNoneimplicitvkCmdSetViewportShadingRatePaletteNVviewportCount must be greater than 0
VUID-vkCmdSetViewportSwizzleNV-None-09423YNegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabledexplicitvkCmdSetViewportSwizzleNVAt least one of the following must be true: The extendedDynamicState3ViewportSwizzle feature is enabled The shaderObject feature is enabled
VUID-vkCmdSetViewportSwizzleNV-commandBuffer-cmdpoolYNoneimplicitvkCmdSetViewportSwizzleNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdSetViewportSwizzleNV-commandBuffer-parameterYNoneimplicitvkCmdSetViewportSwizzleNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetViewportSwizzleNV-commandBuffer-recordingYNoneimplicitvkCmdSetViewportSwizzleNVcommandBuffer must be in the recording state
VUID-vkCmdSetViewportSwizzleNV-pViewportSwizzles-parameterYNoneimplicitvkCmdSetViewportSwizzleNVpViewportSwizzles must be a valid pointer to an array of viewportCount valid VkViewportSwizzleNV structures
VUID-vkCmdSetViewportSwizzleNV-videocodingYNoneimplicitvkCmdSetViewportSwizzleNVThis command must only be called outside of a video coding scope
VUID-vkCmdSetViewportSwizzleNV-viewportCount-arraylengthYNoneimplicitvkCmdSetViewportSwizzleNVviewportCount must be greater than 0
VUID-vkCmdSetViewportWScalingEnableNV-None-09423YNegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabledexplicitvkCmdSetViewportWScalingEnableNVAt least one of the following must be true: The extendedDynamicState3ViewportWScalingEnable feature is enabled The shaderObject feature is enabled
VUID-vkCmdSetViewportWScalingEnableNV-commandBuffer-cmdpoolYNoneimplicitvkCmdSetViewportWScalingEnableNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdSetViewportWScalingEnableNV-commandBuffer-parameterYNoneimplicitvkCmdSetViewportWScalingEnableNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetViewportWScalingEnableNV-commandBuffer-recordingYNoneimplicitvkCmdSetViewportWScalingEnableNVcommandBuffer must be in the recording state
VUID-vkCmdSetViewportWScalingEnableNV-videocodingYNoneimplicitvkCmdSetViewportWScalingEnableNVThis command must only be called outside of a video coding scope
VUID-vkCmdSetViewportWScalingNV-commandBuffer-cmdpoolYNoneimplicitvkCmdSetViewportWScalingNVThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdSetViewportWScalingNV-commandBuffer-parameterYNoneimplicitvkCmdSetViewportWScalingNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSetViewportWScalingNV-commandBuffer-recordingYNoneimplicitvkCmdSetViewportWScalingNVcommandBuffer must be in the recording state
VUID-vkCmdSetViewportWScalingNV-firstViewport-01324YNegativeCommand.ViewportWScalingNVexplicitvkCmdSetViewportWScalingNVThe sum of firstViewport and viewportCount must be between 1 and VkPhysicalDeviceLimits::maxViewports, inclusive
VUID-vkCmdSetViewportWScalingNV-pViewportWScalings-parameterYNoneimplicitvkCmdSetViewportWScalingNVpViewportWScalings must be a valid pointer to an array of viewportCount VkViewportWScalingNV structures
VUID-vkCmdSetViewportWScalingNV-videocodingYNoneimplicitvkCmdSetViewportWScalingNVThis command must only be called outside of a video coding scope
VUID-vkCmdSetViewportWScalingNV-viewportCount-arraylengthYNoneimplicitvkCmdSetViewportWScalingNVviewportCount must be greater than 0
VUID-vkCmdSubpassShadingHUAWEI-ConstOffset-06551NNoneexplicitvkCmdSubpassShadingHUAWEIIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must not use the ConstOffset and Offset operands
VUID-vkCmdSubpassShadingHUAWEI-None-02691NNoneexplicitvkCmdSubpassShadingHUAWEIIf a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
VUID-vkCmdSubpassShadingHUAWEI-None-02692NNoneexplicitvkCmdSubpassShadingHUAWEIIf a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
VUID-vkCmdSubpassShadingHUAWEI-None-02693NNoneexplicitvkCmdSubpassShadingHUAWEIIf the VK_EXT_filter_cubic extension is not enabled and any VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, it must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
VUID-vkCmdSubpassShadingHUAWEI-None-04931NNoneexplicitvkCmdSubpassShadingHUAWEIThis command must be called in a subpass with bind point VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI. No draw commands can be called in the same subpass. Only one vkCmdSubpassShadingHUAWEI command can be called in a subpass
VUID-vkCmdSubpassShadingHUAWEI-None-06479NNoneexplicitvkCmdSubpassShadingHUAWEIIf a VkImageView is sampled with depth comparison, the image view's format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT
VUID-vkCmdSubpassShadingHUAWEI-None-06550NNoneexplicitvkCmdSubpassShadingHUAWEIIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions
VUID-vkCmdSubpassShadingHUAWEI-None-07288NNoneexplicitvkCmdSubpassShadingHUAWEIAny shader invocation executed by this command must terminate
VUID-vkCmdSubpassShadingHUAWEI-None-07888NNoneexplicitvkCmdSubpassShadingHUAWEIIf a VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer's format features must contain VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
VUID-vkCmdSubpassShadingHUAWEI-None-08114NNoneexplicitvkCmdSubpassShadingHUAWEIDescriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid as described by descriptor validity if they are statically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was not created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdSubpassShadingHUAWEI-None-08115NNoneexplicitvkCmdSubpassShadingHUAWEIIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdBindDescriptorSets, the bound VkPipeline must have been created without VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdSubpassShadingHUAWEI-None-08116NNoneexplicitvkCmdSubpassShadingHUAWEIDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdSubpassShadingHUAWEI-None-08117NNoneexplicitvkCmdSubpassShadingHUAWEIIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdSetDescriptorBufferOffsetsEXT, the bound VkPipeline must have been created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdSubpassShadingHUAWEI-None-08119NNoneexplicitvkCmdSubpassShadingHUAWEIIf a descriptor is dynamically used with a VkPipeline created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdSubpassShadingHUAWEI-None-08600NNoneexplicitvkCmdSubpassShadingHUAWEIFor each set n that is statically used by a bound shader, a descriptor set must have been bound to n at the same pipeline bind point, with a VkPipelineLayout that is compatible for set n, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdSubpassShadingHUAWEI-None-08601NNoneexplicitvkCmdSubpassShadingHUAWEIFor each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdSubpassShadingHUAWEI-None-08604NNoneexplicitvkCmdSubpassShadingHUAWEIDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command
VUID-vkCmdSubpassShadingHUAWEI-None-08605NNoneexplicitvkCmdSubpassShadingHUAWEIIf a descriptor is dynamically used with a VkShaderEXT created with a VkDescriptorSetLayout that was created with VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdSubpassShadingHUAWEI-None-08606NNoneexplicitvkCmdSubpassShadingHUAWEIIf the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command
VUID-vkCmdSubpassShadingHUAWEI-None-08607NNoneexplicitvkCmdSubpassShadingHUAWEIIf the shaderObject is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command
VUID-vkCmdSubpassShadingHUAWEI-None-08608NNoneexplicitvkCmdSubpassShadingHUAWEIIf a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state not specified as dynamic in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound
VUID-vkCmdSubpassShadingHUAWEI-None-08609NNoneexplicitvkCmdSubpassShadingHUAWEIIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
VUID-vkCmdSubpassShadingHUAWEI-None-08610NNoneexplicitvkCmdSubpassShadingHUAWEIIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage
VUID-vkCmdSubpassShadingHUAWEI-None-08611NNoneexplicitvkCmdSubpassShadingHUAWEIIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage
VUID-vkCmdSubpassShadingHUAWEI-None-08612NNoneexplicitvkCmdSubpassShadingHUAWEIIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a uniform buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdSubpassShadingHUAWEI-None-08613NNoneexplicitvkCmdSubpassShadingHUAWEIIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a storage buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdSubpassShadingHUAWEI-None-09600NNoneexplicitvkCmdSubpassShadingHUAWEIIf a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written
VUID-vkCmdSubpassShadingHUAWEI-OpImageBlockMatchSADQCOM-06975NNoneexplicitvkCmdSubpassShadingHUAWEIIf OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdSubpassShadingHUAWEI-OpImageBlockMatchSADQCOM-06976NNoneexplicitvkCmdSubpassShadingHUAWEIIf OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdSubpassShadingHUAWEI-OpImageBlockMatchSSDQCOM-06974NNoneexplicitvkCmdSubpassShadingHUAWEIIf OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdSubpassShadingHUAWEI-OpImageBlockMatchWindow-09215NNoneexplicitvkCmdSubpassShadingHUAWEIIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdSubpassShadingHUAWEI-OpImageBlockMatchWindow-09216NNoneexplicitvkCmdSubpassShadingHUAWEIIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format must be a single-component format.
VUID-vkCmdSubpassShadingHUAWEI-OpImageBlockMatchWindow-09217NNoneexplicitvkCmdSubpassShadingHUAWEIIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdSubpassShadingHUAWEI-OpImageBoxFilterQCOM-06973NNoneexplicitvkCmdSubpassShadingHUAWEIIf OpImageBoxFilterQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM
VUID-vkCmdSubpassShadingHUAWEI-OpImageWeightedSampleQCOM-06971NNoneexplicitvkCmdSubpassShadingHUAWEIIf OpImageWeightedSampleQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM
VUID-vkCmdSubpassShadingHUAWEI-OpImageWeightedSampleQCOM-06972NNoneexplicitvkCmdSubpassShadingHUAWEIIf OpImageWeightedSampleQCOM uses a VkImageView as a sample weight image as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM
VUID-vkCmdSubpassShadingHUAWEI-OpImageWeightedSampleQCOM-06977NNoneexplicitvkCmdSubpassShadingHUAWEIIf OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdSubpassShadingHUAWEI-OpImageWeightedSampleQCOM-06978NNoneexplicitvkCmdSubpassShadingHUAWEIIf any command other than OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must not have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdSubpassShadingHUAWEI-OpImageWrite-04469NNoneexplicitvkCmdSubpassShadingHUAWEIIf a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format
VUID-vkCmdSubpassShadingHUAWEI-OpImageWrite-08795NNoneexplicitvkCmdSubpassShadingHUAWEIIf a VkImageView created with a format other than VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format
VUID-vkCmdSubpassShadingHUAWEI-OpImageWrite-08796NNoneexplicitvkCmdSubpassShadingHUAWEIIf a VkImageView created with the format VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have four components
VUID-vkCmdSubpassShadingHUAWEI-OpTypeImage-07027NNoneexplicitvkCmdSubpassShadingHUAWEIFor any VkImageView being written as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdSubpassShadingHUAWEI-OpTypeImage-07028NNoneexplicitvkCmdSubpassShadingHUAWEIFor any VkImageView being read as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdSubpassShadingHUAWEI-OpTypeImage-07029NNoneexplicitvkCmdSubpassShadingHUAWEIFor any VkBufferView being written as a storage texel buffer where the image format field of the OpTypeImage is Unknown, the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdSubpassShadingHUAWEI-OpTypeImage-07030NNoneexplicitvkCmdSubpassShadingHUAWEIAny VkBufferView being read as a storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdSubpassShadingHUAWEI-SampledType-04470NNoneexplicitvkCmdSubpassShadingHUAWEIIf a VkImageView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdSubpassShadingHUAWEI-SampledType-04471NNoneexplicitvkCmdSubpassShadingHUAWEIIf a VkImageView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdSubpassShadingHUAWEI-SampledType-04472NNoneexplicitvkCmdSubpassShadingHUAWEIIf a VkBufferView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdSubpassShadingHUAWEI-SampledType-04473NNoneexplicitvkCmdSubpassShadingHUAWEIIf a VkBufferView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdSubpassShadingHUAWEI-commandBuffer-02707NNoneexplicitvkCmdSubpassShadingHUAWEIIf commandBuffer is an unprotected command buffer and protectedNoFault is not supported, any resource accessed by bound shaders must not be a protected resource
VUID-vkCmdSubpassShadingHUAWEI-commandBuffer-cmdpoolYNoneimplicitvkCmdSubpassShadingHUAWEIThe VkCommandPool that commandBuffer was allocated from must support graphics operations
VUID-vkCmdSubpassShadingHUAWEI-commandBuffer-parameterYNoneimplicitvkCmdSubpassShadingHUAWEIcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdSubpassShadingHUAWEI-commandBuffer-recordingYNoneimplicitvkCmdSubpassShadingHUAWEIcommandBuffer must be in the recording state
VUID-vkCmdSubpassShadingHUAWEI-cubicRangeClamp-09212NNoneexplicitvkCmdSubpassShadingHUAWEIIf the cubicRangeClamp feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must not have a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM
VUID-vkCmdSubpassShadingHUAWEI-filterCubic-02694NNoneexplicitvkCmdSubpassShadingHUAWEIAny VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have a VkImageViewType and format that supports cubic filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubic returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdSubpassShadingHUAWEI-filterCubicMinmax-02695NNoneexplicitvkCmdSubpassShadingHUAWEIAny VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdSubpassShadingHUAWEI-flags-02696NNoneexplicitvkCmdSubpassShadingHUAWEIAny VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
VUID-vkCmdSubpassShadingHUAWEI-format-07753NNoneexplicitvkCmdSubpassShadingHUAWEIIf a VkImageView is accessed as a result of this command, then the numeric type of the image view's format and the Sampled Type operand of the OpTypeImage must match
VUID-vkCmdSubpassShadingHUAWEI-magFilter-04553NNoneexplicitvkCmdSubpassShadingHUAWEIIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdSubpassShadingHUAWEI-magFilter-09598NNoneexplicitvkCmdSubpassShadingHUAWEIIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdSubpassShadingHUAWEI-maintenance4-08602NNoneexplicitvkCmdSubpassShadingHUAWEIIf the maintenance4 feature is not enabled, then for each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout and VkPushConstantRange arrays used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdSubpassShadingHUAWEI-mipmapMode-04770NNoneexplicitvkCmdSubpassShadingHUAWEIIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdSubpassShadingHUAWEI-mipmapMode-09599NNoneexplicitvkCmdSubpassShadingHUAWEIIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdSubpassShadingHUAWEI-reductionMode-09213NNoneexplicitvkCmdSubpassShadingHUAWEIAny VkImageView being sampled with a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM as a result of this command must sample with VK_FILTER_CUBIC_EXT
VUID-vkCmdSubpassShadingHUAWEI-renderpassYNoneimplicitvkCmdSubpassShadingHUAWEIThis command must only be called inside of a render pass instance
VUID-vkCmdSubpassShadingHUAWEI-selectableCubicWeights-09214NNoneexplicitvkCmdSubpassShadingHUAWEIIf the selectableCubicWeights feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have VkSamplerCubicWeightsCreateInfoQCOM::cubicWeights equal to VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM
VUID-vkCmdSubpassShadingHUAWEI-sparseImageInt64Atomics-04474NNoneexplicitvkCmdSubpassShadingHUAWEIIf the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdSubpassShadingHUAWEI-sparseImageInt64Atomics-04475NNoneexplicitvkCmdSubpassShadingHUAWEIIf the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdSubpassShadingHUAWEI-storageBuffers-06936NNoneexplicitvkCmdSubpassShadingHUAWEIIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdSubpassShadingHUAWEI-uniformBuffers-06935NNoneexplicitvkCmdSubpassShadingHUAWEIIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdSubpassShadingHUAWEI-videocodingYNoneimplicitvkCmdSubpassShadingHUAWEIThis command must only be called outside of a video coding scope
VUID-vkCmdSubpassShadingHUAWEI-viewType-07752NNoneexplicitvkCmdSubpassShadingHUAWEIIf a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Instruction/Sampler/Image View Validation
VUID-vkCmdTraceRaysNV-ConstOffset-06551YNoneexplicitvkCmdTraceRaysNVIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must not use the ConstOffset and Offset operands
VUID-vkCmdTraceRaysNV-None-02691YNoneexplicitvkCmdTraceRaysNVIf a VkImageView is accessed using atomic operations as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_ATOMIC_BIT
VUID-vkCmdTraceRaysNV-None-02692YNoneexplicitvkCmdTraceRaysNVIf a VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_CUBIC_BIT_EXT
VUID-vkCmdTraceRaysNV-None-02693YNoneexplicitvkCmdTraceRaysNVIf the VK_EXT_filter_cubic extension is not enabled and any VkImageView is sampled with VK_FILTER_CUBIC_EXT as a result of this command, it must not have a VkImageViewType of VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY
VUID-vkCmdTraceRaysNV-None-03429NNoneexplicitvkCmdTraceRaysNVAny shader group handle referenced by this call must have been queried from the currently bound ray tracing pipeline
VUID-vkCmdTraceRaysNV-None-06479YNoneexplicitvkCmdTraceRaysNVIf a VkImageView is sampled with depth comparison, the image view's format features must contain VK_FORMAT_FEATURE_2_SAMPLED_IMAGE_DEPTH_COMPARISON_BIT
VUID-vkCmdTraceRaysNV-None-06550YNoneexplicitvkCmdTraceRaysNVIf a bound shader accesses a VkSampler or VkImageView object that enables sampler Y'CBCR conversion, that object must only be used with OpImageSample* or OpImageSparseSample* instructions
VUID-vkCmdTraceRaysNV-None-07288NNoneexplicitvkCmdTraceRaysNVAny shader invocation executed by this command must terminate
VUID-vkCmdTraceRaysNV-None-07888YNoneexplicitvkCmdTraceRaysNVIf a VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER descriptor is accessed using atomic operations as a result of this command, then the storage texel buffer's format features must contain VK_FORMAT_FEATURE_STORAGE_TEXEL_BUFFER_ATOMIC_BIT
VUID-vkCmdTraceRaysNV-None-08114YNoneexplicitvkCmdTraceRaysNVDescriptors in each bound descriptor set, specified via vkCmdBindDescriptorSets, must be valid as described by descriptor validity if they are statically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was not created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdTraceRaysNV-None-08115YNoneexplicitvkCmdTraceRaysNVIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdBindDescriptorSets, the bound VkPipeline must have been created without VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdTraceRaysNV-None-08116NNoneexplicitvkCmdTraceRaysNVDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by the VkPipeline bound to the pipeline bind point used by this command and the bound VkPipeline was created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdTraceRaysNV-None-08117YNoneexplicitvkCmdTraceRaysNVIf the descriptors used by the VkPipeline bound to the pipeline bind point were specified via vkCmdSetDescriptorBufferOffsetsEXT, the bound VkPipeline must have been created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT
VUID-vkCmdTraceRaysNV-None-08119NNoneexplicitvkCmdTraceRaysNVIf a descriptor is dynamically used with a VkPipeline created with VK_PIPELINE_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdTraceRaysNV-None-08600YPositiveShaderPushConstants.SpecConstantSizeSetexplicitvkCmdTraceRaysNVFor each set n that is statically used by a bound shader, a descriptor set must have been bound to n at the same pipeline bind point, with a VkPipelineLayout that is compatible for set n, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdTraceRaysNV-None-08601NNoneexplicitvkCmdTraceRaysNVFor each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdTraceRaysNV-None-08604NNoneexplicitvkCmdTraceRaysNVDescriptors in bound descriptor buffers, specified via vkCmdSetDescriptorBufferOffsetsEXT, must be valid if they are dynamically used by any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command
VUID-vkCmdTraceRaysNV-None-08605NNoneexplicitvkCmdTraceRaysNVIf a descriptor is dynamically used with a VkShaderEXT created with a VkDescriptorSetLayout that was created with VK_DESCRIPTOR_SET_LAYOUT_CREATE_DESCRIPTOR_BUFFER_BIT_EXT, the descriptor memory must be resident
VUID-vkCmdTraceRaysNV-None-08606YNoneexplicitvkCmdTraceRaysNVIf the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command
VUID-vkCmdTraceRaysNV-None-08607YNoneexplicitvkCmdTraceRaysNVIf the shaderObject is enabled, either a valid pipeline must be bound to the pipeline bind point used by this command, or a valid combination of valid and VK_NULL_HANDLE shader objects must be bound to every supported shader stage corresponding to the pipeline bind point used by this command
VUID-vkCmdTraceRaysNV-None-08608YNoneexplicitvkCmdTraceRaysNVIf a pipeline is bound to the pipeline bind point used by this command, there must not have been any calls to dynamic state setting commands for any state not specified as dynamic in the VkPipeline object bound to the pipeline bind point used by this command, since that pipeline was bound
VUID-vkCmdTraceRaysNV-None-08609YNoneexplicitvkCmdTraceRaysNVIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used to sample from any VkImage with a VkImageView of the type VK_IMAGE_VIEW_TYPE_3D, VK_IMAGE_VIEW_TYPE_CUBE, VK_IMAGE_VIEW_TYPE_1D_ARRAY, VK_IMAGE_VIEW_TYPE_2D_ARRAY or VK_IMAGE_VIEW_TYPE_CUBE_ARRAY, in any shader stage
VUID-vkCmdTraceRaysNV-None-08610YNoneexplicitvkCmdTraceRaysNVIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions with ImplicitLod, Dref or Proj in their name, in any shader stage
VUID-vkCmdTraceRaysNV-None-08611YNoneexplicitvkCmdTraceRaysNVIf the VkPipeline object bound to the pipeline bind point used by this command or any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a VkSampler object that uses unnormalized coordinates, that sampler must not be used with any of the SPIR-V OpImageSample* or OpImageSparseSample* instructions that includes a LOD bias or any offset values, in any shader stage
VUID-vkCmdTraceRaysNV-None-08612YNoneexplicitvkCmdTraceRaysNVIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a uniform buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdTraceRaysNV-None-08613YNoneexplicitvkCmdTraceRaysNVIf the robustBufferAccess feature is not enabled, and any VkShaderEXT bound to a stage corresponding to the pipeline bind point used by this command accesses a storage buffer, it must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdTraceRaysNV-None-09458YNoneexplicitvkCmdTraceRaysNVIf the bound ray tracing pipeline state was created with the VK_DYNAMIC_STATE_RAY_TRACING_PIPELINE_STACK_SIZE_KHR dynamic state enabled then vkCmdSetRayTracingPipelineStackSizeKHR must have been called in the current command buffer prior to this trace command
VUID-vkCmdTraceRaysNV-None-09600NNoneexplicitvkCmdTraceRaysNVIf a descriptor with type equal to any of VK_DESCRIPTOR_TYPE_SAMPLE_WEIGHT_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_BLOCK_MATCH_IMAGE_QCOM, VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_INPUT_ATTACHMENT is accessed as a result of this command, the image subresource identified by that descriptor must be in the image layout identified when the descriptor was written
VUID-vkCmdTraceRaysNV-OpImageBlockMatchSADQCOM-06975NNoneexplicitvkCmdTraceRaysNVIf OpImageBlockMatchSADQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdTraceRaysNV-OpImageBlockMatchSADQCOM-06976NNoneexplicitvkCmdTraceRaysNVIf OpImageBlockMatchSADQCOM or OpImageBlockMatchSSDQCOM is used to read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdTraceRaysNV-OpImageBlockMatchSSDQCOM-06974NNoneexplicitvkCmdTraceRaysNVIf OpImageBlockMatchSSDQCOM is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdTraceRaysNV-OpImageBlockMatchWindow-09215NNoneexplicitvkCmdTraceRaysNVIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BLOCK_MATCHING_BIT_QCOM
VUID-vkCmdTraceRaysNV-OpImageBlockMatchWindow-09216NNoneexplicitvkCmdTraceRaysNVIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM instruction is used to read from an VkImageView as a result of this command, then the image view's format must be a single-component format.
VUID-vkCmdTraceRaysNV-OpImageBlockMatchWindow-09217NNoneexplicitvkCmdTraceRaysNVIf a OpImageBlockMatchWindow*QCOM or OpImageBlockMatchGather*QCOM read from a reference image as result of this command, then the specified reference coordinates must not fail integer texel coordinate validation
VUID-vkCmdTraceRaysNV-OpImageBoxFilterQCOM-06973NNoneexplicitvkCmdTraceRaysNVIf OpImageBoxFilterQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_BOX_FILTER_SAMPLED_BIT_QCOM
VUID-vkCmdTraceRaysNV-OpImageWeightedSampleQCOM-06971NNoneexplicitvkCmdTraceRaysNVIf OpImageWeightedSampleQCOM is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_SAMPLED_IMAGE_BIT_QCOM
VUID-vkCmdTraceRaysNV-OpImageWeightedSampleQCOM-06972NNoneexplicitvkCmdTraceRaysNVIf OpImageWeightedSampleQCOM uses a VkImageView as a sample weight image as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_2_WEIGHT_IMAGE_BIT_QCOM
VUID-vkCmdTraceRaysNV-OpImageWeightedSampleQCOM-06977NNoneexplicitvkCmdTraceRaysNVIf OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdTraceRaysNV-OpImageWeightedSampleQCOM-06978NNoneexplicitvkCmdTraceRaysNVIf any command other than OpImageWeightedSampleQCOM, OpImageBoxFilterQCOM, OpImageBlockMatchWindowSSDQCOM, OpImageBlockMatchWindowSADQCOM, OpImageBlockMatchGatherSSDQCOM, OpImageBlockMatchGatherSADQCOM, OpImageBlockMatchSSDQCOM, or OpImageBlockMatchSADQCOM uses a VkSampler as a result of this command, then the sampler must not have been created with VK_SAMPLER_CREATE_IMAGE_PROCESSING_BIT_QCOM
VUID-vkCmdTraceRaysNV-OpImageWrite-04469YNoneexplicitvkCmdTraceRaysNVIf a VkBufferView is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the buffer view's format
VUID-vkCmdTraceRaysNV-OpImageWrite-08795YNoneexplicitvkCmdTraceRaysNVIf a VkImageView created with a format other than VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have at least as many components as the image view's format
VUID-vkCmdTraceRaysNV-OpImageWrite-08796YNoneexplicitvkCmdTraceRaysNVIf a VkImageView created with the format VK_FORMAT_A8_UNORM_KHR is accessed using OpImageWrite as a result of this command, then the Type of the Texel operand of that instruction must have four components
VUID-vkCmdTraceRaysNV-OpTypeImage-07027YNoneexplicitvkCmdTraceRaysNVFor any VkImageView being written as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdTraceRaysNV-OpTypeImage-07028YNoneexplicitvkCmdTraceRaysNVFor any VkImageView being read as a storage image where the image format field of the OpTypeImage is Unknown, the view's format features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdTraceRaysNV-OpTypeImage-07029YNoneexplicitvkCmdTraceRaysNVFor any VkBufferView being written as a storage texel buffer where the image format field of the OpTypeImage is Unknown, the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_WRITE_WITHOUT_FORMAT_BIT
VUID-vkCmdTraceRaysNV-OpTypeImage-07030YNoneexplicitvkCmdTraceRaysNVAny VkBufferView being read as a storage texel buffer where the image format field of the OpTypeImage is Unknown then the view's buffer features must contain VK_FORMAT_FEATURE_2_STORAGE_READ_WITHOUT_FORMAT_BIT
VUID-vkCmdTraceRaysNV-SampledType-04470YNoneexplicitvkCmdTraceRaysNVIf a VkImageView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdTraceRaysNV-SampledType-04471YNoneexplicitvkCmdTraceRaysNVIf a VkImageView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdTraceRaysNV-SampledType-04472YNoneexplicitvkCmdTraceRaysNVIf a VkBufferView with a VkFormat that has a 64-bit component width is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 64
VUID-vkCmdTraceRaysNV-SampledType-04473YNoneexplicitvkCmdTraceRaysNVIf a VkBufferView with a VkFormat that has a component width less than 64-bit is accessed as a result of this command, the SampledType of the OpTypeImage operand of that instruction must have a Width of 32
VUID-vkCmdTraceRaysNV-callableShaderBindingOffset-02461YNoneexplicitvkCmdTraceRaysNVcallableShaderBindingOffset must be less than the size of callableShaderBindingTableBuffer
VUID-vkCmdTraceRaysNV-callableShaderBindingOffset-02462YPositiveShaderPushConstants.SpecConstantSizeSetexplicitvkCmdTraceRaysNVcallableShaderBindingOffset must be a multiple of VkPhysicalDeviceRayTracingPropertiesNV::shaderGroupBaseAlignment
VUID-vkCmdTraceRaysNV-callableShaderBindingStride-02465YPositiveShaderPushConstants.SpecConstantSizeSetexplicitvkCmdTraceRaysNVcallableShaderBindingStride must be a multiple of VkPhysicalDeviceRayTracingPropertiesNV::shaderGroupHandleSize
VUID-vkCmdTraceRaysNV-callableShaderBindingStride-02468YPositiveShaderPushConstants.SpecConstantSizeSetexplicitvkCmdTraceRaysNVcallableShaderBindingStride must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxShaderGroupStride
VUID-vkCmdTraceRaysNV-callableShaderBindingTableBuffer-04045NNoneexplicitvkCmdTraceRaysNVIf callableShaderBindingTableBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object
VUID-vkCmdTraceRaysNV-callableShaderBindingTableBuffer-parameterYNoneimplicitvkCmdTraceRaysNVIf callableShaderBindingTableBuffer is not VK_NULL_HANDLE, callableShaderBindingTableBuffer must be a valid VkBuffer handle
VUID-vkCmdTraceRaysNV-commandBuffer-02707YNoneexplicitvkCmdTraceRaysNVIf commandBuffer is an unprotected command buffer and protectedNoFault is not supported, any resource accessed by bound shaders must not be a protected resource
VUID-vkCmdTraceRaysNV-commandBuffer-04624YNoneexplicitvkCmdTraceRaysNVcommandBuffer must not be a protected command buffer
VUID-vkCmdTraceRaysNV-commandBuffer-cmdpoolYNoneimplicitvkCmdTraceRaysNVThe VkCommandPool that commandBuffer was allocated from must support compute operations
VUID-vkCmdTraceRaysNV-commandBuffer-parameterYNoneimplicitvkCmdTraceRaysNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdTraceRaysNV-commandBuffer-recordingYNoneimplicitvkCmdTraceRaysNVcommandBuffer must be in the recording state
VUID-vkCmdTraceRaysNV-commonparentYNoneimplicitvkCmdTraceRaysNVEach of callableShaderBindingTableBuffer, commandBuffer, hitShaderBindingTableBuffer, missShaderBindingTableBuffer, and raygenShaderBindingTableBuffer that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDevice
VUID-vkCmdTraceRaysNV-cubicRangeClamp-09212NNoneexplicitvkCmdTraceRaysNVIf the cubicRangeClamp feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must not have a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM
VUID-vkCmdTraceRaysNV-depth-02471YPositiveShaderPushConstants.SpecConstantSizeSetexplicitvkCmdTraceRaysNVdepth must be less than or equal to VkPhysicalDeviceLimits::maxComputeWorkGroupCount[2]
VUID-vkCmdTraceRaysNV-filterCubic-02694YNoneexplicitvkCmdTraceRaysNVAny VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have a VkImageViewType and format that supports cubic filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubic returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdTraceRaysNV-filterCubicMinmax-02695YNoneexplicitvkCmdTraceRaysNVAny VkImageView being sampled with VK_FILTER_CUBIC_EXT with a reduction mode of either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX as a result of this command must have a VkImageViewType and format that supports cubic filtering together with minmax filtering, as specified by VkFilterCubicImageViewImageFormatPropertiesEXT::filterCubicMinmax returned by vkGetPhysicalDeviceImageFormatProperties2
VUID-vkCmdTraceRaysNV-flags-02696YNoneexplicitvkCmdTraceRaysNVAny VkImage created with a VkImageCreateInfo::flags containing VK_IMAGE_CREATE_CORNER_SAMPLED_BIT_NV sampled as a result of this command must only be sampled using a VkSamplerAddressMode of VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE
VUID-vkCmdTraceRaysNV-format-07753YNoneexplicitvkCmdTraceRaysNVIf a VkImageView is accessed as a result of this command, then the numeric type of the image view's format and the Sampled Type operand of the OpTypeImage must match
VUID-vkCmdTraceRaysNV-height-02470YPositiveShaderPushConstants.SpecConstantSizeSetexplicitvkCmdTraceRaysNVheight must be less than or equal to VkPhysicalDeviceLimits::maxComputeWorkGroupCount[1]
VUID-vkCmdTraceRaysNV-hitShaderBindingOffset-02459YNoneexplicitvkCmdTraceRaysNVhitShaderBindingOffset must be less than the size of hitShaderBindingTableBuffer
VUID-vkCmdTraceRaysNV-hitShaderBindingOffset-02460YPositiveShaderPushConstants.SpecConstantSizeSetexplicitvkCmdTraceRaysNVhitShaderBindingOffset must be a multiple of VkPhysicalDeviceRayTracingPropertiesNV::shaderGroupBaseAlignment
VUID-vkCmdTraceRaysNV-hitShaderBindingStride-02464YPositiveShaderPushConstants.SpecConstantSizeSetexplicitvkCmdTraceRaysNVhitShaderBindingStride must be a multiple of VkPhysicalDeviceRayTracingPropertiesNV::shaderGroupHandleSize
VUID-vkCmdTraceRaysNV-hitShaderBindingStride-02467YPositiveShaderPushConstants.SpecConstantSizeSetexplicitvkCmdTraceRaysNVhitShaderBindingStride must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxShaderGroupStride
VUID-vkCmdTraceRaysNV-hitShaderBindingTableBuffer-04044NNoneexplicitvkCmdTraceRaysNVIf hitShaderBindingTableBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object
VUID-vkCmdTraceRaysNV-hitShaderBindingTableBuffer-parameterYNoneimplicitvkCmdTraceRaysNVIf hitShaderBindingTableBuffer is not VK_NULL_HANDLE, hitShaderBindingTableBuffer must be a valid VkBuffer handle
VUID-vkCmdTraceRaysNV-magFilter-04553YNoneexplicitvkCmdTraceRaysNVIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdTraceRaysNV-magFilter-09598NNoneexplicitvkCmdTraceRaysNVIf a VkSampler created with magFilter or minFilter equal to VK_FILTER_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdTraceRaysNV-maintenance4-08602YNoneexplicitvkCmdTraceRaysNVIf the maintenance4 feature is not enabled, then for each push constant that is statically used by a bound shader, a push constant value must have been set for the same pipeline bind point, with a VkPipelineLayout that is compatible for push constants, with the VkPipelineLayout used to create the current VkPipeline or the VkDescriptorSetLayout and VkPushConstantRange arrays used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility
VUID-vkCmdTraceRaysNV-maxRecursionDepth-03625NNoneexplicitvkCmdTraceRaysNVThis command must not cause a pipeline trace ray instruction to be executed from a shader invocation with a recursion depth greater than the value of maxRecursionDepth used to create the bound ray tracing pipeline
VUID-vkCmdTraceRaysNV-mipmapMode-04770YNoneexplicitvkCmdTraceRaysNVIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR, reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE, and compareEnable equal to VK_FALSE is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_LINEAR_BIT
VUID-vkCmdTraceRaysNV-mipmapMode-09599NNoneexplicitvkCmdTraceRaysNVIf a VkSampler created with mipmapMode equal to VK_SAMPLER_MIPMAP_MODE_LINEAR and reductionMode equal to either VK_SAMPLER_REDUCTION_MODE_MIN or VK_SAMPLER_REDUCTION_MODE_MAX is used to sample a VkImageView as a result of this command, then the image view's format features must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_FILTER_MINMAX_BIT
VUID-vkCmdTraceRaysNV-missShaderBindingOffset-02457YNoneexplicitvkCmdTraceRaysNVmissShaderBindingOffset must be less than the size of missShaderBindingTableBuffer
VUID-vkCmdTraceRaysNV-missShaderBindingOffset-02458YPositiveShaderPushConstants.SpecConstantSizeSetexplicitvkCmdTraceRaysNVmissShaderBindingOffset must be a multiple of VkPhysicalDeviceRayTracingPropertiesNV::shaderGroupBaseAlignment
VUID-vkCmdTraceRaysNV-missShaderBindingStride-02463YPositiveShaderPushConstants.SpecConstantSizeSetexplicitvkCmdTraceRaysNVmissShaderBindingStride must be a multiple of VkPhysicalDeviceRayTracingPropertiesNV::shaderGroupHandleSize
VUID-vkCmdTraceRaysNV-missShaderBindingStride-02466YPositiveShaderPushConstants.SpecConstantSizeSetexplicitvkCmdTraceRaysNVmissShaderBindingStride must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxShaderGroupStride
VUID-vkCmdTraceRaysNV-missShaderBindingTableBuffer-04043NNoneexplicitvkCmdTraceRaysNVIf missShaderBindingTableBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object
VUID-vkCmdTraceRaysNV-missShaderBindingTableBuffer-parameterYNoneimplicitvkCmdTraceRaysNVIf missShaderBindingTableBuffer is not VK_NULL_HANDLE, missShaderBindingTableBuffer must be a valid VkBuffer handle
VUID-vkCmdTraceRaysNV-raygenShaderBindingOffset-02455YNoneexplicitvkCmdTraceRaysNVraygenShaderBindingOffset must be less than the size of raygenShaderBindingTableBuffer
VUID-vkCmdTraceRaysNV-raygenShaderBindingOffset-02456YPositiveShaderPushConstants.SpecConstantSizeSetexplicitvkCmdTraceRaysNVraygenShaderBindingOffset must be a multiple of VkPhysicalDeviceRayTracingPropertiesNV::shaderGroupBaseAlignment
VUID-vkCmdTraceRaysNV-raygenShaderBindingTableBuffer-04042NNoneexplicitvkCmdTraceRaysNVIf raygenShaderBindingTableBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object
VUID-vkCmdTraceRaysNV-raygenShaderBindingTableBuffer-parameterYNoneimplicitvkCmdTraceRaysNVraygenShaderBindingTableBuffer must be a valid VkBuffer handle
VUID-vkCmdTraceRaysNV-reductionMode-09213NNoneexplicitvkCmdTraceRaysNVAny VkImageView being sampled with a VkSamplerReductionModeCreateInfo::reductionMode equal to VK_SAMPLER_REDUCTION_MODE_WEIGHTED_AVERAGE_RANGECLAMP_QCOM as a result of this command must sample with VK_FILTER_CUBIC_EXT
VUID-vkCmdTraceRaysNV-renderpassYNoneimplicitvkCmdTraceRaysNVThis command must only be called outside of a render pass instance
VUID-vkCmdTraceRaysNV-selectableCubicWeights-09214NNoneexplicitvkCmdTraceRaysNVIf the selectableCubicWeights feature is not enabled, then any VkImageView being sampled with VK_FILTER_CUBIC_EXT as a result of this command must have VkSamplerCubicWeightsCreateInfoQCOM::cubicWeights equal to VK_CUBIC_FILTER_WEIGHTS_CATMULL_ROM_QCOM
VUID-vkCmdTraceRaysNV-sparseImageInt64Atomics-04474YNoneexplicitvkCmdTraceRaysNVIf the sparseImageInt64Atomics feature is not enabled, VkImage objects created with the VK_IMAGE_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdTraceRaysNV-sparseImageInt64Atomics-04475NNoneexplicitvkCmdTraceRaysNVIf the sparseImageInt64Atomics feature is not enabled, VkBuffer objects created with the VK_BUFFER_CREATE_SPARSE_RESIDENCY_BIT flag must not be accessed by atomic instructions through an OpTypeImage with a SampledType with a Width of 64 by this command
VUID-vkCmdTraceRaysNV-storageBuffers-06936YNoneexplicitvkCmdTraceRaysNVIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a storage buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for storageBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdTraceRaysNV-uniformBuffers-06935YNoneexplicitvkCmdTraceRaysNVIf any stage of the VkPipeline object bound to the pipeline bind point used by this command accesses a uniform buffer, and that stage was created without enabling either VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT or VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_2_EXT for uniformBuffers, and the robustBufferAccess feature is not enabled, that stage must not access values outside of the range of the buffer as specified in the descriptor set bound to the same pipeline bind point
VUID-vkCmdTraceRaysNV-videocodingYNoneimplicitvkCmdTraceRaysNVThis command must only be called outside of a video coding scope
VUID-vkCmdTraceRaysNV-viewType-07752YNoneexplicitvkCmdTraceRaysNVIf a VkImageView is accessed as a result of this command, then the image view's viewType must match the Dim operand of the OpTypeImage as described in Instruction/Sampler/Image View Validation
VUID-vkCmdTraceRaysNV-width-02469YPositiveShaderPushConstants.SpecConstantSizeSetexplicitvkCmdTraceRaysNVwidth must be less than or equal to VkPhysicalDeviceLimits::maxComputeWorkGroupCount[0]
VUID-vkCmdUpdatePipelineIndirectBufferNV-commandBuffer-cmdpoolYNoneimplicitvkCmdUpdatePipelineIndirectBufferNVThe VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations
VUID-vkCmdUpdatePipelineIndirectBufferNV-commandBuffer-parameterYNoneimplicitvkCmdUpdatePipelineIndirectBufferNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdUpdatePipelineIndirectBufferNV-commandBuffer-recordingYNoneimplicitvkCmdUpdatePipelineIndirectBufferNVcommandBuffer must be in the recording state
VUID-vkCmdUpdatePipelineIndirectBufferNV-commonparentYNoneimplicitvkCmdUpdatePipelineIndirectBufferNVBoth of commandBuffer, and pipeline must have been created, allocated, or retrieved from the same VkDevice
VUID-vkCmdUpdatePipelineIndirectBufferNV-deviceGeneratedComputePipelines-09021NNoneexplicitvkCmdUpdatePipelineIndirectBufferNVThe VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedComputePipelines feature must be enabled
VUID-vkCmdUpdatePipelineIndirectBufferNV-pipeline-09019NNoneexplicitvkCmdUpdatePipelineIndirectBufferNVpipeline must have been created with VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV flag set
VUID-vkCmdUpdatePipelineIndirectBufferNV-pipeline-09020NNoneexplicitvkCmdUpdatePipelineIndirectBufferNVpipeline must have been created with VkComputePipelineIndirectBufferInfoNV structure specifying a valid address where its metadata will be saved
VUID-vkCmdUpdatePipelineIndirectBufferNV-pipeline-parameterYNoneimplicitvkCmdUpdatePipelineIndirectBufferNVpipeline must be a valid VkPipeline handle
VUID-vkCmdUpdatePipelineIndirectBufferNV-pipelineBindPoint-09018NNoneexplicitvkCmdUpdatePipelineIndirectBufferNVpipelineBindPoint must be VK_PIPELINE_BIND_POINT_COMPUTE
VUID-vkCmdUpdatePipelineIndirectBufferNV-pipelineBindPoint-parameterYNoneimplicitvkCmdUpdatePipelineIndirectBufferNVpipelineBindPoint must be a valid VkPipelineBindPoint value
VUID-vkCmdUpdatePipelineIndirectBufferNV-renderpassYNoneimplicitvkCmdUpdatePipelineIndirectBufferNVThis command must only be called outside of a render pass instance
VUID-vkCmdUpdatePipelineIndirectBufferNV-videocodingYNoneimplicitvkCmdUpdatePipelineIndirectBufferNVThis command must only be called outside of a video coding scope
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-accelerationStructure-03757NNoneexplicitvkCmdWriteAccelerationStructuresPropertiesNVaccelerationStructure must be bound completely and contiguously to a single VkDeviceMemory object via vkBindAccelerationStructureMemoryNV
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-accelerationStructureCount-arraylengthYNoneimplicitvkCmdWriteAccelerationStructuresPropertiesNVaccelerationStructureCount must be greater than 0
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-commandBuffer-cmdpoolYNoneimplicitvkCmdWriteAccelerationStructuresPropertiesNVThe VkCommandPool that commandBuffer was allocated from must support compute operations
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-commandBuffer-parameterYNoneimplicitvkCmdWriteAccelerationStructuresPropertiesNVcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-commandBuffer-recordingYNoneimplicitvkCmdWriteAccelerationStructuresPropertiesNVcommandBuffer must be in the recording state
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-commonparentYNoneimplicitvkCmdWriteAccelerationStructuresPropertiesNVEach of commandBuffer, queryPool, and the elements of pAccelerationStructures must have been created, allocated, or retrieved from the same VkDevice
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-pAccelerationStructures-04958NNoneexplicitvkCmdWriteAccelerationStructuresPropertiesNVAll acceleration structures in pAccelerationStructures must have been built prior to the execution of this command
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-pAccelerationStructures-06215YNoneexplicitvkCmdWriteAccelerationStructuresPropertiesNVAll acceleration structures in pAccelerationStructures must have been built with VK_BUILD_ACCELERATION_STRUCTURE_ALLOW_COMPACTION_BIT_KHR if queryType is VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-pAccelerationStructures-parameterYNoneimplicitvkCmdWriteAccelerationStructuresPropertiesNVpAccelerationStructures must be a valid pointer to an array of accelerationStructureCount valid VkAccelerationStructureNV handles
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryPool-03755YNoneexplicitvkCmdWriteAccelerationStructuresPropertiesNVqueryPool must have been created with a queryType matching queryType
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryPool-03756NNoneexplicitvkCmdWriteAccelerationStructuresPropertiesNVThe queries identified by queryPool and firstQuery must be unavailable
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryPool-parameterYNoneimplicitvkCmdWriteAccelerationStructuresPropertiesNVqueryPool must be a valid VkQueryPool handle
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryType-06216YNoneexplicitvkCmdWriteAccelerationStructuresPropertiesNVqueryType must be VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryType-parameterYNoneimplicitvkCmdWriteAccelerationStructuresPropertiesNVqueryType must be a valid VkQueryType value
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-renderpassYNoneimplicitvkCmdWriteAccelerationStructuresPropertiesNVThis command must only be called outside of a render pass instance
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-videocodingYNoneimplicitvkCmdWriteAccelerationStructuresPropertiesNVThis command must only be called outside of a video coding scope
VUID-vkCmdWriteBufferMarker2AMD-commandBuffer-cmdpoolYNoneimplicitvkCmdWriteBufferMarker2AMDThe VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations
VUID-vkCmdWriteBufferMarker2AMD-commandBuffer-parameterYNoneimplicitvkCmdWriteBufferMarker2AMDcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdWriteBufferMarker2AMD-commandBuffer-recordingYNoneimplicitvkCmdWriteBufferMarker2AMDcommandBuffer must be in the recording state
VUID-vkCmdWriteBufferMarker2AMD-commonparentYNoneimplicitvkCmdWriteBufferMarker2AMDBoth of commandBuffer, and dstBuffer must have been created, allocated, or retrieved from the same VkDevice
VUID-vkCmdWriteBufferMarker2AMD-dstBuffer-03897NNoneexplicitvkCmdWriteBufferMarker2AMDdstBuffer must have been created with the VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag
VUID-vkCmdWriteBufferMarker2AMD-dstBuffer-03898NNoneexplicitvkCmdWriteBufferMarker2AMDIf dstBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object
VUID-vkCmdWriteBufferMarker2AMD-dstBuffer-parameterYNoneimplicitvkCmdWriteBufferMarker2AMDdstBuffer must be a valid VkBuffer handle
VUID-vkCmdWriteBufferMarker2AMD-dstOffset-03896NNoneexplicitvkCmdWriteBufferMarker2AMDdstOffset must be less than or equal to the size of dstBuffer minus 4
VUID-vkCmdWriteBufferMarker2AMD-dstOffset-03899NNoneexplicitvkCmdWriteBufferMarker2AMDdstOffset must be a multiple of 4
VUID-vkCmdWriteBufferMarker2AMD-stage-03894NNoneexplicitvkCmdWriteBufferMarker2AMDstage must include only a single pipeline stage
VUID-vkCmdWriteBufferMarker2AMD-stage-03895NNoneexplicitvkCmdWriteBufferMarker2AMDstage must include only stages that are valid for the queue family that was used to create the command pool that commandBuffer was allocated from
VUID-vkCmdWriteBufferMarker2AMD-stage-03929YNoneexplicitvkCmdWriteBufferMarker2AMDIf the geometryShader feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT
VUID-vkCmdWriteBufferMarker2AMD-stage-03930YNoneexplicitvkCmdWriteBufferMarker2AMDIf the tessellationShader feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_TESSELLATION_CONTROL_SHADER_BIT or VK_PIPELINE_STAGE_2_TESSELLATION_EVALUATION_SHADER_BIT
VUID-vkCmdWriteBufferMarker2AMD-stage-03931YNoneexplicitvkCmdWriteBufferMarker2AMDIf the conditionalRendering feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT
VUID-vkCmdWriteBufferMarker2AMD-stage-03932YNoneexplicitvkCmdWriteBufferMarker2AMDIf the fragmentDensityMap feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT
VUID-vkCmdWriteBufferMarker2AMD-stage-03933YNoneexplicitvkCmdWriteBufferMarker2AMDIf the transformFeedback feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT
VUID-vkCmdWriteBufferMarker2AMD-stage-03934YNoneexplicitvkCmdWriteBufferMarker2AMDIf the meshShader feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT
VUID-vkCmdWriteBufferMarker2AMD-stage-03935YNoneexplicitvkCmdWriteBufferMarker2AMDIf the taskShader feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT
VUID-vkCmdWriteBufferMarker2AMD-stage-04957YNoneexplicitvkCmdWriteBufferMarker2AMDIf the subpassShading feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI
VUID-vkCmdWriteBufferMarker2AMD-stage-04995YNoneexplicitvkCmdWriteBufferMarker2AMDIf the invocationMask feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI
VUID-vkCmdWriteBufferMarker2AMD-stage-07316YNoneexplicitvkCmdWriteBufferMarker2AMDIf neither the shadingRateImage or attachmentFragmentShadingRate are enabled, stage must not contain VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
VUID-vkCmdWriteBufferMarker2AMD-stage-07946YNoneexplicitvkCmdWriteBufferMarker2AMDIf neither the VK_NV_ray_tracing extension or rayTracingPipeline feature are enabled, stage must not contain VK_PIPELINE_STAGE_2_RAY_TRACING_SHADER_BIT_KHR
VUID-vkCmdWriteBufferMarker2AMD-stage-parameterYNoneimplicitvkCmdWriteBufferMarker2AMDstage must be a valid combination of VkPipelineStageFlagBits2 values
VUID-vkCmdWriteBufferMarker2AMD-synchronization2-03893NNoneexplicitvkCmdWriteBufferMarker2AMDThe synchronization2 feature must be enabled
VUID-vkCmdWriteBufferMarker2AMD-videocodingYNoneimplicitvkCmdWriteBufferMarker2AMDThis command must only be called outside of a video coding scope
VUID-vkCmdWriteBufferMarkerAMD-commandBuffer-cmdpoolYNoneimplicitvkCmdWriteBufferMarkerAMDThe VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations
VUID-vkCmdWriteBufferMarkerAMD-commandBuffer-parameterYNoneimplicitvkCmdWriteBufferMarkerAMDcommandBuffer must be a valid VkCommandBuffer handle
VUID-vkCmdWriteBufferMarkerAMD-commandBuffer-recordingYNoneimplicitvkCmdWriteBufferMarkerAMDcommandBuffer must be in the recording state
VUID-vkCmdWriteBufferMarkerAMD-commonparentYNoneimplicitvkCmdWriteBufferMarkerAMDBoth of commandBuffer, and dstBuffer must have been created, allocated, or retrieved from the same VkDevice
VUID-vkCmdWriteBufferMarkerAMD-dstBuffer-01799NNoneexplicitvkCmdWriteBufferMarkerAMDdstBuffer must have been created with VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag
VUID-vkCmdWriteBufferMarkerAMD-dstBuffer-01800NNoneexplicitvkCmdWriteBufferMarkerAMDIf dstBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object
VUID-vkCmdWriteBufferMarkerAMD-dstBuffer-parameterYNoneimplicitvkCmdWriteBufferMarkerAMDdstBuffer must be a valid VkBuffer handle
VUID-vkCmdWriteBufferMarkerAMD-dstOffset-01798NNoneexplicitvkCmdWriteBufferMarkerAMDdstOffset must be less than or equal to the size of dstBuffer minus 4
VUID-vkCmdWriteBufferMarkerAMD-dstOffset-01801NNoneexplicitvkCmdWriteBufferMarkerAMDdstOffset must be a multiple of 4
VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04074YNoneexplicitvkCmdWriteBufferMarkerAMDpipelineStage must be a valid stage for the queue family that was used to create the command pool that commandBuffer was allocated from
VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04075YNoneexplicitvkCmdWriteBufferMarkerAMDIf the geometryShader feature is not enabled, pipelineStage must not be VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT
VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04076YNoneexplicitvkCmdWriteBufferMarkerAMDIf the tessellationShader feature is not enabled, pipelineStage must not be VK_PIPELINE_STAGE_TESSELLATION_CONTROL_SHADER_BIT or VK_PIPELINE_STAGE_TESSELLATION_EVALUATION_SHADER_BIT
VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04077YNoneexplicitvkCmdWriteBufferMarkerAMDIf the conditionalRendering feature is not enabled, pipelineStage must not be VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT
VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04078YNoneexplicitvkCmdWriteBufferMarkerAMDIf the fragmentDensityMap feature is not enabled, pipelineStage must not be VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT
VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04079YNoneexplicitvkCmdWriteBufferMarkerAMDIf the transformFeedback feature is not enabled, pipelineStage must not be VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT
VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04080YNoneexplicitvkCmdWriteBufferMarkerAMDIf the meshShader feature is not enabled, pipelineStage must not be VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT
VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-07077YNoneexplicitvkCmdWriteBufferMarkerAMDIf the taskShader feature is not enabled, pipelineStage must not be VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT
VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-parameterYNoneimplicitvkCmdWriteBufferMarkerAMDIf pipelineStage is not 0, pipelineStage must be a valid VkPipelineStageFlagBits value
VUID-vkCmdWriteBufferMarkerAMD-rayTracingPipeline-07943NNoneexplicitvkCmdWriteBufferMarkerAMDIf neither the VK_NV_ray_tracing extension or rayTracingPipeline feature are enabled, pipelineStage must not be VK_PIPELINE_STAGE_RAY_TRACING_SHADER_BIT_KHR
VUID-vkCmdWriteBufferMarkerAMD-shadingRateImage-07314NNoneexplicitvkCmdWriteBufferMarkerAMDIf neither the shadingRateImage or attachmentFragmentShadingRate are enabled, pipelineStage must not be VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR
VUID-vkCmdWriteBufferMarkerAMD-synchronization2-06489NNoneexplicitvkCmdWriteBufferMarkerAMDIf the synchronization2 feature is not enabled, pipelineStage must not be VK_PIPELINE_STAGE_NONE
VUID-vkCmdWriteBufferMarkerAMD-videocodingYNoneimplicitvkCmdWriteBufferMarkerAMDThis command must only be called outside of a video coding scope
VUID-vkCompileDeferredNV-device-parameterYNoneimplicitvkCompileDeferredNVdevice must be a valid VkDevice handle
VUID-vkCompileDeferredNV-pipeline-02237NNoneexplicitvkCompileDeferredNVpipeline must have been created with VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV
VUID-vkCompileDeferredNV-pipeline-04621NNoneexplicitvkCompileDeferredNVpipeline must be a ray tracing pipeline
VUID-vkCompileDeferredNV-pipeline-parameterYNoneimplicitvkCompileDeferredNVpipeline must be a valid VkPipeline handle
VUID-vkCompileDeferredNV-pipeline-parentYNoneimplicitvkCompileDeferredNVpipeline must have been created, allocated, or retrieved from device
VUID-vkCompileDeferredNV-shader-02238NNoneexplicitvkCompileDeferredNVshader must not have been called as a deferred compile before
VUID-vkCreateAccelerationStructureNV-device-parameterYNoneimplicitvkCreateAccelerationStructureNVdevice must be a valid VkDevice handle
VUID-vkCreateAccelerationStructureNV-pAccelerationStructure-parameterYNoneimplicitvkCreateAccelerationStructureNVpAccelerationStructure must be a valid pointer to a VkAccelerationStructureNV handle
VUID-vkCreateAccelerationStructureNV-pAllocator-parameterYNoneimplicitvkCreateAccelerationStructureNVIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateAccelerationStructureNV-pCreateInfo-parameterYNoneimplicitvkCreateAccelerationStructureNVpCreateInfo must be a valid pointer to a valid VkAccelerationStructureCreateInfoNV structure
VUID-vkCreateBufferCollectionFUCHSIA-device-parameterYNoneimplicitvkCreateBufferCollectionFUCHSIAdevice must be a valid VkDevice handle
VUID-vkCreateBufferCollectionFUCHSIA-pAllocator-parameterYNoneimplicitvkCreateBufferCollectionFUCHSIAIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateBufferCollectionFUCHSIA-pCollection-parameterYNoneimplicitvkCreateBufferCollectionFUCHSIApCollection must be a valid pointer to a VkBufferCollectionFUCHSIA handle
VUID-vkCreateBufferCollectionFUCHSIA-pCreateInfo-parameterYNoneimplicitvkCreateBufferCollectionFUCHSIApCreateInfo must be a valid pointer to a valid VkBufferCollectionCreateInfoFUCHSIA structure
VUID-vkCreateCuFunctionNVX-device-parameterYNoneimplicitvkCreateCuFunctionNVXdevice must be a valid VkDevice handle
VUID-vkCreateCuFunctionNVX-pAllocator-parameterYNoneimplicitvkCreateCuFunctionNVXIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateCuFunctionNVX-pCreateInfo-parameterYNoneimplicitvkCreateCuFunctionNVXpCreateInfo must be a valid pointer to a valid VkCuFunctionCreateInfoNVX structure
VUID-vkCreateCuFunctionNVX-pFunction-parameterYNoneimplicitvkCreateCuFunctionNVXpFunction must be a valid pointer to a VkCuFunctionNVX handle
VUID-vkCreateCuModuleNVX-device-parameterYNoneimplicitvkCreateCuModuleNVXdevice must be a valid VkDevice handle
VUID-vkCreateCuModuleNVX-pAllocator-parameterYNoneimplicitvkCreateCuModuleNVXIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateCuModuleNVX-pCreateInfo-parameterYNoneimplicitvkCreateCuModuleNVXpCreateInfo must be a valid pointer to a valid VkCuModuleCreateInfoNVX structure
VUID-vkCreateCuModuleNVX-pModule-parameterYNoneimplicitvkCreateCuModuleNVXpModule must be a valid pointer to a VkCuModuleNVX handle
VUID-vkCreateCudaFunctionNV-device-parameterYNoneimplicitvkCreateCudaFunctionNVdevice must be a valid VkDevice handle
VUID-vkCreateCudaFunctionNV-pAllocator-parameterYNoneimplicitvkCreateCudaFunctionNVIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateCudaFunctionNV-pCreateInfo-parameterYNoneimplicitvkCreateCudaFunctionNVpCreateInfo must be a valid pointer to a valid VkCudaFunctionCreateInfoNV structure
VUID-vkCreateCudaFunctionNV-pFunction-parameterYNoneimplicitvkCreateCudaFunctionNVpFunction must be a valid pointer to a VkCudaFunctionNV handle
VUID-vkCreateCudaModuleNV-device-parameterYNoneimplicitvkCreateCudaModuleNVdevice must be a valid VkDevice handle
VUID-vkCreateCudaModuleNV-pAllocator-parameterYNoneimplicitvkCreateCudaModuleNVIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateCudaModuleNV-pCreateInfo-parameterYNoneimplicitvkCreateCudaModuleNVpCreateInfo must be a valid pointer to a valid VkCudaModuleCreateInfoNV structure
VUID-vkCreateCudaModuleNV-pModule-parameterYNoneimplicitvkCreateCudaModuleNVpModule must be a valid pointer to a VkCudaModuleNV handle
VUID-vkCreateExecutionGraphPipelinesAMDX-createInfoCount-arraylengthYNoneimplicitvkCreateExecutionGraphPipelinesAMDXcreateInfoCount must be greater than 0
VUID-vkCreateExecutionGraphPipelinesAMDX-device-parameterYNoneimplicitvkCreateExecutionGraphPipelinesAMDXdevice must be a valid VkDevice handle
VUID-vkCreateExecutionGraphPipelinesAMDX-flags-09125NNoneexplicitvkCreateExecutionGraphPipelinesAMDXIf the flags member of any element of pCreateInfos contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and the basePipelineIndex member of that same element is not -1, basePipelineIndex must be less than the index into pCreateInfos that corresponds to that element
VUID-vkCreateExecutionGraphPipelinesAMDX-flags-09126NNoneexplicitvkCreateExecutionGraphPipelinesAMDXIf the flags member of any element of pCreateInfos contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, the base pipeline must have been created with the VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT flag set
VUID-vkCreateExecutionGraphPipelinesAMDX-pAllocator-parameterYNoneimplicitvkCreateExecutionGraphPipelinesAMDXIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateExecutionGraphPipelinesAMDX-pCreateInfos-parameterYNoneimplicitvkCreateExecutionGraphPipelinesAMDXpCreateInfos must be a valid pointer to an array of createInfoCount valid VkExecutionGraphPipelineCreateInfoAMDX structures
VUID-vkCreateExecutionGraphPipelinesAMDX-pPipelines-parameterYNoneimplicitvkCreateExecutionGraphPipelinesAMDXpPipelines must be a valid pointer to an array of createInfoCount VkPipeline handles
VUID-vkCreateExecutionGraphPipelinesAMDX-pipelineCache-09127NNoneexplicitvkCreateExecutionGraphPipelinesAMDXIf pipelineCache was created with VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, host access to pipelineCache must be externally synchronized
VUID-vkCreateExecutionGraphPipelinesAMDX-pipelineCache-parameterYNoneimplicitvkCreateExecutionGraphPipelinesAMDXIf pipelineCache is not VK_NULL_HANDLE, pipelineCache must be a valid VkPipelineCache handle
VUID-vkCreateExecutionGraphPipelinesAMDX-pipelineCache-parentYNoneimplicitvkCreateExecutionGraphPipelinesAMDXIf pipelineCache is a valid handle, it must have been created, allocated, or retrieved from device
VUID-vkCreateExecutionGraphPipelinesAMDX-shaderEnqueue-09124NNoneexplicitvkCreateExecutionGraphPipelinesAMDXThe shaderEnqueue feature must be enabled
VUID-vkCreateIOSSurfaceMVK-instance-parameterYNoneimplicitvkCreateIOSSurfaceMVKinstance must be a valid VkInstance handle
VUID-vkCreateIOSSurfaceMVK-pAllocator-parameterYNoneimplicitvkCreateIOSSurfaceMVKIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateIOSSurfaceMVK-pCreateInfo-parameterYNoneimplicitvkCreateIOSSurfaceMVKpCreateInfo must be a valid pointer to a valid VkIOSSurfaceCreateInfoMVK structure
VUID-vkCreateIOSSurfaceMVK-pSurface-parameterYNoneimplicitvkCreateIOSSurfaceMVKpSurface must be a valid pointer to a VkSurfaceKHR handle
VUID-vkCreateImagePipeSurfaceFUCHSIA-instance-parameterYNoneimplicitvkCreateImagePipeSurfaceFUCHSIAinstance must be a valid VkInstance handle
VUID-vkCreateImagePipeSurfaceFUCHSIA-pAllocator-parameterYNoneimplicitvkCreateImagePipeSurfaceFUCHSIAIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateImagePipeSurfaceFUCHSIA-pCreateInfo-parameterYNoneimplicitvkCreateImagePipeSurfaceFUCHSIApCreateInfo must be a valid pointer to a valid VkImagePipeSurfaceCreateInfoFUCHSIA structure
VUID-vkCreateImagePipeSurfaceFUCHSIA-pSurface-parameterYNoneimplicitvkCreateImagePipeSurfaceFUCHSIApSurface must be a valid pointer to a VkSurfaceKHR handle
VUID-vkCreateIndirectCommandsLayoutNV-device-parameterYNoneimplicitvkCreateIndirectCommandsLayoutNVdevice must be a valid VkDevice handle
VUID-vkCreateIndirectCommandsLayoutNV-deviceGeneratedCommands-02929NNoneexplicitvkCreateIndirectCommandsLayoutNVThe VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV::deviceGeneratedCommands feature must be enabled
VUID-vkCreateIndirectCommandsLayoutNV-pAllocator-parameterYNoneimplicitvkCreateIndirectCommandsLayoutNVIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateIndirectCommandsLayoutNV-pCreateInfo-parameterYNoneimplicitvkCreateIndirectCommandsLayoutNVpCreateInfo must be a valid pointer to a valid VkIndirectCommandsLayoutCreateInfoNV structure
VUID-vkCreateIndirectCommandsLayoutNV-pIndirectCommandsLayout-parameterYNoneimplicitvkCreateIndirectCommandsLayoutNVpIndirectCommandsLayout must be a valid pointer to a VkIndirectCommandsLayoutNV handle
VUID-vkCreateMacOSSurfaceMVK-instance-parameterYNoneimplicitvkCreateMacOSSurfaceMVKinstance must be a valid VkInstance handle
VUID-vkCreateMacOSSurfaceMVK-pAllocator-parameterYNoneimplicitvkCreateMacOSSurfaceMVKIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateMacOSSurfaceMVK-pCreateInfo-parameterYNoneimplicitvkCreateMacOSSurfaceMVKpCreateInfo must be a valid pointer to a valid VkMacOSSurfaceCreateInfoMVK structure
VUID-vkCreateMacOSSurfaceMVK-pSurface-parameterYNoneimplicitvkCreateMacOSSurfaceMVKpSurface must be a valid pointer to a VkSurfaceKHR handle
VUID-vkCreateOpticalFlowSessionNV-device-parameterYNoneimplicitvkCreateOpticalFlowSessionNVdevice must be a valid VkDevice handle
VUID-vkCreateOpticalFlowSessionNV-pAllocator-parameterYNoneimplicitvkCreateOpticalFlowSessionNVIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateOpticalFlowSessionNV-pCreateInfo-parameterYNoneimplicitvkCreateOpticalFlowSessionNVpCreateInfo must be a valid pointer to a valid VkOpticalFlowSessionCreateInfoNV structure
VUID-vkCreateOpticalFlowSessionNV-pSession-parameterYNoneimplicitvkCreateOpticalFlowSessionNVpSession must be a valid pointer to a VkOpticalFlowSessionNV handle
VUID-vkCreateRayTracingPipelinesNV-createInfoCount-arraylengthYNegativeRayTracingPipelineNV.BasicUsageimplicitvkCreateRayTracingPipelinesNVcreateInfoCount must be greater than 0
VUID-vkCreateRayTracingPipelinesNV-device-parameterYNoneimplicitvkCreateRayTracingPipelinesNVdevice must be a valid VkDevice handle
VUID-vkCreateRayTracingPipelinesNV-flags-03415YNegativeRayTracingPipelineNV.BasicUsageexplicitvkCreateRayTracingPipelinesNVIf the flags member of any element of pCreateInfos contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, and the basePipelineIndex member of that same element is not -1, basePipelineIndex must be less than the index into pCreateInfos that corresponds to that element
VUID-vkCreateRayTracingPipelinesNV-flags-03416YNoneexplicitvkCreateRayTracingPipelinesNVIf the flags member of any element of pCreateInfos contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, the base pipeline must have been created with the VK_PIPELINE_CREATE_ALLOW_DERIVATIVES_BIT flag set
VUID-vkCreateRayTracingPipelinesNV-flags-03816YNoneexplicitvkCreateRayTracingPipelinesNVflags must not contain the VK_PIPELINE_CREATE_DISPATCH_BASE flag
VUID-vkCreateRayTracingPipelinesNV-pAllocator-parameterYNoneimplicitvkCreateRayTracingPipelinesNVIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateRayTracingPipelinesNV-pCreateInfos-parameterYNoneimplicitvkCreateRayTracingPipelinesNVpCreateInfos must be a valid pointer to an array of createInfoCount valid VkRayTracingPipelineCreateInfoNV structures
VUID-vkCreateRayTracingPipelinesNV-pPipelines-parameterYNoneimplicitvkCreateRayTracingPipelinesNVpPipelines must be a valid pointer to an array of createInfoCount VkPipeline handles
VUID-vkCreateRayTracingPipelinesNV-pipelineCache-02903NNoneexplicitvkCreateRayTracingPipelinesNVIf pipelineCache was created with VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, host access to pipelineCache must be externally synchronized
VUID-vkCreateRayTracingPipelinesNV-pipelineCache-parameterYNoneimplicitvkCreateRayTracingPipelinesNVIf pipelineCache is not VK_NULL_HANDLE, pipelineCache must be a valid VkPipelineCache handle
VUID-vkCreateRayTracingPipelinesNV-pipelineCache-parentYNoneimplicitvkCreateRayTracingPipelinesNVIf pipelineCache is a valid handle, it must have been created, allocated, or retrieved from device
VUID-vkCreateScreenSurfaceQNX-instance-parameterYNoneimplicitvkCreateScreenSurfaceQNXinstance must be a valid VkInstance handle
VUID-vkCreateScreenSurfaceQNX-pAllocator-parameterYNoneimplicitvkCreateScreenSurfaceQNXIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateScreenSurfaceQNX-pCreateInfo-parameterYNoneimplicitvkCreateScreenSurfaceQNXpCreateInfo must be a valid pointer to a valid VkScreenSurfaceCreateInfoQNX structure
VUID-vkCreateScreenSurfaceQNX-pSurface-parameterYNoneimplicitvkCreateScreenSurfaceQNXpSurface must be a valid pointer to a VkSurfaceKHR handle
VUID-vkCreateStreamDescriptorSurfaceGGP-instance-parameterYNoneimplicitvkCreateStreamDescriptorSurfaceGGPinstance must be a valid VkInstance handle
VUID-vkCreateStreamDescriptorSurfaceGGP-pAllocator-parameterYNoneimplicitvkCreateStreamDescriptorSurfaceGGPIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateStreamDescriptorSurfaceGGP-pCreateInfo-parameterYNoneimplicitvkCreateStreamDescriptorSurfaceGGPpCreateInfo must be a valid pointer to a valid VkStreamDescriptorSurfaceCreateInfoGGP structure
VUID-vkCreateStreamDescriptorSurfaceGGP-pSurface-parameterYNoneimplicitvkCreateStreamDescriptorSurfaceGGPpSurface must be a valid pointer to a VkSurfaceKHR handle
VUID-vkCreateViSurfaceNN-instance-parameterYNoneimplicitvkCreateViSurfaceNNinstance must be a valid VkInstance handle
VUID-vkCreateViSurfaceNN-pAllocator-parameterYNoneimplicitvkCreateViSurfaceNNIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkCreateViSurfaceNN-pCreateInfo-parameterYNoneimplicitvkCreateViSurfaceNNpCreateInfo must be a valid pointer to a valid VkViSurfaceCreateInfoNN structure
VUID-vkCreateViSurfaceNN-pSurface-parameterYNoneimplicitvkCreateViSurfaceNNpSurface must be a valid pointer to a VkSurfaceKHR handle
VUID-vkDestroyAccelerationStructureNV-accelerationStructure-03752YNegativeRayTracingNV.ObjInUseCmdBuildAccelerationStructureexplicitvkDestroyAccelerationStructureNVAll submitted commands that refer to accelerationStructure must have completed execution
VUID-vkDestroyAccelerationStructureNV-accelerationStructure-03753YNoneexplicitvkDestroyAccelerationStructureNVIf VkAllocationCallbacks were provided when accelerationStructure was created, a compatible set of callbacks must be provided here
VUID-vkDestroyAccelerationStructureNV-accelerationStructure-03754YNoneexplicitvkDestroyAccelerationStructureNVIf no VkAllocationCallbacks were provided when accelerationStructure was created, pAllocator must be NULL
VUID-vkDestroyAccelerationStructureNV-accelerationStructure-parameterYNoneimplicitvkDestroyAccelerationStructureNVIf accelerationStructure is not VK_NULL_HANDLE, accelerationStructure must be a valid VkAccelerationStructureNV handle
VUID-vkDestroyAccelerationStructureNV-accelerationStructure-parentYNoneimplicitvkDestroyAccelerationStructureNVIf accelerationStructure is a valid handle, it must have been created, allocated, or retrieved from device
VUID-vkDestroyAccelerationStructureNV-device-parameterYNoneimplicitvkDestroyAccelerationStructureNVdevice must be a valid VkDevice handle
VUID-vkDestroyAccelerationStructureNV-pAllocator-parameterYNoneimplicitvkDestroyAccelerationStructureNVIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkDestroyBufferCollectionFUCHSIA-collection-06407NNoneexplicitvkDestroyBufferCollectionFUCHSIAVkImage and VkBuffer objects that referenced collection upon creation by inclusion of a VkBufferCollectionImageCreateInfoFUCHSIA or VkBufferCollectionBufferCreateInfoFUCHSIA chained to their VkImageCreateInfo or VkBufferCreateInfo structures respectively, may outlive collection
VUID-vkDestroyBufferCollectionFUCHSIA-collection-parameterYNoneimplicitvkDestroyBufferCollectionFUCHSIAcollection must be a valid VkBufferCollectionFUCHSIA handle
VUID-vkDestroyBufferCollectionFUCHSIA-collection-parentYNoneimplicitvkDestroyBufferCollectionFUCHSIAcollection must have been created, allocated, or retrieved from device
VUID-vkDestroyBufferCollectionFUCHSIA-device-parameterYNoneimplicitvkDestroyBufferCollectionFUCHSIAdevice must be a valid VkDevice handle
VUID-vkDestroyBufferCollectionFUCHSIA-pAllocator-parameterYNoneimplicitvkDestroyBufferCollectionFUCHSIAIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkDestroyCuFunctionNVX-device-parameterYNoneimplicitvkDestroyCuFunctionNVXdevice must be a valid VkDevice handle
VUID-vkDestroyCuFunctionNVX-function-parameterYNoneimplicitvkDestroyCuFunctionNVXfunction must be a valid VkCuFunctionNVX handle
VUID-vkDestroyCuFunctionNVX-function-parentYNoneimplicitvkDestroyCuFunctionNVXfunction must have been created, allocated, or retrieved from device
VUID-vkDestroyCuFunctionNVX-pAllocator-parameterYNoneimplicitvkDestroyCuFunctionNVXIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkDestroyCuModuleNVX-device-parameterYNoneimplicitvkDestroyCuModuleNVXdevice must be a valid VkDevice handle
VUID-vkDestroyCuModuleNVX-module-parameterYNoneimplicitvkDestroyCuModuleNVXmodule must be a valid VkCuModuleNVX handle
VUID-vkDestroyCuModuleNVX-module-parentYNoneimplicitvkDestroyCuModuleNVXmodule must have been created, allocated, or retrieved from device
VUID-vkDestroyCuModuleNVX-pAllocator-parameterYNoneimplicitvkDestroyCuModuleNVXIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkDestroyCudaFunctionNV-device-parameterYNoneimplicitvkDestroyCudaFunctionNVdevice must be a valid VkDevice handle
VUID-vkDestroyCudaFunctionNV-function-parameterYNoneimplicitvkDestroyCudaFunctionNVfunction must be a valid VkCudaFunctionNV handle
VUID-vkDestroyCudaFunctionNV-function-parentYNoneimplicitvkDestroyCudaFunctionNVfunction must have been created, allocated, or retrieved from device
VUID-vkDestroyCudaFunctionNV-pAllocator-parameterYNoneimplicitvkDestroyCudaFunctionNVIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkDestroyCudaModuleNV-device-parameterYNoneimplicitvkDestroyCudaModuleNVdevice must be a valid VkDevice handle
VUID-vkDestroyCudaModuleNV-module-parameterYNoneimplicitvkDestroyCudaModuleNVmodule must be a valid VkCudaModuleNV handle
VUID-vkDestroyCudaModuleNV-module-parentYNoneimplicitvkDestroyCudaModuleNVmodule must have been created, allocated, or retrieved from device
VUID-vkDestroyCudaModuleNV-pAllocator-parameterYNoneimplicitvkDestroyCudaModuleNVIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkDestroyIndirectCommandsLayoutNV-device-parameterYNoneimplicitvkDestroyIndirectCommandsLayoutNVdevice must be a valid VkDevice handle
VUID-vkDestroyIndirectCommandsLayoutNV-deviceGeneratedCommands-02941NNoneexplicitvkDestroyIndirectCommandsLayoutNVThe VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV::deviceGeneratedCommands feature must be enabled
VUID-vkDestroyIndirectCommandsLayoutNV-indirectCommandsLayout-02938NNoneexplicitvkDestroyIndirectCommandsLayoutNVAll submitted commands that refer to indirectCommandsLayout must have completed execution
VUID-vkDestroyIndirectCommandsLayoutNV-indirectCommandsLayout-02939NNoneexplicitvkDestroyIndirectCommandsLayoutNVIf VkAllocationCallbacks were provided when indirectCommandsLayout was created, a compatible set of callbacks must be provided here
VUID-vkDestroyIndirectCommandsLayoutNV-indirectCommandsLayout-02940NNoneexplicitvkDestroyIndirectCommandsLayoutNVIf no VkAllocationCallbacks were provided when indirectCommandsLayout was created, pAllocator must be NULL
VUID-vkDestroyIndirectCommandsLayoutNV-indirectCommandsLayout-parameterYNoneimplicitvkDestroyIndirectCommandsLayoutNVIf indirectCommandsLayout is not VK_NULL_HANDLE, indirectCommandsLayout must be a valid VkIndirectCommandsLayoutNV handle
VUID-vkDestroyIndirectCommandsLayoutNV-indirectCommandsLayout-parentYNoneimplicitvkDestroyIndirectCommandsLayoutNVIf indirectCommandsLayout is a valid handle, it must have been created, allocated, or retrieved from device
VUID-vkDestroyIndirectCommandsLayoutNV-pAllocator-parameterYNoneimplicitvkDestroyIndirectCommandsLayoutNVIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkDestroyOpticalFlowSessionNV-device-parameterYNoneimplicitvkDestroyOpticalFlowSessionNVdevice must be a valid VkDevice handle
VUID-vkDestroyOpticalFlowSessionNV-pAllocator-parameterYNoneimplicitvkDestroyOpticalFlowSessionNVIf pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure
VUID-vkDestroyOpticalFlowSessionNV-session-parameterYNoneimplicitvkDestroyOpticalFlowSessionNVsession must be a valid VkOpticalFlowSessionNV handle
VUID-vkDestroyOpticalFlowSessionNV-session-parentYNoneimplicitvkDestroyOpticalFlowSessionNVsession must have been created, allocated, or retrieved from device
VUID-vkGetAccelerationStructureHandleNV-accelerationStructure-02787YNegativeRayTracingNV.ValidateGetAccelerationStructureHandleexplicitvkGetAccelerationStructureHandleNVaccelerationStructure must be bound completely and contiguously to a single VkDeviceMemory object via vkBindAccelerationStructureMemoryNV
VUID-vkGetAccelerationStructureHandleNV-accelerationStructure-parameterYNoneimplicitvkGetAccelerationStructureHandleNVaccelerationStructure must be a valid VkAccelerationStructureNV handle
VUID-vkGetAccelerationStructureHandleNV-accelerationStructure-parentYNoneimplicitvkGetAccelerationStructureHandleNVaccelerationStructure must have been created, allocated, or retrieved from device
VUID-vkGetAccelerationStructureHandleNV-dataSize-02240YNegativeRayTracingNV.ValidateGetAccelerationStructureHandleexplicitvkGetAccelerationStructureHandleNVdataSize must be large enough to contain the result of the query, as described above
VUID-vkGetAccelerationStructureHandleNV-dataSize-arraylengthYNoneimplicitvkGetAccelerationStructureHandleNVdataSize must be greater than 0
VUID-vkGetAccelerationStructureHandleNV-device-parameterYNoneimplicitvkGetAccelerationStructureHandleNVdevice must be a valid VkDevice handle
VUID-vkGetAccelerationStructureHandleNV-pData-parameterYNoneimplicitvkGetAccelerationStructureHandleNVpData must be a valid pointer to an array of dataSize bytes
VUID-vkGetAccelerationStructureMemoryRequirementsNV-device-parameterYNoneimplicitvkGetAccelerationStructureMemoryRequirementsNVdevice must be a valid VkDevice handle
VUID-vkGetAccelerationStructureMemoryRequirementsNV-pInfo-parameterYNoneimplicitvkGetAccelerationStructureMemoryRequirementsNVpInfo must be a valid pointer to a valid VkAccelerationStructureMemoryRequirementsInfoNV structure
VUID-vkGetAccelerationStructureMemoryRequirementsNV-pMemoryRequirements-parameterYNoneimplicitvkGetAccelerationStructureMemoryRequirementsNVpMemoryRequirements must be a valid pointer to a VkMemoryRequirements2KHR structure
VUID-vkGetAndroidHardwareBufferPropertiesANDROID-buffer-01884YNegativeAndroidHardwareBuffer.DedicatedUsageDS, NegativeAndroidHardwareBuffer.GpuUsage, NegativeAndroidHardwareBuffer.ImportBuffer, PositiveAndroidHardwareBuffer.DepthStencilexplicitvkGetAndroidHardwareBufferPropertiesANDROIDbuffer must be a valid Android hardware buffer object with at least one of the AHARDWAREBUFFER_USAGE_GPU_* flags in its AHardwareBuffer_Desc::usage
VUID-vkGetAndroidHardwareBufferPropertiesANDROID-buffer-parameterYNegativeAndroidHardwareBuffer.NullAHBPropertiesimplicitvkGetAndroidHardwareBufferPropertiesANDROIDbuffer must be a valid pointer to a valid AHardwareBuffer value
VUID-vkGetAndroidHardwareBufferPropertiesANDROID-device-parameterYNoneimplicitvkGetAndroidHardwareBufferPropertiesANDROIDdevice must be a valid VkDevice handle
VUID-vkGetAndroidHardwareBufferPropertiesANDROID-pProperties-parameterYNoneimplicitvkGetAndroidHardwareBufferPropertiesANDROIDpProperties must be a valid pointer to a VkAndroidHardwareBufferPropertiesANDROID structure
VUID-vkGetBufferCollectionPropertiesFUCHSIA-None-06405NNoneexplicitvkGetBufferCollectionPropertiesFUCHSIAPrior to calling vkGetBufferCollectionPropertiesFUCHSIA, the constraints on the buffer collection must have been set by either vkSetBufferCollectionImageConstraintsFUCHSIA or vkSetBufferCollectionBufferConstraintsFUCHSIA
VUID-vkGetBufferCollectionPropertiesFUCHSIA-collection-parameterYNoneimplicitvkGetBufferCollectionPropertiesFUCHSIAcollection must be a valid VkBufferCollectionFUCHSIA handle
VUID-vkGetBufferCollectionPropertiesFUCHSIA-collection-parentYNoneimplicitvkGetBufferCollectionPropertiesFUCHSIAcollection must have been created, allocated, or retrieved from device
VUID-vkGetBufferCollectionPropertiesFUCHSIA-device-parameterYNoneimplicitvkGetBufferCollectionPropertiesFUCHSIAdevice must be a valid VkDevice handle
VUID-vkGetBufferCollectionPropertiesFUCHSIA-pProperties-parameterYNoneimplicitvkGetBufferCollectionPropertiesFUCHSIApProperties must be a valid pointer to a VkBufferCollectionPropertiesFUCHSIA structure
VUID-vkGetCudaModuleCacheNV-device-parameterYNoneimplicitvkGetCudaModuleCacheNVdevice must be a valid VkDevice handle
VUID-vkGetCudaModuleCacheNV-module-parameterYNoneimplicitvkGetCudaModuleCacheNVmodule must be a valid VkCudaModuleNV handle
VUID-vkGetCudaModuleCacheNV-module-parentYNoneimplicitvkGetCudaModuleCacheNVmodule must have been created, allocated, or retrieved from device
VUID-vkGetCudaModuleCacheNV-pCacheData-parameterYNoneimplicitvkGetCudaModuleCacheNVIf the value referenced by pCacheSize is not 0, and pCacheData is not NULL, pCacheData must be a valid pointer to an array of pCacheSize bytes
VUID-vkGetCudaModuleCacheNV-pCacheSize-parameterYNoneimplicitvkGetCudaModuleCacheNVpCacheSize must be a valid pointer to a size_t value
VUID-vkGetDescriptorSetHostMappingVALVE-descriptorSet-parameterYNoneimplicitvkGetDescriptorSetHostMappingVALVEdescriptorSet must be a valid VkDescriptorSet handle
VUID-vkGetDescriptorSetHostMappingVALVE-descriptorSet-parentYNoneimplicitvkGetDescriptorSetHostMappingVALVEdescriptorSet must have been created, allocated, or retrieved from device
VUID-vkGetDescriptorSetHostMappingVALVE-device-parameterYNoneimplicitvkGetDescriptorSetHostMappingVALVEdevice must be a valid VkDevice handle
VUID-vkGetDescriptorSetHostMappingVALVE-ppData-parameterYNoneimplicitvkGetDescriptorSetHostMappingVALVEppData must be a valid pointer to a pointer value
VUID-vkGetDescriptorSetLayoutHostMappingInfoVALVE-device-parameterYNoneimplicitvkGetDescriptorSetLayoutHostMappingInfoVALVEdevice must be a valid VkDevice handle
VUID-vkGetDescriptorSetLayoutHostMappingInfoVALVE-pBindingReference-parameterYNoneimplicitvkGetDescriptorSetLayoutHostMappingInfoVALVEpBindingReference must be a valid pointer to a valid VkDescriptorSetBindingReferenceVALVE structure
VUID-vkGetDescriptorSetLayoutHostMappingInfoVALVE-pHostMapping-parameterYNoneimplicitvkGetDescriptorSetLayoutHostMappingInfoVALVEpHostMapping must be a valid pointer to a VkDescriptorSetLayoutHostMappingInfoVALVE structure
VUID-vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI-device-parameterYNoneimplicitvkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIdevice must be a valid VkDevice handle
VUID-vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI-pMaxWorkgroupSize-parameterYNoneimplicitvkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIpMaxWorkgroupSize must be a valid pointer to VkExtent2D structures
VUID-vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI-renderpass-parameterYNoneimplicitvkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIrenderpass must be a valid VkRenderPass handle
VUID-vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI-renderpass-parentYNoneimplicitvkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEIrenderpass must have been created, allocated, or retrieved from device
VUID-vkGetDynamicRenderingTilePropertiesQCOM-device-parameterYNoneimplicitvkGetDynamicRenderingTilePropertiesQCOMdevice must be a valid VkDevice handle
VUID-vkGetDynamicRenderingTilePropertiesQCOM-pProperties-parameterYNoneimplicitvkGetDynamicRenderingTilePropertiesQCOMpProperties must be a valid pointer to a VkTilePropertiesQCOM structure
VUID-vkGetDynamicRenderingTilePropertiesQCOM-pRenderingInfo-parameterYNoneimplicitvkGetDynamicRenderingTilePropertiesQCOMpRenderingInfo must be a valid pointer to a valid VkRenderingInfo structure
VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-device-parameterYNoneimplicitvkGetExecutionGraphPipelineNodeIndexAMDXdevice must be a valid VkDevice handle
VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-executionGraph-09142NNoneexplicitvkGetExecutionGraphPipelineNodeIndexAMDXThere must be a node in executionGraph with a shader name and index equal to pNodeInfo->pName and pNodeInfo->index
VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-executionGraph-parameterYNoneimplicitvkGetExecutionGraphPipelineNodeIndexAMDXexecutionGraph must be a valid VkPipeline handle
VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-executionGraph-parentYNoneimplicitvkGetExecutionGraphPipelineNodeIndexAMDXexecutionGraph must have been created, allocated, or retrieved from device
VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-pNodeIndex-parameterYNoneimplicitvkGetExecutionGraphPipelineNodeIndexAMDXpNodeIndex must be a valid pointer to a uint32_t value
VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-pNodeInfo-09140NNoneexplicitvkGetExecutionGraphPipelineNodeIndexAMDXpNodeInfo->pName must not be NULL
VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-pNodeInfo-09141NNoneexplicitvkGetExecutionGraphPipelineNodeIndexAMDXpNodeInfo->index must not be VK_SHADER_INDEX_UNUSED_AMDX
VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-pNodeInfo-parameterYNoneimplicitvkGetExecutionGraphPipelineNodeIndexAMDXpNodeInfo must be a valid pointer to a valid VkPipelineShaderStageNodeCreateInfoAMDX structure
VUID-vkGetExecutionGraphPipelineScratchSizeAMDX-device-parameterYNoneimplicitvkGetExecutionGraphPipelineScratchSizeAMDXdevice must be a valid VkDevice handle
VUID-vkGetExecutionGraphPipelineScratchSizeAMDX-executionGraph-parameterYNoneimplicitvkGetExecutionGraphPipelineScratchSizeAMDXexecutionGraph must be a valid VkPipeline handle
VUID-vkGetExecutionGraphPipelineScratchSizeAMDX-executionGraph-parentYNoneimplicitvkGetExecutionGraphPipelineScratchSizeAMDXexecutionGraph must have been created, allocated, or retrieved from device
VUID-vkGetExecutionGraphPipelineScratchSizeAMDX-pSizeInfo-parameterYNoneimplicitvkGetExecutionGraphPipelineScratchSizeAMDXpSizeInfo must be a valid pointer to a VkExecutionGraphPipelineScratchSizeAMDX structure
VUID-vkGetFramebufferTilePropertiesQCOM-device-parameterYNoneimplicitvkGetFramebufferTilePropertiesQCOMdevice must be a valid VkDevice handle
VUID-vkGetFramebufferTilePropertiesQCOM-framebuffer-parameterYNoneimplicitvkGetFramebufferTilePropertiesQCOMframebuffer must be a valid VkFramebuffer handle
VUID-vkGetFramebufferTilePropertiesQCOM-framebuffer-parentYNoneimplicitvkGetFramebufferTilePropertiesQCOMframebuffer must have been created, allocated, or retrieved from device
VUID-vkGetFramebufferTilePropertiesQCOM-pProperties-parameterYNoneimplicitvkGetFramebufferTilePropertiesQCOMIf the value referenced by pPropertiesCount is not 0, and pProperties is not NULL, pProperties must be a valid pointer to an array of pPropertiesCount VkTilePropertiesQCOM structures
VUID-vkGetFramebufferTilePropertiesQCOM-pPropertiesCount-parameterYNoneimplicitvkGetFramebufferTilePropertiesQCOMpPropertiesCount must be a valid pointer to a uint32_t value
VUID-vkGetGeneratedCommandsMemoryRequirementsNV-device-parameterYNoneimplicitvkGetGeneratedCommandsMemoryRequirementsNVdevice must be a valid VkDevice handle
VUID-vkGetGeneratedCommandsMemoryRequirementsNV-deviceGeneratedCommands-02906NNoneexplicitvkGetGeneratedCommandsMemoryRequirementsNVThe VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV::deviceGeneratedCommands feature must be enabled
VUID-vkGetGeneratedCommandsMemoryRequirementsNV-pInfo-09074NNoneexplicitvkGetGeneratedCommandsMemoryRequirementsNVIf pInfo->pipelineBindPoint is of type VK_PIPELINE_BIND_POINT_COMPUTE, then the VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedCompute feature must be enabled
VUID-vkGetGeneratedCommandsMemoryRequirementsNV-pInfo-parameterYNoneimplicitvkGetGeneratedCommandsMemoryRequirementsNVpInfo must be a valid pointer to a valid VkGeneratedCommandsMemoryRequirementsInfoNV structure
VUID-vkGetGeneratedCommandsMemoryRequirementsNV-pMemoryRequirements-parameterYNoneimplicitvkGetGeneratedCommandsMemoryRequirementsNVpMemoryRequirements must be a valid pointer to a VkMemoryRequirements2 structure
VUID-vkGetImageViewAddressNVX-device-parameterYNoneimplicitvkGetImageViewAddressNVXdevice must be a valid VkDevice handle
VUID-vkGetImageViewAddressNVX-imageView-parameterYNoneimplicitvkGetImageViewAddressNVXimageView must be a valid VkImageView handle
VUID-vkGetImageViewAddressNVX-imageView-parentYNoneimplicitvkGetImageViewAddressNVXimageView must have been created, allocated, or retrieved from device
VUID-vkGetImageViewAddressNVX-pProperties-parameterYNoneimplicitvkGetImageViewAddressNVXpProperties must be a valid pointer to a VkImageViewAddressPropertiesNVX structure
VUID-vkGetImageViewHandleNVX-device-parameterYNoneimplicitvkGetImageViewHandleNVXdevice must be a valid VkDevice handle
VUID-vkGetImageViewHandleNVX-pInfo-parameterYNoneimplicitvkGetImageViewHandleNVXpInfo must be a valid pointer to a valid VkImageViewHandleInfoNVX structure
VUID-vkGetLatencyTimingsNV-device-parameterYNoneimplicitvkGetLatencyTimingsNVdevice must be a valid VkDevice handle
VUID-vkGetLatencyTimingsNV-pLatencyMarkerInfo-parameterYNoneimplicitvkGetLatencyTimingsNVpLatencyMarkerInfo must be a valid pointer to a VkGetLatencyMarkerInfoNV structure
VUID-vkGetLatencyTimingsNV-swapchain-parameterYNoneimplicitvkGetLatencyTimingsNVswapchain must be a valid VkSwapchainKHR handle
VUID-vkGetLatencyTimingsNV-swapchain-parentYNoneimplicitvkGetLatencyTimingsNVswapchain must have been created, allocated, or retrieved from device
VUID-vkGetMemoryAndroidHardwareBufferANDROID-device-parameterYNoneimplicitvkGetMemoryAndroidHardwareBufferANDROIDdevice must be a valid VkDevice handle
VUID-vkGetMemoryAndroidHardwareBufferANDROID-pBuffer-parameterYNoneimplicitvkGetMemoryAndroidHardwareBufferANDROIDpBuffer must be a valid pointer to a valid pointer to an AHardwareBuffer value
VUID-vkGetMemoryAndroidHardwareBufferANDROID-pInfo-parameterYNoneimplicitvkGetMemoryAndroidHardwareBufferANDROIDpInfo must be a valid pointer to a valid VkMemoryGetAndroidHardwareBufferInfoANDROID structure
VUID-vkGetMemoryRemoteAddressNV-device-parameterYNoneimplicitvkGetMemoryRemoteAddressNVdevice must be a valid VkDevice handle
VUID-vkGetMemoryRemoteAddressNV-pAddress-parameterYNoneimplicitvkGetMemoryRemoteAddressNVpAddress must be a valid pointer to a VkRemoteAddressNV value
VUID-vkGetMemoryRemoteAddressNV-pMemoryGetRemoteAddressInfo-parameterYNoneimplicitvkGetMemoryRemoteAddressNVpMemoryGetRemoteAddressInfo must be a valid pointer to a valid VkMemoryGetRemoteAddressInfoNV structure
VUID-vkGetMemoryWin32HandleNV-device-parameterYNoneimplicitvkGetMemoryWin32HandleNVdevice must be a valid VkDevice handle
VUID-vkGetMemoryWin32HandleNV-handleType-01326NNoneexplicitvkGetMemoryWin32HandleNVhandleType must be a flag specified in VkExportMemoryAllocateInfoNV::handleTypes when allocating memory
VUID-vkGetMemoryWin32HandleNV-handleType-parameterYNoneimplicitvkGetMemoryWin32HandleNVhandleType must be a valid combination of VkExternalMemoryHandleTypeFlagBitsNV values
VUID-vkGetMemoryWin32HandleNV-handleType-requiredbitmaskYNoneimplicitvkGetMemoryWin32HandleNVhandleType must not be 0
VUID-vkGetMemoryWin32HandleNV-memory-parameterYNoneimplicitvkGetMemoryWin32HandleNVmemory must be a valid VkDeviceMemory handle
VUID-vkGetMemoryWin32HandleNV-memory-parentYNoneimplicitvkGetMemoryWin32HandleNVmemory must have been created, allocated, or retrieved from device
VUID-vkGetMemoryWin32HandleNV-pHandle-parameterYNoneimplicitvkGetMemoryWin32HandleNVpHandle must be a valid pointer to a HANDLE value
VUID-vkGetMemoryZirconHandleFUCHSIA-device-parameterYNoneimplicitvkGetMemoryZirconHandleFUCHSIAdevice must be a valid VkDevice handle
VUID-vkGetMemoryZirconHandleFUCHSIA-pGetZirconHandleInfo-parameterYNoneimplicitvkGetMemoryZirconHandleFUCHSIApGetZirconHandleInfo must be a valid pointer to a valid VkMemoryGetZirconHandleInfoFUCHSIA structure
VUID-vkGetMemoryZirconHandleFUCHSIA-pZirconHandle-parameterYNoneimplicitvkGetMemoryZirconHandleFUCHSIApZirconHandle must be a valid pointer to a zx_handle_t value
VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-device-parameterYNoneimplicitvkGetMemoryZirconHandlePropertiesFUCHSIAdevice must be a valid VkDevice handle
VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-handleType-04773NNoneexplicitvkGetMemoryZirconHandlePropertiesFUCHSIAhandleType must be VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA
VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-handleType-parameterYNoneimplicitvkGetMemoryZirconHandlePropertiesFUCHSIAhandleType must be a valid VkExternalMemoryHandleTypeFlagBits value
VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-pMemoryZirconHandleProperties-parameterYNoneimplicitvkGetMemoryZirconHandlePropertiesFUCHSIApMemoryZirconHandleProperties must be a valid pointer to a VkMemoryZirconHandlePropertiesFUCHSIA structure
VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-zirconHandle-04774NNoneexplicitvkGetMemoryZirconHandlePropertiesFUCHSIAzirconHandle must reference a valid VMO
VUID-vkGetPastPresentationTimingGOOGLE-device-parameterYNoneimplicitvkGetPastPresentationTimingGOOGLEdevice must be a valid VkDevice handle
VUID-vkGetPastPresentationTimingGOOGLE-pPresentationTimingCount-parameterYNoneimplicitvkGetPastPresentationTimingGOOGLEpPresentationTimingCount must be a valid pointer to a uint32_t value
VUID-vkGetPastPresentationTimingGOOGLE-pPresentationTimings-parameterYNoneimplicitvkGetPastPresentationTimingGOOGLEIf the value referenced by pPresentationTimingCount is not 0, and pPresentationTimings is not NULL, pPresentationTimings must be a valid pointer to an array of pPresentationTimingCount VkPastPresentationTimingGOOGLE structures
VUID-vkGetPastPresentationTimingGOOGLE-swapchain-parameterYNoneimplicitvkGetPastPresentationTimingGOOGLEswapchain must be a valid VkSwapchainKHR handle
VUID-vkGetPastPresentationTimingGOOGLE-swapchain-parentYNoneimplicitvkGetPastPresentationTimingGOOGLEswapchain must have been created, allocated, or retrieved from device
VUID-vkGetPerformanceParameterINTEL-device-parameterYNoneimplicitvkGetPerformanceParameterINTELdevice must be a valid VkDevice handle
VUID-vkGetPerformanceParameterINTEL-pValue-parameterYNoneimplicitvkGetPerformanceParameterINTELpValue must be a valid pointer to a VkPerformanceValueINTEL structure
VUID-vkGetPerformanceParameterINTEL-parameter-parameterYNoneimplicitvkGetPerformanceParameterINTELparameter must be a valid VkPerformanceParameterTypeINTEL value
VUID-vkGetPhysicalDeviceCooperativeMatrixPropertiesNV-pProperties-parameterYNoneimplicitvkGetPhysicalDeviceCooperativeMatrixPropertiesNVIf the value referenced by pPropertyCount is not 0, and pProperties is not NULL, pProperties must be a valid pointer to an array of pPropertyCount VkCooperativeMatrixPropertiesNV structures
VUID-vkGetPhysicalDeviceCooperativeMatrixPropertiesNV-pPropertyCount-parameterYNoneimplicitvkGetPhysicalDeviceCooperativeMatrixPropertiesNVpPropertyCount must be a valid pointer to a uint32_t value
VUID-vkGetPhysicalDeviceCooperativeMatrixPropertiesNV-physicalDevice-parameterYNoneimplicitvkGetPhysicalDeviceCooperativeMatrixPropertiesNVphysicalDevice must be a valid VkPhysicalDevice handle
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-externalHandleType-07721NNoneexplicitvkGetPhysicalDeviceExternalImageFormatPropertiesNVexternalHandleType must not have more than one bit set
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-externalHandleType-parameterYNoneimplicitvkGetPhysicalDeviceExternalImageFormatPropertiesNVexternalHandleType must be a valid combination of VkExternalMemoryHandleTypeFlagBitsNV values
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-flags-parameterYNoneimplicitvkGetPhysicalDeviceExternalImageFormatPropertiesNVflags must be a valid combination of VkImageCreateFlagBits values
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-format-parameterYNoneimplicitvkGetPhysicalDeviceExternalImageFormatPropertiesNVformat must be a valid VkFormat value
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-pExternalImageFormatProperties-parameterYNoneimplicitvkGetPhysicalDeviceExternalImageFormatPropertiesNVpExternalImageFormatProperties must be a valid pointer to a VkExternalImageFormatPropertiesNV structure
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-physicalDevice-parameterYNoneimplicitvkGetPhysicalDeviceExternalImageFormatPropertiesNVphysicalDevice must be a valid VkPhysicalDevice handle
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-tiling-parameterYNoneimplicitvkGetPhysicalDeviceExternalImageFormatPropertiesNVtiling must be a valid VkImageTiling value
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-type-parameterYNoneimplicitvkGetPhysicalDeviceExternalImageFormatPropertiesNVtype must be a valid VkImageType value
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-usage-parameterYNoneimplicitvkGetPhysicalDeviceExternalImageFormatPropertiesNVusage must be a valid combination of VkImageUsageFlagBits values
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-usage-requiredbitmaskYNoneimplicitvkGetPhysicalDeviceExternalImageFormatPropertiesNVusage must not be 0
VUID-vkGetPhysicalDeviceOpticalFlowImageFormatsNV-pFormatCount-parameterYNoneimplicitvkGetPhysicalDeviceOpticalFlowImageFormatsNVpFormatCount must be a valid pointer to a uint32_t value
VUID-vkGetPhysicalDeviceOpticalFlowImageFormatsNV-pImageFormatProperties-parameterYNoneimplicitvkGetPhysicalDeviceOpticalFlowImageFormatsNVIf the value referenced by pFormatCount is not 0, and pImageFormatProperties is not NULL, pImageFormatProperties must be a valid pointer to an array of pFormatCount VkOpticalFlowImageFormatPropertiesNV structures
VUID-vkGetPhysicalDeviceOpticalFlowImageFormatsNV-pOpticalFlowImageFormatInfo-parameterYNoneimplicitvkGetPhysicalDeviceOpticalFlowImageFormatsNVpOpticalFlowImageFormatInfo must be a valid pointer to a valid VkOpticalFlowImageFormatInfoNV structure
VUID-vkGetPhysicalDeviceOpticalFlowImageFormatsNV-physicalDevice-parameterYNoneimplicitvkGetPhysicalDeviceOpticalFlowImageFormatsNVphysicalDevice must be a valid VkPhysicalDevice handle
VUID-vkGetPhysicalDeviceScreenPresentationSupportQNX-physicalDevice-parameterYNoneimplicitvkGetPhysicalDeviceScreenPresentationSupportQNXphysicalDevice must be a valid VkPhysicalDevice handle
VUID-vkGetPhysicalDeviceScreenPresentationSupportQNX-queueFamilyIndex-04743YNoneexplicitvkGetPhysicalDeviceScreenPresentationSupportQNXqueueFamilyIndex must be less than pQueueFamilyPropertyCount returned by vkGetPhysicalDeviceQueueFamilyProperties for the given physicalDevice
VUID-vkGetPhysicalDeviceScreenPresentationSupportQNX-window-parameterYNoneimplicitvkGetPhysicalDeviceScreenPresentationSupportQNXwindow must be a valid pointer to a _screen_window value
VUID-vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV-pCombinationCount-parameterYNoneimplicitvkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNVpCombinationCount must be a valid pointer to a uint32_t value
VUID-vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV-pCombinations-parameterYNoneimplicitvkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNVIf the value referenced by pCombinationCount is not 0, and pCombinations is not NULL, pCombinations must be a valid pointer to an array of pCombinationCount VkFramebufferMixedSamplesCombinationNV structures
VUID-vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV-physicalDevice-parameterYNoneimplicitvkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNVphysicalDevice must be a valid VkPhysicalDevice handle
VUID-vkGetPipelineIndirectDeviceAddressNV-device-parameterYNoneimplicitvkGetPipelineIndirectDeviceAddressNVdevice must be a valid VkDevice handle
VUID-vkGetPipelineIndirectDeviceAddressNV-deviceGeneratedComputePipelines-09078NNoneexplicitvkGetPipelineIndirectDeviceAddressNVThe VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedComputePipelines feature must be enabled
VUID-vkGetPipelineIndirectDeviceAddressNV-pInfo-parameterYNoneimplicitvkGetPipelineIndirectDeviceAddressNVpInfo must be a valid pointer to a valid VkPipelineIndirectDeviceAddressInfoNV structure
VUID-vkGetPipelineIndirectMemoryRequirementsNV-device-parameterYNoneimplicitvkGetPipelineIndirectMemoryRequirementsNVdevice must be a valid VkDevice handle
VUID-vkGetPipelineIndirectMemoryRequirementsNV-deviceGeneratedComputePipelines-09082NNoneexplicitvkGetPipelineIndirectMemoryRequirementsNVThe VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedComputePipelines feature must be enabled
VUID-vkGetPipelineIndirectMemoryRequirementsNV-pCreateInfo-09083NNoneexplicitvkGetPipelineIndirectMemoryRequirementsNVpCreateInfo->flags must include VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV
VUID-vkGetPipelineIndirectMemoryRequirementsNV-pCreateInfo-parameterYNoneimplicitvkGetPipelineIndirectMemoryRequirementsNVpCreateInfo must be a valid pointer to a valid VkComputePipelineCreateInfo structure
VUID-vkGetPipelineIndirectMemoryRequirementsNV-pMemoryRequirements-parameterYNoneimplicitvkGetPipelineIndirectMemoryRequirementsNVpMemoryRequirements must be a valid pointer to a VkMemoryRequirements2 structure
VUID-vkGetQueueCheckpointData2NV-pCheckpointData-parameterYNoneimplicitvkGetQueueCheckpointData2NVIf the value referenced by pCheckpointDataCount is not 0, and pCheckpointData is not NULL, pCheckpointData must be a valid pointer to an array of pCheckpointDataCount VkCheckpointData2NV structures
VUID-vkGetQueueCheckpointData2NV-pCheckpointDataCount-parameterYNoneimplicitvkGetQueueCheckpointData2NVpCheckpointDataCount must be a valid pointer to a uint32_t value
VUID-vkGetQueueCheckpointData2NV-queue-03892NNoneexplicitvkGetQueueCheckpointData2NVThe device that queue belongs to must be in the lost state
VUID-vkGetQueueCheckpointData2NV-queue-parameterYNoneimplicitvkGetQueueCheckpointData2NVqueue must be a valid VkQueue handle
VUID-vkGetQueueCheckpointDataNV-pCheckpointData-parameterYNoneimplicitvkGetQueueCheckpointDataNVIf the value referenced by pCheckpointDataCount is not 0, and pCheckpointData is not NULL, pCheckpointData must be a valid pointer to an array of pCheckpointDataCount VkCheckpointDataNV structures
VUID-vkGetQueueCheckpointDataNV-pCheckpointDataCount-parameterYNoneimplicitvkGetQueueCheckpointDataNVpCheckpointDataCount must be a valid pointer to a uint32_t value
VUID-vkGetQueueCheckpointDataNV-queue-02025NNoneexplicitvkGetQueueCheckpointDataNVThe device that queue belongs to must be in the lost state
VUID-vkGetQueueCheckpointDataNV-queue-parameterYNoneimplicitvkGetQueueCheckpointDataNVqueue must be a valid VkQueue handle
VUID-vkGetRefreshCycleDurationGOOGLE-device-parameterYNoneimplicitvkGetRefreshCycleDurationGOOGLEdevice must be a valid VkDevice handle
VUID-vkGetRefreshCycleDurationGOOGLE-pDisplayTimingProperties-parameterYNoneimplicitvkGetRefreshCycleDurationGOOGLEpDisplayTimingProperties must be a valid pointer to a VkRefreshCycleDurationGOOGLE structure
VUID-vkGetRefreshCycleDurationGOOGLE-swapchain-parameterYNoneimplicitvkGetRefreshCycleDurationGOOGLEswapchain must be a valid VkSwapchainKHR handle
VUID-vkGetRefreshCycleDurationGOOGLE-swapchain-parentYNoneimplicitvkGetRefreshCycleDurationGOOGLEswapchain must have been created, allocated, or retrieved from device
VUID-vkGetScreenBufferPropertiesQNX-buffer-08968NNoneexplicitvkGetScreenBufferPropertiesQNXbuffer must be a valid QNX Screen buffer
VUID-vkGetScreenBufferPropertiesQNX-buffer-parameterYNoneimplicitvkGetScreenBufferPropertiesQNXbuffer must be a valid pointer to a valid _screen_buffer value
VUID-vkGetScreenBufferPropertiesQNX-device-parameterYNoneimplicitvkGetScreenBufferPropertiesQNXdevice must be a valid VkDevice handle
VUID-vkGetScreenBufferPropertiesQNX-pProperties-parameterYNoneimplicitvkGetScreenBufferPropertiesQNXpProperties must be a valid pointer to a VkScreenBufferPropertiesQNX structure
VUID-vkGetSemaphoreZirconHandleFUCHSIA-device-parameterYNoneimplicitvkGetSemaphoreZirconHandleFUCHSIAdevice must be a valid VkDevice handle
VUID-vkGetSemaphoreZirconHandleFUCHSIA-pGetZirconHandleInfo-parameterYNoneimplicitvkGetSemaphoreZirconHandleFUCHSIApGetZirconHandleInfo must be a valid pointer to a valid VkSemaphoreGetZirconHandleInfoFUCHSIA structure
VUID-vkGetSemaphoreZirconHandleFUCHSIA-pZirconHandle-parameterYNoneimplicitvkGetSemaphoreZirconHandleFUCHSIApZirconHandle must be a valid pointer to a zx_handle_t value
VUID-vkGetShaderInfoAMD-device-parameterYNoneimplicitvkGetShaderInfoAMDdevice must be a valid VkDevice handle
VUID-vkGetShaderInfoAMD-infoType-parameterYNoneimplicitvkGetShaderInfoAMDinfoType must be a valid VkShaderInfoTypeAMD value
VUID-vkGetShaderInfoAMD-pInfo-parameterYNoneimplicitvkGetShaderInfoAMDIf the value referenced by pInfoSize is not 0, and pInfo is not NULL, pInfo must be a valid pointer to an array of pInfoSize bytes
VUID-vkGetShaderInfoAMD-pInfoSize-parameterYNoneimplicitvkGetShaderInfoAMDpInfoSize must be a valid pointer to a size_t value
VUID-vkGetShaderInfoAMD-pipeline-parameterYNoneimplicitvkGetShaderInfoAMDpipeline must be a valid VkPipeline handle
VUID-vkGetShaderInfoAMD-pipeline-parentYNoneimplicitvkGetShaderInfoAMDpipeline must have been created, allocated, or retrieved from device
VUID-vkGetShaderInfoAMD-shaderStage-parameterYNoneimplicitvkGetShaderInfoAMDshaderStage must be a valid VkShaderStageFlagBits value
VUID-vkGetWinrtDisplayNV-pDisplay-parameterYNoneimplicitvkGetWinrtDisplayNVpDisplay must be a valid pointer to a VkDisplayKHR handle
VUID-vkGetWinrtDisplayNV-physicalDevice-parameterYNoneimplicitvkGetWinrtDisplayNVphysicalDevice must be a valid VkPhysicalDevice handle
VUID-vkImportSemaphoreZirconHandleFUCHSIA-device-parameterYNoneimplicitvkImportSemaphoreZirconHandleFUCHSIAdevice must be a valid VkDevice handle
VUID-vkImportSemaphoreZirconHandleFUCHSIA-pImportSemaphoreZirconHandleInfo-parameterYNoneimplicitvkImportSemaphoreZirconHandleFUCHSIApImportSemaphoreZirconHandleInfo must be a valid pointer to a valid VkImportSemaphoreZirconHandleInfoFUCHSIA structure
VUID-vkImportSemaphoreZirconHandleFUCHSIA-semaphore-04764YNoneexplicitvkImportSemaphoreZirconHandleFUCHSIAsemaphore must not be associated with any queue command that has not yet completed execution on that queue
VUID-vkInitializePerformanceApiINTEL-device-parameterYNoneimplicitvkInitializePerformanceApiINTELdevice must be a valid VkDevice handle
VUID-vkInitializePerformanceApiINTEL-pInitializeInfo-parameterYNoneimplicitvkInitializePerformanceApiINTELpInitializeInfo must be a valid pointer to a valid VkInitializePerformanceApiInfoINTEL structure
VUID-vkLatencySleepNV-device-parameterYNoneimplicitvkLatencySleepNVdevice must be a valid VkDevice handle
VUID-vkLatencySleepNV-pSleepInfo-parameterYNoneimplicitvkLatencySleepNVpSleepInfo must be a valid pointer to a valid VkLatencySleepInfoNV structure
VUID-vkLatencySleepNV-swapchain-parameterYNoneimplicitvkLatencySleepNVswapchain must be a valid VkSwapchainKHR handle
VUID-vkLatencySleepNV-swapchain-parentYNoneimplicitvkLatencySleepNVswapchain must have been created, allocated, or retrieved from device
VUID-vkQueueNotifyOutOfBandNV-pQueueTypeInfo-parameterYNoneimplicitvkQueueNotifyOutOfBandNVpQueueTypeInfo must be a valid pointer to a valid VkOutOfBandQueueTypeInfoNV structure
VUID-vkQueueNotifyOutOfBandNV-queue-parameterYNoneimplicitvkQueueNotifyOutOfBandNVqueue must be a valid VkQueue handle
VUID-vkQueueSetPerformanceConfigurationINTEL-commonparentYNoneimplicitvkQueueSetPerformanceConfigurationINTELBoth of configuration, and queue must have been created, allocated, or retrieved from the same VkDevice
VUID-vkQueueSetPerformanceConfigurationINTEL-configuration-parameterYNoneimplicitvkQueueSetPerformanceConfigurationINTELconfiguration must be a valid VkPerformanceConfigurationINTEL handle
VUID-vkQueueSetPerformanceConfigurationINTEL-queue-parameterYNoneimplicitvkQueueSetPerformanceConfigurationINTELqueue must be a valid VkQueue handle
VUID-vkReleasePerformanceConfigurationINTEL-configuration-02737NNoneexplicitvkReleasePerformanceConfigurationINTELconfiguration must not be released before all command buffers submitted while the configuration was set are in pending state
VUID-vkReleasePerformanceConfigurationINTEL-configuration-parameterYNoneimplicitvkReleasePerformanceConfigurationINTELIf configuration is not VK_NULL_HANDLE, configuration must be a valid VkPerformanceConfigurationINTEL handle
VUID-vkReleasePerformanceConfigurationINTEL-configuration-parentYNoneimplicitvkReleasePerformanceConfigurationINTELIf configuration is a valid handle, it must have been created, allocated, or retrieved from device
VUID-vkReleasePerformanceConfigurationINTEL-device-parameterYNoneimplicitvkReleasePerformanceConfigurationINTELdevice must be a valid VkDevice handle
VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-collection-06403NNoneexplicitvkSetBufferCollectionBufferConstraintsFUCHSIAvkSetBufferCollectionImageConstraintsFUCHSIA or vkSetBufferCollectionBufferConstraintsFUCHSIA must not have already been called on collection
VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-collection-parameterYNoneimplicitvkSetBufferCollectionBufferConstraintsFUCHSIAcollection must be a valid VkBufferCollectionFUCHSIA handle
VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-collection-parentYNoneimplicitvkSetBufferCollectionBufferConstraintsFUCHSIAcollection must have been created, allocated, or retrieved from device
VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-device-parameterYNoneimplicitvkSetBufferCollectionBufferConstraintsFUCHSIAdevice must be a valid VkDevice handle
VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-pBufferConstraintsInfo-parameterYNoneimplicitvkSetBufferCollectionBufferConstraintsFUCHSIApBufferConstraintsInfo must be a valid pointer to a valid VkBufferConstraintsInfoFUCHSIA structure
VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-collection-06394NNoneexplicitvkSetBufferCollectionImageConstraintsFUCHSIAvkSetBufferCollectionImageConstraintsFUCHSIA or vkSetBufferCollectionBufferConstraintsFUCHSIA must not have already been called on collection
VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-collection-parameterYNoneimplicitvkSetBufferCollectionImageConstraintsFUCHSIAcollection must be a valid VkBufferCollectionFUCHSIA handle
VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-collection-parentYNoneimplicitvkSetBufferCollectionImageConstraintsFUCHSIAcollection must have been created, allocated, or retrieved from device
VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-device-parameterYNoneimplicitvkSetBufferCollectionImageConstraintsFUCHSIAdevice must be a valid VkDevice handle
VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-pImageConstraintsInfo-parameterYNoneimplicitvkSetBufferCollectionImageConstraintsFUCHSIApImageConstraintsInfo must be a valid pointer to a valid VkImageConstraintsInfoFUCHSIA structure
VUID-vkSetLatencyMarkerNV-device-parameterYNoneimplicitvkSetLatencyMarkerNVdevice must be a valid VkDevice handle
VUID-vkSetLatencyMarkerNV-pLatencyMarkerInfo-parameterYNoneimplicitvkSetLatencyMarkerNVpLatencyMarkerInfo must be a valid pointer to a valid VkSetLatencyMarkerInfoNV structure
VUID-vkSetLatencyMarkerNV-swapchain-parameterYNoneimplicitvkSetLatencyMarkerNVswapchain must be a valid VkSwapchainKHR handle
VUID-vkSetLatencyMarkerNV-swapchain-parentYNoneimplicitvkSetLatencyMarkerNVswapchain must have been created, allocated, or retrieved from device
VUID-vkSetLatencySleepModeNV-device-parameterYNoneimplicitvkSetLatencySleepModeNVdevice must be a valid VkDevice handle
VUID-vkSetLatencySleepModeNV-pSleepModeInfo-parameterYNoneimplicitvkSetLatencySleepModeNVpSleepModeInfo must be a valid pointer to a valid VkLatencySleepModeInfoNV structure
VUID-vkSetLatencySleepModeNV-swapchain-parameterYNoneimplicitvkSetLatencySleepModeNVswapchain must be a valid VkSwapchainKHR handle
VUID-vkSetLatencySleepModeNV-swapchain-parentYNoneimplicitvkSetLatencySleepModeNVswapchain must have been created, allocated, or retrieved from device
VUID-vkSetLocalDimmingAMD-device-parameterYNoneimplicitvkSetLocalDimmingAMDdevice must be a valid VkDevice handle
VUID-vkSetLocalDimmingAMD-localDimmingSupport-04618NNoneexplicitvkSetLocalDimmingAMDVkDisplayNativeHdrSurfaceCapabilitiesAMD::localDimmingSupport must be supported
VUID-vkSetLocalDimmingAMD-swapChain-parameterYNoneimplicitvkSetLocalDimmingAMDswapChain must be a valid VkSwapchainKHR handle
VUID-vkSetLocalDimmingAMD-swapChain-parentYNoneimplicitvkSetLocalDimmingAMDswapChain must have been created, allocated, or retrieved from device
VUID-vkUninitializePerformanceApiINTEL-device-parameterYNoneimplicitvkUninitializePerformanceApiINTELdevice must be a valid VkDevice handle