Valid Usage Database (1.3.283)
VUID NAME | CHECKED | SPIRV-TOOL | TEST | TYPE | API/STRUCT | VUID TEXT |
VUID-BaryCoordNoPerspAMD-BaryCoordNoPerspAMD-04157 | N | | None | explicit | BaryCoordNoPerspAMD | The BaryCoordNoPerspAMD decoration must be used only within the Fragment Execution Model |
VUID-BaryCoordNoPerspAMD-BaryCoordNoPerspAMD-04158 | N | | None | explicit | BaryCoordNoPerspAMD | The variable decorated with BaryCoordNoPerspAMD must be declared using the Input Storage Class |
VUID-BaryCoordNoPerspAMD-BaryCoordNoPerspAMD-04159 | N | | None | explicit | BaryCoordNoPerspAMD | The variable decorated with BaryCoordNoPerspAMD must be declared as a two-component vector of 32-bit floating-point values |
VUID-BaryCoordNoPerspCentroidAMD-BaryCoordNoPerspCentroidAMD-04163 | N | | None | explicit | BaryCoordNoPerspCentroidAMD | The BaryCoordNoPerspCentroidAMD decoration must be used only within the Fragment Execution Model |
VUID-BaryCoordNoPerspCentroidAMD-BaryCoordNoPerspCentroidAMD-04164 | N | | None | explicit | BaryCoordNoPerspCentroidAMD | The variable decorated with BaryCoordNoPerspCentroidAMD must be declared using the Input Storage Class |
VUID-BaryCoordNoPerspCentroidAMD-BaryCoordNoPerspCentroidAMD-04165 | N | | None | explicit | BaryCoordNoPerspCentroidAMD | The variable decorated with BaryCoordNoPerspCentroidAMD must be declared as a three-component vector of 32-bit floating-point values |
VUID-BaryCoordNoPerspSampleAMD-BaryCoordNoPerspSampleAMD-04166 | N | | None | explicit | BaryCoordNoPerspSampleAMD | The BaryCoordNoPerspSampleAMD decoration must be used only within the Fragment Execution Model |
VUID-BaryCoordNoPerspSampleAMD-BaryCoordNoPerspSampleAMD-04167 | N | | None | explicit | BaryCoordNoPerspSampleAMD | The variable decorated with BaryCoordNoPerspSampleAMD must be declared using the Input Storage Class |
VUID-BaryCoordNoPerspSampleAMD-BaryCoordNoPerspSampleAMD-04168 | N | | None | explicit | BaryCoordNoPerspSampleAMD | The variable decorated with BaryCoordNoPerspSampleAMD must be declared as a two-component vector of 32-bit floating-point values |
VUID-BaryCoordPullModelAMD-BaryCoordPullModelAMD-04169 | N | | None | explicit | BaryCoordPullModelAMD | The BaryCoordPullModelAMD decoration must be used only within the Fragment Execution Model |
VUID-BaryCoordPullModelAMD-BaryCoordPullModelAMD-04170 | N | | None | explicit | BaryCoordPullModelAMD | The variable decorated with BaryCoordPullModelAMD must be declared using the Input Storage Class |
VUID-BaryCoordPullModelAMD-BaryCoordPullModelAMD-04171 | N | | None | explicit | BaryCoordPullModelAMD | The variable decorated with BaryCoordPullModelAMD must be declared as a three-component vector of 32-bit floating-point values |
VUID-BaryCoordSmoothAMD-BaryCoordSmoothAMD-04172 | N | | None | explicit | BaryCoordSmoothAMD | The BaryCoordSmoothAMD decoration must be used only within the Fragment Execution Model |
VUID-BaryCoordSmoothAMD-BaryCoordSmoothAMD-04173 | N | | None | explicit | BaryCoordSmoothAMD | The variable decorated with BaryCoordSmoothAMD must be declared using the Input Storage Class |
VUID-BaryCoordSmoothAMD-BaryCoordSmoothAMD-04174 | N | | None | explicit | BaryCoordSmoothAMD | The variable decorated with BaryCoordSmoothAMD must be declared as a two-component vector of 32-bit floating-point values |
VUID-BaryCoordSmoothCentroidAMD-BaryCoordSmoothCentroidAMD-04175 | N | | None | explicit | BaryCoordSmoothCentroidAMD | The BaryCoordSmoothCentroidAMD decoration must be used only within the Fragment Execution Model |
VUID-BaryCoordSmoothCentroidAMD-BaryCoordSmoothCentroidAMD-04176 | N | | None | explicit | BaryCoordSmoothCentroidAMD | The variable decorated with BaryCoordSmoothCentroidAMD must be declared using the Input Storage Class |
VUID-BaryCoordSmoothCentroidAMD-BaryCoordSmoothCentroidAMD-04177 | N | | None | explicit | BaryCoordSmoothCentroidAMD | The variable decorated with BaryCoordSmoothCentroidAMD must be declared as a two-component vector of 32-bit floating-point values |
VUID-BaryCoordSmoothSampleAMD-BaryCoordSmoothSampleAMD-04178 | N | | None | explicit | BaryCoordSmoothSampleAMD | The BaryCoordSmoothSampleAMD decoration must be used only within the Fragment Execution Model |
VUID-BaryCoordSmoothSampleAMD-BaryCoordSmoothSampleAMD-04179 | N | | None | explicit | BaryCoordSmoothSampleAMD | The variable decorated with BaryCoordSmoothSampleAMD must be declared using the Input Storage Class |
VUID-BaryCoordSmoothSampleAMD-BaryCoordSmoothSampleAMD-04180 | N | | None | explicit | BaryCoordSmoothSampleAMD | The variable decorated with BaryCoordSmoothSampleAMD must be declared as a two-component vector of 32-bit floating-point values |
VUID-ClipDistancePerViewNV-ClipDistancePerViewNV-04192 | N | | None | explicit | ClipDistancePerViewNV | The ClipDistancePerViewNV decoration must be used only within the MeshNV Execution Model |
VUID-ClipDistancePerViewNV-ClipDistancePerViewNV-04193 | N | | None | explicit | ClipDistancePerViewNV | The variable decorated with ClipDistancePerViewNV must be declared using the Output Storage Class |
VUID-ClipDistancePerViewNV-ClipDistancePerViewNV-04194 | N | | None | explicit | ClipDistancePerViewNV | The variable decorated with ClipDistancePerViewNV must also be decorated with the PerViewNV decoration |
VUID-ClipDistancePerViewNV-ClipDistancePerViewNV-04195 | N | | None | explicit | ClipDistancePerViewNV | The variable decorated with ClipDistancePerViewNV must be declared as a two-dimensional array of 32-bit floating-point values |
VUID-ClusterIDHUAWEI-ClusterIDHUAWEI-07797 | N | | None | explicit | ClusterIDHUAWEI | The ClusterIDHUAWEI decoration must be used only within the ClusterCullingHUAWEI Execution Model |
VUID-ClusterIDHUAWEI-ClusterIDHUAWEI-07798 | N | | None | explicit | ClusterIDHUAWEI | The variable decorated with ClusterIDHUAWEI must be declared as a scalar 32-bit integer value |
VUID-ClusterShadingRateHUAWEI-ClusterShadingRateHUAWEI-09448 | N | | None | explicit | ClusterShadingRateHUAWEI | The ClusterShadingRateHUAWEI decoration must be used only within the ClusterCullingHUAWEI Execution Model |
VUID-ClusterShadingRateHUAWEI-ClusterShadingRateHUAWEI-09449 | N | | None | explicit | ClusterShadingRateHUAWEI | The variable decorated with ClusterShadingRateHUAWEI must be declared as a scalar 32-bit integer value |
VUID-CoalescedInputCountAMDX-CoalescedInputCountAMDX-09172 | N | | None | explicit | CoalescedInputCountAMDX | The variable decorated with CoalescedInputCountAMDX must be declared using the Input Storage Class |
VUID-CoalescedInputCountAMDX-CoalescedInputCountAMDX-09173 | N | | None | explicit | CoalescedInputCountAMDX | If a variable is decorated with CoalescedInputCountAMDX, the CoalescingAMDX execution mode must be declared |
VUID-CoalescedInputCountAMDX-CoalescedInputCountAMDX-09174 | N | | None | explicit | CoalescedInputCountAMDX | The variable decorated with CoalescedInputCountAMDX must be declared as a scalar 32-bit integer value |
VUID-CoreCountARM-CoreCountARM-07595 | N | | None | explicit | CoreCountARM | The variable decorated with CoreCountARM must be declared using the Input Storage Class |
VUID-CoreCountARM-CoreCountARM-07596 | N | | None | explicit | CoreCountARM | The variable decorated with CoreCountARM must be declared as a scalar 32-bit integer value |
VUID-CoreIDARM-CoreIDARM-07599 | N | | None | explicit | CoreIDARM | The variable decorated with CoreIDARM must be declared using the Input Storage Class |
VUID-CoreIDARM-CoreIDARM-07600 | N | | None | explicit | CoreIDARM | The variable decorated with CoreIDARM must be declared as a scalar 32-bit integer value |
VUID-CoreMaxIDARM-CoreMaxIDARM-07597 | N | | None | explicit | CoreMaxIDARM | The variable decorated with CoreMaxIDARM must be declared using the Input Storage Class |
VUID-CoreMaxIDARM-CoreMaxIDARM-07598 | N | | None | explicit | CoreMaxIDARM | The variable decorated with CoreMaxIDARM must be declared as a scalar 32-bit integer value |
VUID-CullDistancePerViewNV-CullDistancePerViewNV-04201 | N | | None | explicit | CullDistancePerViewNV | The CullDistancePerViewNV decoration must be used only within the MeshNV Execution Model |
VUID-CullDistancePerViewNV-CullDistancePerViewNV-04202 | N | | None | explicit | CullDistancePerViewNV | The variable decorated with CullDistancePerViewNV must be declared using the Output Storage Class |
VUID-CullDistancePerViewNV-CullDistancePerViewNV-04203 | N | | None | explicit | CullDistancePerViewNV | The variable decorated with CullDistancePerViewNV must also be decorated with the PerViewNV decoration |
VUID-CullDistancePerViewNV-CullDistancePerViewNV-04204 | N | | None | explicit | CullDistancePerViewNV | The variable decorated with CullDistancePerViewNV must be declared as a two-dimensional array of 32-bit floating-point values |
VUID-CurrentRayTimeNV-CurrentRayTimeNV-04942 | N | | None | explicit | CurrentRayTimeNV | The CurrentRayTimeNV decoration must be used only within the IntersectionKHR, AnyHitKHR, ClosestHitKHR, or MissKHR Execution Model |
VUID-CurrentRayTimeNV-CurrentRayTimeNV-04943 | N | | None | explicit | CurrentRayTimeNV | The variable decorated with CurrentRayTimeNV must be declared using the Input Storage Class |
VUID-CurrentRayTimeNV-CurrentRayTimeNV-04944 | N | | None | explicit | CurrentRayTimeNV | The variable decorated with CurrentRayTimeNV must be declared as a scalar 32-bit floating-point value |
VUID-FirstIndexHUAWEI-FirstIndexHUAWEI-07799 | N | | None | explicit | FirstIndexHUAWEI | The FirstIndexHUAWEI decoration must be used only within the ClusterCullingHUAWEI Execution Model |
VUID-FirstIndexHUAWEI-FirstIndexHUAWEI-07800 | N | | None | explicit | FirstIndexHUAWEI | The variable decorated with FirstIndexHUAWEI must be declared as a scalar 32-bit integer value |
VUID-FirstInstanceHUAWEI-FirstInstanceHUAWEI-07801 | N | | None | explicit | FirstInstanceHUAWEI | The FirstInstanceHUAWEI decoration must be used only within the ClusterCullingHUAWEI Execution Model |
VUID-FirstInstanceHUAWEI-FirstInstanceHUAWEI-07802 | N | | None | explicit | FirstInstanceHUAWEI | The variable decorated with FirstInstanceHUAWEI must be declared as a scalar 32-bit integer value |
VUID-FirstVertexHUAWEI-FirstVertexHUAWEI-07803 | N | | None | explicit | FirstVertexHUAWEI | The FirstVertexHUAWEI decoration must be used only within the FirstVertexHUAWEI Execution Model |
VUID-FirstVertexHUAWEI-FirstVertexHUAWEI-07804 | N | | None | explicit | FirstVertexHUAWEI | The variable decorated with FirstVertexHUAWEI must be declared as a scalar 32-bit integer value |
VUID-FragmentSizeNV-FragmentSizeNV-04226 | N | | None | explicit | FragmentSizeNV | The FragmentSizeNV decoration must be used only within the Fragment Execution Model |
VUID-FragmentSizeNV-FragmentSizeNV-04227 | N | | None | explicit | FragmentSizeNV | The variable decorated with FragmentSizeNV must be declared using the Input Storage Class |
VUID-FragmentSizeNV-FragmentSizeNV-04228 | N | | None | explicit | FragmentSizeNV | The variable decorated with FragmentSizeNV must be declared as a two-component vector of 32-bit integer values |
VUID-HitTNV-HitTNV-04245 | Y | Y | ValidateLiterals.LiteralsKernelGood | explicit | HitTNV | The HitTNV decoration must be used only within the AnyHitNV or ClosestHitNV Execution Model |
VUID-HitTNV-HitTNV-04246 | Y | Y | ValidateLiterals.LiteralsKernelGood | explicit | HitTNV | The variable decorated with HitTNV must be declared using the Input Storage Class |
VUID-HitTNV-HitTNV-04247 | Y | Y | ValidateLiterals.LiteralsKernelGood | explicit | HitTNV | The variable decorated with HitTNV must be declared as a scalar 32-bit floating-point value |
VUID-IndexCountHUAWEI-IndexCountHUAWEI-07805 | N | | None | explicit | IndexCountHUAWEI | The IndexCountHUAWEI decoration must be used only within the ClusterCullingHUAWEI Execution Model |
VUID-IndexCountHUAWEI-IndexCountHUAWEI-07806 | N | | None | explicit | IndexCountHUAWEI | The variable decorated with IndexCountHUAWEI must be declared as a scalar 32-bit integer value |
VUID-InstanceCountHUAWEI-InstanceCountHUAWEI-07807 | N | | None | explicit | InstanceCountHUAWEI | The InstanceCountHUAWEI decoration must be used only within the ClusterCullingHUAWEI Execution Model |
VUID-InstanceCountHUAWEI-InstanceCountHUAWEI-07808 | N | | None | explicit | InstanceCountHUAWEI | The variable decorated with InstanceCountHUAWEI must be declared as a scalar 32-bit integer value |
VUID-InvocationsPerPixelNV-InvocationsPerPixelNV-04260 | N | | None | explicit | InvocationsPerPixelNV | The InvocationsPerPixelNV decoration must be used only within the Fragment Execution Model |
VUID-InvocationsPerPixelNV-InvocationsPerPixelNV-04261 | N | | None | explicit | InvocationsPerPixelNV | The variable decorated with InvocationsPerPixelNV must be declared using the Input Storage Class |
VUID-InvocationsPerPixelNV-InvocationsPerPixelNV-04262 | N | | None | explicit | InvocationsPerPixelNV | The variable decorated with InvocationsPerPixelNV must be declared as a scalar 32-bit integer value |
VUID-LayerPerViewNV-LayerPerViewNV-04277 | N | | None | explicit | LayerPerViewNV | The LayerPerViewNV decoration must be used only within the MeshNV Execution Model |
VUID-LayerPerViewNV-LayerPerViewNV-04278 | N | | None | explicit | LayerPerViewNV | The variable decorated with LayerPerViewNV must be declared using the Output Storage Class |
VUID-LayerPerViewNV-LayerPerViewNV-04279 | N | | None | explicit | LayerPerViewNV | The variable decorated with LayerPerViewNV must also be decorated with the PerViewNV decoration |
VUID-LayerPerViewNV-LayerPerViewNV-04280 | N | | None | explicit | LayerPerViewNV | The variable decorated with LayerPerViewNV must be declared as an array of scalar 32-bit integer values |
VUID-MeshViewCountNV-MeshViewCountNV-04287 | N | | None | explicit | MeshViewCountNV | The MeshViewCountNV decoration must be used only within the MeshNV or TaskNV Execution Model |
VUID-MeshViewCountNV-MeshViewCountNV-04288 | N | | None | explicit | MeshViewCountNV | The variable decorated with MeshViewCountNV must be declared using the Input Storage Class |
VUID-MeshViewCountNV-MeshViewCountNV-04289 | N | | None | explicit | MeshViewCountNV | The variable decorated with MeshViewCountNV must be declared as a scalar 32-bit integer value |
VUID-MeshViewIndicesNV-MeshViewIndicesNV-04290 | N | | None | explicit | MeshViewIndicesNV | The MeshViewIndicesNV decoration must be used only within the MeshNV or TaskNV Execution Model |
VUID-MeshViewIndicesNV-MeshViewIndicesNV-04291 | N | | None | explicit | MeshViewIndicesNV | The variable decorated with MeshViewIndicesNV must be declared using the Input Storage Class |
VUID-MeshViewIndicesNV-MeshViewIndicesNV-04292 | N | | None | explicit | MeshViewIndicesNV | The variable decorated with MeshViewIndicesNV must be declared as an array of scalar 32-bit integer values |
VUID-PositionPerViewNV-PositionPerViewNV-04322 | N | | None | explicit | PositionPerViewNV | The PositionPerViewNV decoration must be used only within the MeshNV, Vertex, TessellationControl, TessellationEvaluation, or Geometry Execution Model |
VUID-PositionPerViewNV-PositionPerViewNV-04323 | N | | None | explicit | PositionPerViewNV | The variable decorated with PositionPerViewNV within the Vertex, or MeshNV Execution Model must be declared using the Output Storage Class |
VUID-PositionPerViewNV-PositionPerViewNV-04324 | N | | None | explicit | PositionPerViewNV | The 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-04325 | N | | None | explicit | PositionPerViewNV | The 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-04326 | N | | None | explicit | PositionPerViewNV | The array variable decorated with PositionPerViewNV must only be indexed by a constant or specialization constant |
VUID-PrimitiveCountNV-PrimitiveCountNV-04327 | N | | None | explicit | PrimitiveCountNV | The PrimitiveCountNV decoration must be used only within the MeshNV Execution Model |
VUID-PrimitiveCountNV-PrimitiveCountNV-04328 | N | | None | explicit | PrimitiveCountNV | The variable decorated with PrimitiveCountNV must be declared using the Output Storage Class |
VUID-PrimitiveCountNV-PrimitiveCountNV-04329 | N | | None | explicit | PrimitiveCountNV | The variable decorated with PrimitiveCountNV must be declared as a scalar 32-bit integer value |
VUID-PrimitiveIndicesNV-OutputLinesNV-04343 | N | | None | explicit | PrimitiveIndicesNV | If 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-04342 | N | | None | explicit | PrimitiveIndicesNV | If the Execution Mode is OutputPoints, then the array decorated with PrimitiveIndicesNV must be the size of the value specified by OutputPrimitivesNV |
VUID-PrimitiveIndicesNV-OutputTrianglesNV-04344 | N | | None | explicit | PrimitiveIndicesNV | If 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-04338 | N | | None | explicit | PrimitiveIndicesNV | The PrimitiveIndicesNV decoration must be used only within the MeshNV Execution Model |
VUID-PrimitiveIndicesNV-PrimitiveIndicesNV-04339 | N | | None | explicit | PrimitiveIndicesNV | The variable decorated with PrimitiveIndicesNV must be declared using the Output Storage Class |
VUID-PrimitiveIndicesNV-PrimitiveIndicesNV-04340 | N | | None | explicit | PrimitiveIndicesNV | The variable decorated with PrimitiveIndicesNV must be declared as an array of scalar 32-bit integer values |
VUID-PrimitiveIndicesNV-PrimitiveIndicesNV-04341 | N | | None | explicit | PrimitiveIndicesNV | All 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-04363 | N | | None | explicit | SMCountNV | The variable decorated with SMCountNV must be declared using the Input Storage Class |
VUID-SMCountNV-SMCountNV-04364 | N | | None | explicit | SMCountNV | The variable decorated with SMCountNV must be declared as a scalar 32-bit integer value |
VUID-SMIDNV-SMIDNV-04365 | N | | None | explicit | SMIDNV | The variable decorated with SMIDNV must be declared using the Input Storage Class |
VUID-SMIDNV-SMIDNV-04366 | N | | None | explicit | SMIDNV | The variable decorated with SMIDNV must be declared as a scalar 32-bit integer value |
VUID-ShaderIndexAMDX-ShaderIndexAMDX-09175 | N | | None | explicit | ShaderIndexAMDX | The variable decorated with ShaderIndexAMDX must be declared using the Input Storage Class |
VUID-ShaderIndexAMDX-ShaderIndexAMDX-09176 | N | | None | explicit | ShaderIndexAMDX | The variable decorated with ShaderIndexAMDX must be declared as a scalar 32-bit integer value |
VUID-TaskCountNV-TaskCountNV-04384 | N | | None | explicit | TaskCountNV | The TaskCountNV decoration must be used only within the TaskNV Execution Model |
VUID-TaskCountNV-TaskCountNV-04385 | N | | None | explicit | TaskCountNV | The variable decorated with TaskCountNV must be declared using the Output Storage Class |
VUID-TaskCountNV-TaskCountNV-04386 | N | | None | explicit | TaskCountNV | The variable decorated with TaskCountNV must be declared as a scalar 32-bit integer value |
VUID-VertexCountHUAWEI-VertexCountHUAWEI-07809 | N | | None | explicit | VertexCountHUAWEI | The VertexCountHUAWEI decoration must be used only within the ClusterCullingHUAWEI Execution Model |
VUID-VertexCountHUAWEI-VertexCountHUAWEI-07810 | N | | None | explicit | VertexCountHUAWEI | The variable decorated with VertexCountHUAWEI must be declared as a scalar 32-bit integer value |
VUID-VertexOffsetHUAWEI-VertexOffsetHUAWEI-07811 | N | | None | explicit | VertexOffsetHUAWEI | The VertexOffsetHUAWEI decoration must be used only within the ClusterCullingHUAWEI Execution Model |
VUID-VertexOffsetHUAWEI-VertexOffsetHUAWEI-07812 | N | | None | explicit | VertexOffsetHUAWEI | The variable decorated with VertexOffsetHUAWEI must be declared as a scalar 32-bit integer value |
VUID-ViewportMaskNV-ViewportMaskNV-04409 | N | | None | explicit | ViewportMaskNV | The ViewportMaskNV decoration must be used only within the Vertex, MeshNV, TessellationEvaluation, or Geometry Execution Model |
VUID-ViewportMaskNV-ViewportMaskNV-04410 | N | | None | explicit | ViewportMaskNV | The variable decorated with ViewportMaskNV must be declared using the Output Storage Class |
VUID-ViewportMaskNV-ViewportMaskNV-04411 | N | | None | explicit | ViewportMaskNV | The variable decorated with ViewportMaskNV must be declared as an array of 32-bit integer values |
VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04412 | N | | None | explicit | ViewportMaskPerViewNV | The ViewportMaskPerViewNV decoration must be used only within the Vertex, MeshNV, TessellationControl, TessellationEvaluation, or Geometry Execution Model |
VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04413 | N | | None | explicit | ViewportMaskPerViewNV | The variable decorated with ViewportMaskPerViewNV must be declared using the Output Storage Class |
VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04414 | N | | None | explicit | ViewportMaskPerViewNV | The variable decorated with ViewportMaskPerViewNV must be declared as an array of 32-bit integer values |
VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04415 | N | | None | explicit | ViewportMaskPerViewNV | The array decorated with ViewportMaskPerViewNV must be a size less than or equal to 32 |
VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04416 | N | | None | explicit | ViewportMaskPerViewNV | The array decorated with ViewportMaskPerViewNV must be a size greater than the maximum view in the subpass's view mask |
VUID-ViewportMaskPerViewNV-ViewportMaskPerViewNV-04417 | N | | None | explicit | ViewportMaskPerViewNV | The array variable decorated with ViewportMaskPerViewNV must only be indexed by a constant or specialization constant |
VUID-VkAccelerationStructureCreateInfoNV-compactedSize-02421 | Y | | NegativeRayTracingNV.ValidateCreateAccelerationStructure | explicit | VkAccelerationStructureCreateInfoNV | If compactedSize is not 0 then both info.geometryCount and info.instanceCount must be 0 |
VUID-VkAccelerationStructureCreateInfoNV-info-parameter | N | | None | implicit | VkAccelerationStructureCreateInfoNV | info must be a valid VkAccelerationStructureInfoNV structure |
VUID-VkAccelerationStructureCreateInfoNV-pNext-pNext | Y | | None | implicit | VkAccelerationStructureCreateInfoNV | pNext must be NULL or a pointer to a valid instance of VkOpaqueCaptureDescriptorDataCreateInfoEXT |
VUID-VkAccelerationStructureCreateInfoNV-sType-sType | Y | | None | implicit | VkAccelerationStructureCreateInfoNV | sType must be VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_CREATE_INFO_NV |
VUID-VkAccelerationStructureCreateInfoNV-sType-unique | Y | | None | implicit | VkAccelerationStructureCreateInfoNV | The sType value of each struct in the pNext chain must be unique |
VUID-VkAccelerationStructureGeometryMotionTrianglesDataNV-sType-sType | Y | | None | implicit | VkAccelerationStructureGeometryMotionTrianglesDataNV | sType must be VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_GEOMETRY_MOTION_TRIANGLES_DATA_NV |
VUID-VkAccelerationStructureInfoNV-flags-02592 | Y | | NegativeRayTracingNV.ValidateCreateAccelerationStructure | explicit | VkAccelerationStructureInfoNV | If 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-parameter | Y | | None | implicit | VkAccelerationStructureInfoNV | flags must be a valid combination of VkBuildAccelerationStructureFlagBitsNV values |
VUID-VkAccelerationStructureInfoNV-geometryCount-02422 | Y | | None | explicit | VkAccelerationStructureInfoNV | geometryCount must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxGeometryCount |
VUID-VkAccelerationStructureInfoNV-instanceCount-02423 | Y | | None | explicit | VkAccelerationStructureInfoNV | instanceCount must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxInstanceCount |
VUID-VkAccelerationStructureInfoNV-instanceData-02782 | Y | | NegativeRayTracingNV.ValidateCmdBuildAccelerationStructure | explicit | VkAccelerationStructureInfoNV | If instanceData is not VK_NULL_HANDLE, instanceData must have been created with VK_BUFFER_USAGE_RAY_TRACING_BIT_NV usage flag |
VUID-VkAccelerationStructureInfoNV-maxTriangleCount-02424 | Y | | None | explicit | VkAccelerationStructureInfoNV | The total number of triangles in all geometries must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxTriangleCount |
VUID-VkAccelerationStructureInfoNV-pGeometries-parameter | Y | | None | implicit | VkAccelerationStructureInfoNV | If geometryCount is not 0, pGeometries must be a valid pointer to an array of geometryCount valid VkGeometryNV structures |
VUID-VkAccelerationStructureInfoNV-pNext-pNext | Y | | None | implicit | VkAccelerationStructureInfoNV | pNext must be NULL |
VUID-VkAccelerationStructureInfoNV-sType-sType | Y | | None | implicit | VkAccelerationStructureInfoNV | sType must be VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_INFO_NV |
VUID-VkAccelerationStructureInfoNV-scratch-02781 | Y | | NegativeRayTracingNV.ValidateCmdBuildAccelerationStructure | explicit | VkAccelerationStructureInfoNV | scratch must have been created with VK_BUFFER_USAGE_RAY_TRACING_BIT_NV usage flag |
VUID-VkAccelerationStructureInfoNV-type-02425 | Y | | NegativeRayTracingNV.ValidateCreateAccelerationStructure | explicit | VkAccelerationStructureInfoNV | If type is VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_NV then geometryCount must be 0 |
VUID-VkAccelerationStructureInfoNV-type-02426 | Y | | NegativeRayTracingNV.ValidateCreateAccelerationStructure | explicit | VkAccelerationStructureInfoNV | If type is VK_ACCELERATION_STRUCTURE_TYPE_BOTTOM_LEVEL_NV then instanceCount must be 0 |
VUID-VkAccelerationStructureInfoNV-type-02786 | Y | | NegativeRayTracingNV.ValidateCreateAccelerationStructure | explicit | VkAccelerationStructureInfoNV | If 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-04623 | Y | | NegativeRayTracingNV.ValidateCreateAccelerationStructure | explicit | VkAccelerationStructureInfoNV | type must not be VK_ACCELERATION_STRUCTURE_TYPE_GENERIC_KHR |
VUID-VkAccelerationStructureInfoNV-type-parameter | N | | None | implicit | VkAccelerationStructureInfoNV | type must be a valid VkAccelerationStructureTypeNV value |
VUID-VkAccelerationStructureMatrixMotionInstanceNV-flags-parameter | N | | None | implicit | VkAccelerationStructureMatrixMotionInstanceNV | flags must be a valid combination of VkGeometryInstanceFlagBitsKHR values |
VUID-VkAccelerationStructureMemoryRequirementsInfoNV-accelerationStructure-parameter | Y | | None | implicit | VkAccelerationStructureMemoryRequirementsInfoNV | accelerationStructure must be a valid VkAccelerationStructureNV handle |
VUID-VkAccelerationStructureMemoryRequirementsInfoNV-pNext-pNext | Y | | None | implicit | VkAccelerationStructureMemoryRequirementsInfoNV | pNext must be NULL |
VUID-VkAccelerationStructureMemoryRequirementsInfoNV-sType-sType | Y | | None | implicit | VkAccelerationStructureMemoryRequirementsInfoNV | sType must be VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MEMORY_REQUIREMENTS_INFO_NV |
VUID-VkAccelerationStructureMemoryRequirementsInfoNV-type-parameter | Y | | None | implicit | VkAccelerationStructureMemoryRequirementsInfoNV | type must be a valid VkAccelerationStructureMemoryRequirementsTypeNV value |
VUID-VkAccelerationStructureMotionInfoNV-flags-zerobitmask | Y | | None | implicit | VkAccelerationStructureMotionInfoNV | flags must be 0 |
VUID-VkAccelerationStructureMotionInfoNV-sType-sType | Y | | None | implicit | VkAccelerationStructureMotionInfoNV | sType must be VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_MOTION_INFO_NV |
VUID-VkAccelerationStructureMotionInstanceNV-flags-zerobitmask | N | | None | implicit | VkAccelerationStructureMotionInstanceNV | flags must be 0 |
VUID-VkAccelerationStructureMotionInstanceNV-matrixMotionInstance-parameter | N | | None | implicit | VkAccelerationStructureMotionInstanceNV | If 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-parameter | N | | None | implicit | VkAccelerationStructureMotionInstanceNV | If 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-parameter | N | | None | implicit | VkAccelerationStructureMotionInstanceNV | If type is VK_ACCELERATION_STRUCTURE_MOTION_INSTANCE_TYPE_STATIC_NV, the staticInstance member of data must be a valid VkAccelerationStructureInstanceKHR structure |
VUID-VkAccelerationStructureMotionInstanceNV-type-parameter | N | | None | implicit | VkAccelerationStructureMotionInstanceNV | type must be a valid VkAccelerationStructureMotionInstanceTypeNV value |
VUID-VkAccelerationStructureSRTMotionInstanceNV-flags-parameter | N | | None | implicit | VkAccelerationStructureSRTMotionInstanceNV | flags must be a valid combination of VkGeometryInstanceFlagBitsKHR values |
VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-displacementBiasAndScaleFormat-09501 | N | | None | explicit | VkAccelerationStructureTrianglesDisplacementMicromapNV | displacementBiasAndScaleFormat must not be VK_FORMAT_UNDEFINED |
VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-displacementBiasAndScaleFormat-parameter | Y | | None | implicit | VkAccelerationStructureTrianglesDisplacementMicromapNV | displacementBiasAndScaleFormat must be a valid VkFormat value |
VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-displacementVectorFormat-09502 | N | | None | explicit | VkAccelerationStructureTrianglesDisplacementMicromapNV | displacementVectorFormat must not be VK_FORMAT_UNDEFINED |
VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-displacementVectorFormat-parameter | Y | | None | implicit | VkAccelerationStructureTrianglesDisplacementMicromapNV | displacementVectorFormat must be a valid VkFormat value |
VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-indexType-parameter | Y | | None | implicit | VkAccelerationStructureTrianglesDisplacementMicromapNV | indexType must be a valid VkIndexType value |
VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-micromap-parameter | N | | None | implicit | VkAccelerationStructureTrianglesDisplacementMicromapNV | If micromap is not VK_NULL_HANDLE, micromap must be a valid VkMicromapEXT handle |
VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-pUsageCounts-07992 | N | | None | explicit | VkAccelerationStructureTrianglesDisplacementMicromapNV | Only one of pUsageCounts or ppUsageCounts can be a valid pointer, the other must be NULL |
VUID-VkAccelerationStructureTrianglesDisplacementMicromapNV-pUsageCounts-parameter | Y | | None | implicit | VkAccelerationStructureTrianglesDisplacementMicromapNV | If 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-parameter | Y | | None | implicit | VkAccelerationStructureTrianglesDisplacementMicromapNV | If 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-sType | Y | | None | implicit | VkAccelerationStructureTrianglesDisplacementMicromapNV | sType must be VK_STRUCTURE_TYPE_ACCELERATION_STRUCTURE_TRIANGLES_DISPLACEMENT_MICROMAP_NV |
VUID-VkAmigoProfilingSubmitInfoSEC-sType-sType | Y | | None | implicit | VkAmigoProfilingSubmitInfoSEC | sType must be VK_STRUCTURE_TYPE_AMIGO_PROFILING_SUBMIT_INFO_SEC |
VUID-VkAndroidHardwareBufferFormatProperties2ANDROID-sType-sType | Y | | None | implicit | VkAndroidHardwareBufferFormatProperties2ANDROID | sType must be VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_2_ANDROID |
VUID-VkAndroidHardwareBufferFormatPropertiesANDROID-sType-sType | Y | | None | implicit | VkAndroidHardwareBufferFormatPropertiesANDROID | sType must be VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_PROPERTIES_ANDROID |
VUID-VkAndroidHardwareBufferFormatResolvePropertiesANDROID-sType-sType | Y | | None | implicit | VkAndroidHardwareBufferFormatResolvePropertiesANDROID | sType must be VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_FORMAT_RESOLVE_PROPERTIES_ANDROID |
VUID-VkAndroidHardwareBufferPropertiesANDROID-pNext-pNext | Y | | None | implicit | VkAndroidHardwareBufferPropertiesANDROID | Each 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-sType | Y | | None | implicit | VkAndroidHardwareBufferPropertiesANDROID | sType must be VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_PROPERTIES_ANDROID |
VUID-VkAndroidHardwareBufferPropertiesANDROID-sType-unique | Y | | None | implicit | VkAndroidHardwareBufferPropertiesANDROID | The sType value of each struct in the pNext chain must be unique |
VUID-VkAndroidHardwareBufferUsageANDROID-sType-sType | Y | | None | implicit | VkAndroidHardwareBufferUsageANDROID | sType must be VK_STRUCTURE_TYPE_ANDROID_HARDWARE_BUFFER_USAGE_ANDROID |
VUID-VkAttachmentSampleCountInfoAMD-sType-sType | Y | | None | implicit | VkAttachmentSampleCountInfoAMD | sType must be VK_STRUCTURE_TYPE_ATTACHMENT_SAMPLE_COUNT_INFO_AMD |
VUID-VkBindAccelerationStructureMemoryInfoNV-accelerationStructure-03620 | Y | | NegativeRayTracingNV.ValidateBindAccelerationStructure | explicit | VkBindAccelerationStructureMemoryInfoNV | accelerationStructure must not already be backed by a memory object |
VUID-VkBindAccelerationStructureMemoryInfoNV-accelerationStructure-parameter | Y | | None | implicit | VkBindAccelerationStructureMemoryInfoNV | accelerationStructure must be a valid VkAccelerationStructureNV handle |
VUID-VkBindAccelerationStructureMemoryInfoNV-commonparent | Y | | None | implicit | VkBindAccelerationStructureMemoryInfoNV | Both of accelerationStructure, and memory must have been created, allocated, or retrieved from the same VkDevice |
VUID-VkBindAccelerationStructureMemoryInfoNV-memory-03622 | Y | | NegativeRayTracingNV.ValidateBindAccelerationStructure | explicit | VkBindAccelerationStructureMemoryInfoNV | memory 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-parameter | Y | | NegativeRayTracingNV.ValidateBindAccelerationStructure | implicit | VkBindAccelerationStructureMemoryInfoNV | memory must be a valid VkDeviceMemory handle |
VUID-VkBindAccelerationStructureMemoryInfoNV-memoryOffset-03621 | Y | | NegativeRayTracingNV.ValidateBindAccelerationStructure | explicit | VkBindAccelerationStructureMemoryInfoNV | memoryOffset must be less than the size of memory |
VUID-VkBindAccelerationStructureMemoryInfoNV-memoryOffset-03623 | Y | | NegativeRayTracingNV.ValidateBindAccelerationStructure | explicit | VkBindAccelerationStructureMemoryInfoNV | memoryOffset 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-parameter | Y | | None | implicit | VkBindAccelerationStructureMemoryInfoNV | If deviceIndexCount is not 0, pDeviceIndices must be a valid pointer to an array of deviceIndexCount uint32_t values |
VUID-VkBindAccelerationStructureMemoryInfoNV-pNext-pNext | Y | | None | implicit | VkBindAccelerationStructureMemoryInfoNV | pNext must be NULL |
VUID-VkBindAccelerationStructureMemoryInfoNV-sType-sType | Y | | None | implicit | VkBindAccelerationStructureMemoryInfoNV | sType must be VK_STRUCTURE_TYPE_BIND_ACCELERATION_STRUCTURE_MEMORY_INFO_NV |
VUID-VkBindAccelerationStructureMemoryInfoNV-size-03624 | Y | | NegativeRayTracingNV.ValidateBindAccelerationStructure | explicit | VkBindAccelerationStructureMemoryInfoNV | The 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-02946 | N | | None | explicit | VkBindIndexBufferIndirectCommandNV | The buffer's usage flag from which the address was acquired must have the VK_BUFFER_USAGE_INDEX_BUFFER_BIT bit set |
VUID-VkBindIndexBufferIndirectCommandNV-None-02948 | N | | None | explicit | VkBindIndexBufferIndirectCommandNV | Each 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-02947 | N | | None | explicit | VkBindIndexBufferIndirectCommandNV | The bufferAddress must be aligned to the indexType used |
VUID-VkBindIndexBufferIndirectCommandNV-indexType-parameter | N | | None | implicit | VkBindIndexBufferIndirectCommandNV | indexType must be a valid VkIndexType value |
VUID-VkBindPipelineIndirectCommandNV-None-09092 | N | | None | explicit | VkBindPipelineIndirectCommandNV | The referenced pipeline must have been created with VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV |
VUID-VkBindPipelineIndirectCommandNV-None-09093 | N | | None | explicit | VkBindPipelineIndirectCommandNV | The referenced pipeline must have been updated with vkCmdUpdatePipelineIndirectBufferNV |
VUID-VkBindPipelineIndirectCommandNV-None-09094 | N | | None | explicit | VkBindPipelineIndirectCommandNV | The referenced pipeline's address must have been queried with vkGetPipelineIndirectDeviceAddressNV |
VUID-VkBindPipelineIndirectCommandNV-deviceGeneratedComputePipelines-09091 | N | | None | explicit | VkBindPipelineIndirectCommandNV | The VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedComputePipelines feature must be enabled |
VUID-VkBindShaderGroupIndirectCommandNV-None-02944 | N | | None | explicit | VkBindShaderGroupIndirectCommandNV | The 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-02945 | N | | None | explicit | VkBindShaderGroupIndirectCommandNV | The index must be within range of the accessible shader groups of the current bound graphics pipeline. See vkCmdBindPipelineShaderGroupNV for further details |
VUID-VkBindVertexBufferIndirectCommandNV-None-02949 | N | | None | explicit | VkBindVertexBufferIndirectCommandNV | The buffer's usage flag from which the address was acquired must have the VK_BUFFER_USAGE_VERTEX_BUFFER_BIT bit set |
VUID-VkBindVertexBufferIndirectCommandNV-None-02950 | N | | None | explicit | VkBindVertexBufferIndirectCommandNV | Each 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-parameter | Y | | None | implicit | VkBlitImageCubicWeightsInfoQCOM | cubicWeights must be a valid VkCubicFilterWeightsQCOM value |
VUID-VkBlitImageCubicWeightsInfoQCOM-sType-sType | Y | | None | implicit | VkBlitImageCubicWeightsInfoQCOM | sType must be VK_STRUCTURE_TYPE_BLIT_IMAGE_CUBIC_WEIGHTS_INFO_QCOM |
VUID-VkBufferCollectionBufferCreateInfoFUCHSIA-collection-parameter | Y | | None | implicit | VkBufferCollectionBufferCreateInfoFUCHSIA | collection must be a valid VkBufferCollectionFUCHSIA handle |
VUID-VkBufferCollectionBufferCreateInfoFUCHSIA-index-06388 | N | | None | explicit | VkBufferCollectionBufferCreateInfoFUCHSIA | index must be less than VkBufferCollectionPropertiesFUCHSIA::bufferCount |
VUID-VkBufferCollectionBufferCreateInfoFUCHSIA-sType-sType | Y | | None | implicit | VkBufferCollectionBufferCreateInfoFUCHSIA | sType must be VK_STRUCTURE_TYPE_BUFFER_COLLECTION_BUFFER_CREATE_INFO_FUCHSIA |
VUID-VkBufferCollectionConstraintsInfoFUCHSIA-pNext-pNext | Y | | None | implicit | VkBufferCollectionConstraintsInfoFUCHSIA | pNext must be NULL |
VUID-VkBufferCollectionConstraintsInfoFUCHSIA-sType-sType | Y | | None | implicit | VkBufferCollectionConstraintsInfoFUCHSIA | sType must be VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CONSTRAINTS_INFO_FUCHSIA |
VUID-VkBufferCollectionCreateInfoFUCHSIA-collectionToken-06393 | N | | None | explicit | VkBufferCollectionCreateInfoFUCHSIA | collectionToken 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-pNext | Y | | None | implicit | VkBufferCollectionCreateInfoFUCHSIA | pNext must be NULL |
VUID-VkBufferCollectionCreateInfoFUCHSIA-sType-sType | Y | | None | implicit | VkBufferCollectionCreateInfoFUCHSIA | sType must be VK_STRUCTURE_TYPE_BUFFER_COLLECTION_CREATE_INFO_FUCHSIA |
VUID-VkBufferCollectionImageCreateInfoFUCHSIA-collection-parameter | Y | | None | implicit | VkBufferCollectionImageCreateInfoFUCHSIA | collection must be a valid VkBufferCollectionFUCHSIA handle |
VUID-VkBufferCollectionImageCreateInfoFUCHSIA-index-06391 | N | | None | explicit | VkBufferCollectionImageCreateInfoFUCHSIA | index must be less than VkBufferCollectionPropertiesFUCHSIA::bufferCount |
VUID-VkBufferCollectionImageCreateInfoFUCHSIA-sType-sType | Y | | None | implicit | VkBufferCollectionImageCreateInfoFUCHSIA | sType must be VK_STRUCTURE_TYPE_BUFFER_COLLECTION_IMAGE_CREATE_INFO_FUCHSIA |
VUID-VkBufferCollectionPropertiesFUCHSIA-pNext-pNext | Y | | None | implicit | VkBufferCollectionPropertiesFUCHSIA | pNext must be NULL |
VUID-VkBufferCollectionPropertiesFUCHSIA-sType-sType | Y | | None | implicit | VkBufferCollectionPropertiesFUCHSIA | sType must be VK_STRUCTURE_TYPE_BUFFER_COLLECTION_PROPERTIES_FUCHSIA |
VUID-VkBufferConstraintsInfoFUCHSIA-bufferCollectionConstraints-parameter | N | | None | implicit | VkBufferConstraintsInfoFUCHSIA | bufferCollectionConstraints must be a valid VkBufferCollectionConstraintsInfoFUCHSIA structure |
VUID-VkBufferConstraintsInfoFUCHSIA-createInfo-parameter | N | | None | implicit | VkBufferConstraintsInfoFUCHSIA | createInfo must be a valid VkBufferCreateInfo structure |
VUID-VkBufferConstraintsInfoFUCHSIA-pNext-pNext | Y | | None | implicit | VkBufferConstraintsInfoFUCHSIA | pNext must be NULL |
VUID-VkBufferConstraintsInfoFUCHSIA-requiredFormatFeatures-06404 | N | | None | explicit | VkBufferConstraintsInfoFUCHSIA | The requiredFormatFeatures bitmask of VkFormatFeatureFlagBits must be chosen from among the buffer compatible format features listed in buffer compatible format features |
VUID-VkBufferConstraintsInfoFUCHSIA-requiredFormatFeatures-parameter | Y | | None | implicit | VkBufferConstraintsInfoFUCHSIA | requiredFormatFeatures must be a valid combination of VkFormatFeatureFlagBits values |
VUID-VkBufferConstraintsInfoFUCHSIA-sType-sType | Y | | None | implicit | VkBufferConstraintsInfoFUCHSIA | sType must be VK_STRUCTURE_TYPE_BUFFER_CONSTRAINTS_INFO_FUCHSIA |
VUID-VkCheckpointData2NV-pNext-pNext | Y | | None | implicit | VkCheckpointData2NV | pNext must be NULL |
VUID-VkCheckpointData2NV-sType-sType | Y | | None | implicit | VkCheckpointData2NV | sType must be VK_STRUCTURE_TYPE_CHECKPOINT_DATA_2_NV |
VUID-VkCheckpointDataNV-pNext-pNext | Y | | None | implicit | VkCheckpointDataNV | pNext must be NULL |
VUID-VkCheckpointDataNV-sType-sType | Y | | None | implicit | VkCheckpointDataNV | sType must be VK_STRUCTURE_TYPE_CHECKPOINT_DATA_NV |
VUID-VkCoarseSampleLocationNV-pixelX-02078 | Y | | NegativeFragmentShadingRate.ShadingRateImageNV | explicit | VkCoarseSampleLocationNV | pixelX must be less than the width (in pixels) of the fragment |
VUID-VkCoarseSampleLocationNV-pixelY-02079 | Y | | NegativeFragmentShadingRate.ShadingRateImageNV | explicit | VkCoarseSampleLocationNV | pixelY must be less than the height (in pixels) of the fragment |
VUID-VkCoarseSampleLocationNV-sample-02080 | Y | | NegativeFragmentShadingRate.ShadingRateImageNV | explicit | VkCoarseSampleLocationNV | sample must be less than the number of coverage samples in each pixel belonging to the fragment |
VUID-VkCoarseSampleOrderCustomNV-pSampleLocations-02077 | Y | | NegativeFragmentShadingRate.ShadingRateImageNV | explicit | VkCoarseSampleOrderCustomNV | The 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-parameter | Y | | None | implicit | VkCoarseSampleOrderCustomNV | pSampleLocations must be a valid pointer to an array of sampleLocationCount VkCoarseSampleLocationNV structures |
VUID-VkCoarseSampleOrderCustomNV-sampleCount-02074 | Y | | NegativeFragmentShadingRate.ShadingRateImageNV | explicit | VkCoarseSampleOrderCustomNV | sampleCount must correspond to a sample count enumerated in VkSampleCountFlags whose corresponding bit is set in VkPhysicalDeviceLimits::framebufferNoAttachmentsSampleCounts |
VUID-VkCoarseSampleOrderCustomNV-sampleLocationCount-02075 | Y | | NegativeFragmentShadingRate.ShadingRateImageNV | explicit | VkCoarseSampleOrderCustomNV | sampleLocationCount must be equal to the product of sampleCount, the fragment width for shadingRate, and the fragment height for shadingRate |
VUID-VkCoarseSampleOrderCustomNV-sampleLocationCount-02076 | Y | | NegativeFragmentShadingRate.ShadingRateImageNV | explicit | VkCoarseSampleOrderCustomNV | sampleLocationCount must be less than or equal to the value of VkPhysicalDeviceShadingRateImagePropertiesNV::shadingRateMaxCoarseSamples |
VUID-VkCoarseSampleOrderCustomNV-sampleLocationCount-arraylength | Y | | None | implicit | VkCoarseSampleOrderCustomNV | sampleLocationCount must be greater than 0 |
VUID-VkCoarseSampleOrderCustomNV-shadingRate-02073 | Y | | NegativeFragmentShadingRate.ShadingRateImageNV | explicit | VkCoarseSampleOrderCustomNV | shadingRate must be a shading rate that generates fragments with more than one pixel |
VUID-VkCoarseSampleOrderCustomNV-shadingRate-parameter | Y | | None | implicit | VkCoarseSampleOrderCustomNV | shadingRate must be a valid VkShadingRatePaletteEntryNV value |
VUID-VkCommandBufferInheritanceRenderPassTransformInfoQCOM-sType-sType | Y | | None | implicit | VkCommandBufferInheritanceRenderPassTransformInfoQCOM | sType must be VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_RENDER_PASS_TRANSFORM_INFO_QCOM |
VUID-VkCommandBufferInheritanceRenderPassTransformInfoQCOM-transform-02864 | N | | None | explicit | VkCommandBufferInheritanceRenderPassTransformInfoQCOM | transform 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-sType | Y | | None | implicit | VkCommandBufferInheritanceViewportScissorInfoNV | sType must be VK_STRUCTURE_TYPE_COMMAND_BUFFER_INHERITANCE_VIEWPORT_SCISSOR_INFO_NV |
VUID-VkCommandBufferInheritanceViewportScissorInfoNV-viewportScissor2D-04782 | Y | | NegativeViewportInheritance.MissingFeature | explicit | VkCommandBufferInheritanceViewportScissorInfoNV | If the inheritedViewportScissor2D feature is not enabled, viewportScissor2D must be VK_FALSE |
VUID-VkCommandBufferInheritanceViewportScissorInfoNV-viewportScissor2D-04783 | Y | | NegativeViewportInheritance.ScissorMissingFeature | explicit | VkCommandBufferInheritanceViewportScissorInfoNV | If the multiViewport feature is not enabled and viewportScissor2D is VK_TRUE, then viewportDepthCount must be 1 |
VUID-VkCommandBufferInheritanceViewportScissorInfoNV-viewportScissor2D-04784 | Y | | NegativeViewportInheritance.BasicUsage | explicit | VkCommandBufferInheritanceViewportScissorInfoNV | If viewportScissor2D is VK_TRUE, then viewportDepthCount must be greater than 0 |
VUID-VkCommandBufferInheritanceViewportScissorInfoNV-viewportScissor2D-04785 | N | | None | explicit | VkCommandBufferInheritanceViewportScissorInfoNV | If 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-04786 | Y | | NegativeViewportInheritance.BasicUsage | explicit | VkCommandBufferInheritanceViewportScissorInfoNV | If viewportScissor2D is VK_TRUE, then the command buffer must be recorded with the VK_COMMAND_BUFFER_USAGE_RENDER_PASS_CONTINUE_BIT |
VUID-VkComputePipelineIndirectBufferInfoNV-deviceAddress-09011 | N | | None | explicit | VkComputePipelineIndirectBufferInfoNV | deviceAddress must be aligned to the VkMemoryRequirements2::alignment, as returned by vkGetPipelineIndirectMemoryRequirementsNV |
VUID-VkComputePipelineIndirectBufferInfoNV-deviceAddress-09012 | N | | None | explicit | VkComputePipelineIndirectBufferInfoNV | deviceAddress 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-09009 | N | | None | explicit | VkComputePipelineIndirectBufferInfoNV | The VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedComputePipelines feature must be enabled |
VUID-VkComputePipelineIndirectBufferInfoNV-flags-09010 | N | | None | explicit | VkComputePipelineIndirectBufferInfoNV | The pipeline creation flags in VkComputePipelineCreateInfo::flags must include VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV |
VUID-VkComputePipelineIndirectBufferInfoNV-pipelineDeviceAddressCaptureReplay-09014 | N | | None | explicit | VkComputePipelineIndirectBufferInfoNV | If pipelineDeviceAddressCaptureReplay is non-zero then the VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedComputeCaptureReplay feature must be enabled |
VUID-VkComputePipelineIndirectBufferInfoNV-pipelineDeviceAddressCaptureReplay-09015 | N | | None | explicit | VkComputePipelineIndirectBufferInfoNV | If 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-09016 | N | | None | explicit | VkComputePipelineIndirectBufferInfoNV | If pipelineDeviceAddressCaptureReplay is non-zero, the pipeline must have been recreated for replay |
VUID-VkComputePipelineIndirectBufferInfoNV-pipelineDeviceAddressCaptureReplay-09017 | N | | None | explicit | VkComputePipelineIndirectBufferInfoNV | pipelineDeviceAddressCaptureReplay must satisfy the alignment and size requirements similar to deviceAddress |
VUID-VkComputePipelineIndirectBufferInfoNV-sType-sType | Y | | None | implicit | VkComputePipelineIndirectBufferInfoNV | sType must be VK_STRUCTURE_TYPE_COMPUTE_PIPELINE_INDIRECT_BUFFER_INFO_NV |
VUID-VkComputePipelineIndirectBufferInfoNV-size-09013 | N | | None | explicit | VkComputePipelineIndirectBufferInfoNV | size must be greater than or equal to the VkMemoryRequirements2::size, as returned by vkGetPipelineIndirectMemoryRequirementsNV |
VUID-VkCooperativeMatrixPropertiesNV-pNext-pNext | Y | | None | implicit | VkCooperativeMatrixPropertiesNV | pNext must be NULL |
VUID-VkCooperativeMatrixPropertiesNV-sType-sType | Y | | None | implicit | VkCooperativeMatrixPropertiesNV | sType must be VK_STRUCTURE_TYPE_COOPERATIVE_MATRIX_PROPERTIES_NV |
VUID-VkCopyCommandTransformInfoQCOM-sType-sType | Y | | None | implicit | VkCopyCommandTransformInfoQCOM | sType must be VK_STRUCTURE_TYPE_COPY_COMMAND_TRANSFORM_INFO_QCOM |
VUID-VkCopyCommandTransformInfoQCOM-transform-04560 | N | | None | explicit | VkCopyCommandTransformInfoQCOM | transform 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-07658 | N | | None | explicit | VkCopyMemoryIndirectCommandNV | The dstAddress must be 4 byte aligned |
VUID-VkCopyMemoryIndirectCommandNV-size-07659 | N | | None | explicit | VkCopyMemoryIndirectCommandNV | The size must be 4 byte aligned |
VUID-VkCopyMemoryIndirectCommandNV-srcAddress-07657 | N | | None | explicit | VkCopyMemoryIndirectCommandNV | The srcAddress must be 4 byte aligned |
VUID-VkCopyMemoryToImageIndirectCommandNV-bufferImageHeight-07680 | N | | None | explicit | VkCopyMemoryToImageIndirectCommandNV | bufferImageHeight must be 0, or greater than or equal to the height member of imageExtent |
VUID-VkCopyMemoryToImageIndirectCommandNV-bufferRowLength-07679 | N | | None | explicit | VkCopyMemoryToImageIndirectCommandNV | bufferRowLength must be 0, or greater than or equal to the width member of imageExtent |
VUID-VkCopyMemoryToImageIndirectCommandNV-imageExtent-07682 | N | | None | explicit | VkCopyMemoryToImageIndirectCommandNV | imageExtent must specify a valid region in the destination image and can be 0 |
VUID-VkCopyMemoryToImageIndirectCommandNV-imageOffset-07681 | N | | None | explicit | VkCopyMemoryToImageIndirectCommandNV | imageOffset must specify a valid offset in the destination image |
VUID-VkCopyMemoryToImageIndirectCommandNV-imageSubresource-parameter | Y | | None | implicit | VkCopyMemoryToImageIndirectCommandNV | imageSubresource must be a valid VkImageSubresourceLayers structure |
VUID-VkCopyMemoryToImageIndirectCommandNV-srcAddress-07678 | N | | None | explicit | VkCopyMemoryToImageIndirectCommandNV | The srcAddress must be 4 byte aligned |
VUID-VkCuFunctionCreateInfoNVX-module-parameter | Y | | None | implicit | VkCuFunctionCreateInfoNVX | module must be a valid VkCuModuleNVX handle |
VUID-VkCuFunctionCreateInfoNVX-pName-parameter | Y | | None | implicit | VkCuFunctionCreateInfoNVX | pName must be a null-terminated UTF-8 string |
VUID-VkCuFunctionCreateInfoNVX-pNext-pNext | Y | | None | implicit | VkCuFunctionCreateInfoNVX | pNext must be NULL |
VUID-VkCuFunctionCreateInfoNVX-sType-sType | Y | | None | implicit | VkCuFunctionCreateInfoNVX | sType must be VK_STRUCTURE_TYPE_CU_FUNCTION_CREATE_INFO_NVX |
VUID-VkCuLaunchInfoNVX-function-parameter | Y | | None | implicit | VkCuLaunchInfoNVX | function must be a valid VkCuFunctionNVX handle |
VUID-VkCuLaunchInfoNVX-pExtras-parameter | Y | | None | implicit | VkCuLaunchInfoNVX | If extraCount is not 0, pExtras must be a valid pointer to an array of extraCount bytes |
VUID-VkCuLaunchInfoNVX-pNext-pNext | Y | | None | implicit | VkCuLaunchInfoNVX | pNext must be NULL |
VUID-VkCuLaunchInfoNVX-pParams-parameter | Y | | None | implicit | VkCuLaunchInfoNVX | If paramCount is not 0, pParams must be a valid pointer to an array of paramCount bytes |
VUID-VkCuLaunchInfoNVX-sType-sType | Y | | None | implicit | VkCuLaunchInfoNVX | sType must be VK_STRUCTURE_TYPE_CU_LAUNCH_INFO_NVX |
VUID-VkCuModuleCreateInfoNVX-pData-parameter | Y | | None | implicit | VkCuModuleCreateInfoNVX | If dataSize is not 0, pData must be a valid pointer to an array of dataSize bytes |
VUID-VkCuModuleCreateInfoNVX-pNext-pNext | Y | | None | implicit | VkCuModuleCreateInfoNVX | pNext must be NULL |
VUID-VkCuModuleCreateInfoNVX-sType-sType | Y | | None | implicit | VkCuModuleCreateInfoNVX | sType must be VK_STRUCTURE_TYPE_CU_MODULE_CREATE_INFO_NVX |
VUID-VkCudaFunctionCreateInfoNV-module-parameter | Y | | None | implicit | VkCudaFunctionCreateInfoNV | module must be a valid VkCudaModuleNV handle |
VUID-VkCudaFunctionCreateInfoNV-pName-parameter | Y | | None | implicit | VkCudaFunctionCreateInfoNV | pName must be a null-terminated UTF-8 string |
VUID-VkCudaFunctionCreateInfoNV-pNext-pNext | Y | | None | implicit | VkCudaFunctionCreateInfoNV | pNext must be NULL |
VUID-VkCudaFunctionCreateInfoNV-sType-sType | Y | | None | implicit | VkCudaFunctionCreateInfoNV | sType must be VK_STRUCTURE_TYPE_CUDA_FUNCTION_CREATE_INFO_NV |
VUID-VkCudaLaunchInfoNV-extraCount-09411 | N | | None | explicit | VkCudaLaunchInfoNV | extraCount must be 0 |
VUID-VkCudaLaunchInfoNV-function-parameter | Y | | None | implicit | VkCudaLaunchInfoNV | function must be a valid VkCudaFunctionNV handle |
VUID-VkCudaLaunchInfoNV-gridDimX-09406 | N | | None | explicit | VkCudaLaunchInfoNV | gridDimX must be less than or equal to VkPhysicalDeviceLimits::maxComputeWorkGroupCount[0] |
VUID-VkCudaLaunchInfoNV-gridDimY-09407 | N | | None | explicit | VkCudaLaunchInfoNV | gridDimY must be less than or equal to VkPhysicalDeviceLimits::maxComputeWorkGroupCount[1] |
VUID-VkCudaLaunchInfoNV-gridDimZ-09408 | N | | None | explicit | VkCudaLaunchInfoNV | gridDimZ must be less than or equal to VkPhysicalDeviceLimits::maxComputeWorkGroupCount[2] |
VUID-VkCudaLaunchInfoNV-pExtras-09412 | N | | None | explicit | VkCudaLaunchInfoNV | pExtras must be NULL |
VUID-VkCudaLaunchInfoNV-pNext-pNext | Y | | None | implicit | VkCudaLaunchInfoNV | pNext must be NULL |
VUID-VkCudaLaunchInfoNV-pParams-09410 | N | | None | explicit | VkCudaLaunchInfoNV | pParams must be a pointer to a table of paramCount parameters, corresponding to the arguments of function |
VUID-VkCudaLaunchInfoNV-paramCount-09409 | N | | None | explicit | VkCudaLaunchInfoNV | paramCount must be the total amount of parameters listed in the pParams table |
VUID-VkCudaLaunchInfoNV-sType-sType | Y | | None | implicit | VkCudaLaunchInfoNV | sType must be VK_STRUCTURE_TYPE_CUDA_LAUNCH_INFO_NV |
VUID-VkCudaModuleCreateInfoNV-dataSize-09413 | N | | None | explicit | VkCudaModuleCreateInfoNV | dataSize must be the total size in bytes of the PTX files or binary cache passed to pData |
VUID-VkCudaModuleCreateInfoNV-dataSize-arraylength | Y | | None | implicit | VkCudaModuleCreateInfoNV | dataSize must be greater than 0 |
VUID-VkCudaModuleCreateInfoNV-pData-parameter | Y | | None | implicit | VkCudaModuleCreateInfoNV | pData must be a valid pointer to an array of dataSize bytes |
VUID-VkCudaModuleCreateInfoNV-pNext-pNext | Y | | None | implicit | VkCudaModuleCreateInfoNV | pNext must be NULL |
VUID-VkCudaModuleCreateInfoNV-sType-sType | Y | | None | implicit | VkCudaModuleCreateInfoNV | sType must be VK_STRUCTURE_TYPE_CUDA_MODULE_CREATE_INFO_NV |
VUID-VkDecompressMemoryRegionNV-decompressedSize-07689 | N | | None | explicit | VkDecompressMemoryRegionNV | The decompressedSize must be large enough to hold the decompressed data based on the decompressionMethod |
VUID-VkDecompressMemoryRegionNV-decompressionMethod-07690 | N | | None | explicit | VkDecompressMemoryRegionNV | The decompressionMethod must have a single bit set |
VUID-VkDecompressMemoryRegionNV-decompressionMethod-09395 | N | | None | explicit | VkDecompressMemoryRegionNV | If 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-parameter | Y | | None | implicit | VkDecompressMemoryRegionNV | decompressionMethod must be a valid combination of VkMemoryDecompressionMethodFlagBitsNV values |
VUID-VkDecompressMemoryRegionNV-decompressionMethod-requiredbitmask | Y | | None | implicit | VkDecompressMemoryRegionNV | decompressionMethod must not be 0 |
VUID-VkDecompressMemoryRegionNV-dstAddress-07687 | N | | None | explicit | VkDecompressMemoryRegionNV | The dstAddress must be 4 byte aligned |
VUID-VkDecompressMemoryRegionNV-dstAddress-07688 | N | | None | explicit | VkDecompressMemoryRegionNV | The memory in range dstAddress and dstAddress + decompressedSize must be valid and bound to a VkDeviceMemory object |
VUID-VkDecompressMemoryRegionNV-srcAddress-07685 | N | | None | explicit | VkDecompressMemoryRegionNV | The srcAddress must be 4 byte aligned |
VUID-VkDecompressMemoryRegionNV-srcAddress-07686 | N | | None | explicit | VkDecompressMemoryRegionNV | The memory in range srcAddress and srcAddress + compressedSize must be valid and bound to a VkDeviceMemory object |
VUID-VkDecompressMemoryRegionNV-srcAddress-07691 | N | | None | explicit | VkDecompressMemoryRegionNV | The srcAddress to srcAddress + compressedSize region must not overlap with the dstAddress and dstAddress + decompressedSize region |
VUID-VkDedicatedAllocationBufferCreateInfoNV-sType-sType | Y | | None | implicit | VkDedicatedAllocationBufferCreateInfoNV | sType must be VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_BUFFER_CREATE_INFO_NV |
VUID-VkDedicatedAllocationImageCreateInfoNV-dedicatedAllocation-00994 | N | | None | explicit | VkDedicatedAllocationImageCreateInfoNV | If 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-sType | Y | | None | implicit | VkDedicatedAllocationImageCreateInfoNV | sType must be VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_IMAGE_CREATE_INFO_NV |
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-buffer-00651 | N | | None | explicit | VkDedicatedAllocationMemoryAllocateInfoNV | If buffer is not VK_NULL_HANDLE, the buffer must have been created with VkDedicatedAllocationBufferCreateInfoNV::dedicatedAllocation equal to VK_TRUE |
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-buffer-00653 | N | | None | explicit | VkDedicatedAllocationMemoryAllocateInfoNV | If buffer is not VK_NULL_HANDLE, VkMemoryAllocateInfo::allocationSize must equal the VkMemoryRequirements::size of the buffer |
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-buffer-00655 | N | | None | explicit | VkDedicatedAllocationMemoryAllocateInfoNV | If 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-parameter | Y | | None | implicit | VkDedicatedAllocationMemoryAllocateInfoNV | If buffer is not VK_NULL_HANDLE, buffer must be a valid VkBuffer handle |
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-commonparent | Y | | None | implicit | VkDedicatedAllocationMemoryAllocateInfoNV | Both 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-00649 | N | | None | explicit | VkDedicatedAllocationMemoryAllocateInfoNV | At least one of image and buffer must be VK_NULL_HANDLE |
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-image-00650 | N | | None | explicit | VkDedicatedAllocationMemoryAllocateInfoNV | If image is not VK_NULL_HANDLE, the image must have been created with VkDedicatedAllocationImageCreateInfoNV::dedicatedAllocation equal to VK_TRUE |
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-image-00652 | N | | None | explicit | VkDedicatedAllocationMemoryAllocateInfoNV | If image is not VK_NULL_HANDLE, VkMemoryAllocateInfo::allocationSize must equal the VkMemoryRequirements::size of the image |
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-image-00654 | N | | None | explicit | VkDedicatedAllocationMemoryAllocateInfoNV | If 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-parameter | Y | | None | implicit | VkDedicatedAllocationMemoryAllocateInfoNV | If image is not VK_NULL_HANDLE, image must be a valid VkImage handle |
VUID-VkDedicatedAllocationMemoryAllocateInfoNV-sType-sType | Y | | None | implicit | VkDedicatedAllocationMemoryAllocateInfoNV | sType must be VK_STRUCTURE_TYPE_DEDICATED_ALLOCATION_MEMORY_ALLOCATE_INFO_NV |
VUID-VkDescriptorSetBindingReferenceVALVE-descriptorSetLayout-parameter | Y | | None | implicit | VkDescriptorSetBindingReferenceVALVE | descriptorSetLayout must be a valid VkDescriptorSetLayout handle |
VUID-VkDescriptorSetBindingReferenceVALVE-pNext-pNext | Y | | None | implicit | VkDescriptorSetBindingReferenceVALVE | pNext must be NULL |
VUID-VkDescriptorSetBindingReferenceVALVE-sType-sType | Y | | None | implicit | VkDescriptorSetBindingReferenceVALVE | sType must be VK_STRUCTURE_TYPE_DESCRIPTOR_SET_BINDING_REFERENCE_VALVE |
VUID-VkDescriptorSetLayoutHostMappingInfoVALVE-pNext-pNext | N | | None | implicit | VkDescriptorSetLayoutHostMappingInfoVALVE | pNext must be NULL |
VUID-VkDescriptorSetLayoutHostMappingInfoVALVE-sType-sType | Y | | None | implicit | VkDescriptorSetLayoutHostMappingInfoVALVE | sType must be VK_STRUCTURE_TYPE_DESCRIPTOR_SET_LAYOUT_HOST_MAPPING_INFO_VALVE |
VUID-VkDeviceDiagnosticsConfigCreateInfoNV-flags-parameter | Y | | None | implicit | VkDeviceDiagnosticsConfigCreateInfoNV | flags must be a valid combination of VkDeviceDiagnosticsConfigFlagBitsNV values |
VUID-VkDeviceDiagnosticsConfigCreateInfoNV-sType-sType | Y | | None | implicit | VkDeviceDiagnosticsConfigCreateInfoNV | sType must be VK_STRUCTURE_TYPE_DEVICE_DIAGNOSTICS_CONFIG_CREATE_INFO_NV |
VUID-VkDeviceMemoryOverallocationCreateInfoAMD-overallocationBehavior-parameter | Y | | None | implicit | VkDeviceMemoryOverallocationCreateInfoAMD | overallocationBehavior must be a valid VkMemoryOverallocationBehaviorAMD value |
VUID-VkDeviceMemoryOverallocationCreateInfoAMD-sType-sType | Y | | None | implicit | VkDeviceMemoryOverallocationCreateInfoAMD | sType must be VK_STRUCTURE_TYPE_DEVICE_MEMORY_OVERALLOCATION_CREATE_INFO_AMD |
VUID-VkDeviceQueueShaderCoreControlCreateInfoARM-sType-sType | Y | | None | implicit | VkDeviceQueueShaderCoreControlCreateInfoARM | sType must be VK_STRUCTURE_TYPE_DEVICE_QUEUE_SHADER_CORE_CONTROL_CREATE_INFO_ARM |
VUID-VkDeviceQueueShaderCoreControlCreateInfoARM-shaderCoreCount-09399 | N | | None | explicit | VkDeviceQueueShaderCoreControlCreateInfoARM | shaderCoreCount 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-zerobitmask | Y | | None | implicit | VkDirectDriverLoadingInfoLUNARG | flags must be 0 |
VUID-VkDirectDriverLoadingInfoLUNARG-sType-sType | Y | | None | implicit | VkDirectDriverLoadingInfoLUNARG | sType must be VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_INFO_LUNARG |
VUID-VkDirectDriverLoadingListLUNARG-driverCount-arraylength | Y | | None | implicit | VkDirectDriverLoadingListLUNARG | driverCount must be greater than 0 |
VUID-VkDirectDriverLoadingListLUNARG-mode-parameter | Y | | None | implicit | VkDirectDriverLoadingListLUNARG | mode must be a valid VkDirectDriverLoadingModeLUNARG value |
VUID-VkDirectDriverLoadingListLUNARG-pDrivers-parameter | Y | | None | implicit | VkDirectDriverLoadingListLUNARG | pDrivers must be a valid pointer to an array of driverCount valid VkDirectDriverLoadingInfoLUNARG structures |
VUID-VkDirectDriverLoadingListLUNARG-sType-sType | Y | | None | implicit | VkDirectDriverLoadingListLUNARG | sType must be VK_STRUCTURE_TYPE_DIRECT_DRIVER_LOADING_LIST_LUNARG |
VUID-VkDispatchGraphInfoAMDX-payloadCount-09171 | N | | None | explicit | VkDispatchGraphInfoAMDX | payloadCount must be no greater than maxExecutionGraphShaderPayloadCount |
VUID-VkDisplayNativeHdrSurfaceCapabilitiesAMD-sType-sType | Y | | None | implicit | VkDisplayNativeHdrSurfaceCapabilitiesAMD | sType must be VK_STRUCTURE_TYPE_DISPLAY_NATIVE_HDR_SURFACE_CAPABILITIES_AMD |
VUID-VkDrawMeshTasksIndirectCommandNV-taskCount-02175 | N | | None | explicit | VkDrawMeshTasksIndirectCommandNV | taskCount must be less than or equal to VkPhysicalDeviceMeshShaderPropertiesNV::maxDrawMeshTasksCount |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-CoalescedInputCountAMDX-09137 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | There 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-09134 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | There must be no two nodes in the pipeline that share both the same shader name and index, as specified by VkPipelineShaderStageNodeCreateInfoAMDX |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-None-09135 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | There 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-09136 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | There must be no two nodes in the pipeline that share the same name but have different execution models |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-None-09497 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | If the pNext chain does not include a VkPipelineCreateFlags2CreateInfoKHR structure, flags must be a valid combination of VkPipelineCreateFlagBits values |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-PayloadNodeNameAMDX-09139 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | If 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-09138 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | There must be no two nodes in the pipeline that share the same name where one includes StaticNumWorkgroupsAMDX and the other does not |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-commonparent | Y | | None | implicit | VkExecutionGraphPipelineCreateInfoAMDX | Both 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-03365 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | flags must not include VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03366 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | flags must not include VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03367 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | flags must not include VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03368 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | flags must not include VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03369 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | flags must not include VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03370 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | flags must not include VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-03576 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | flags must not include VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-04945 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | flags must not include VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-07984 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | If 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-07985 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | If 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-07986 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, basePipelineIndex must be -1 or basePipelineHandle must be VK_NULL_HANDLE |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-09007 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | If the VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedComputePipelines is not enabled, flags must not include VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-flags-09008 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | If 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-07987 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | If 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-07988 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | If a resource variables is declared in a shader, a descriptor slot in layout must match the shader stage |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-07990 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | If 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-07991 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | If a resource variables is declared in a shader as an array, a descriptor slot in layout must match the descriptor count |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-09130 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | layout must be consistent with the layout of the shaders specified in pStages |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-layout-09132 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | The 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-parameter | Y | | None | implicit | VkExecutionGraphPipelineCreateInfoAMDX | layout must be a valid VkPipelineLayout handle |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-pLibraryInfo-09131 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | If 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-09133 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | If pLibraryInfo is not NULL, each element of pLibraryInfo->libraries must be either a compute pipeline or an execution graph pipeline |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-pLibraryInfo-parameter | Y | | None | implicit | VkExecutionGraphPipelineCreateInfoAMDX | If pLibraryInfo is not NULL, pLibraryInfo must be a valid pointer to a valid VkPipelineLibraryCreateInfoKHR structure |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-pNext-pNext | Y | | None | implicit | VkExecutionGraphPipelineCreateInfoAMDX | Each 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-09129 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | The 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-parameter | Y | | None | implicit | VkExecutionGraphPipelineCreateInfoAMDX | If 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-02875 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | If 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-sType | Y | | None | implicit | VkExecutionGraphPipelineCreateInfoAMDX | sType must be VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-sType-unique | Y | | None | implicit | VkExecutionGraphPipelineCreateInfoAMDX | The sType value of each struct in the pNext chain must be unique |
VUID-VkExecutionGraphPipelineCreateInfoAMDX-stage-09128 | N | | None | explicit | VkExecutionGraphPipelineCreateInfoAMDX | The stage member of any element of pStages must be VK_SHADER_STAGE_COMPUTE_BIT |
VUID-VkExecutionGraphPipelineScratchSizeAMDX-sType-sType | Y | | None | implicit | VkExecutionGraphPipelineScratchSizeAMDX | sType must be VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX |
VUID-VkExportMemoryAllocateInfoNV-handleTypes-parameter | Y | | None | implicit | VkExportMemoryAllocateInfoNV | handleTypes must be a valid combination of VkExternalMemoryHandleTypeFlagBitsNV values |
VUID-VkExportMemoryAllocateInfoNV-sType-sType | Y | | None | implicit | VkExportMemoryAllocateInfoNV | sType must be VK_STRUCTURE_TYPE_EXPORT_MEMORY_ALLOCATE_INFO_NV |
VUID-VkExportMemoryWin32HandleInfoNV-pAttributes-parameter | Y | | None | implicit | VkExportMemoryWin32HandleInfoNV | If pAttributes is not NULL, pAttributes must be a valid pointer to a valid SECURITY_ATTRIBUTES value |
VUID-VkExportMemoryWin32HandleInfoNV-sType-sType | Y | | None | implicit | VkExportMemoryWin32HandleInfoNV | sType must be VK_STRUCTURE_TYPE_EXPORT_MEMORY_WIN32_HANDLE_INFO_NV |
VUID-VkExternalFormatANDROID-externalFormat-01894 | Y | | NegativeAndroidExternalResolve.Framebuffer, NegativeAndroidExternalResolve.ImagelessFramebuffer, NegativeAndroidHardwareBuffer.ImageCreate | explicit | VkExternalFormatANDROID | externalFormat must be 0 or a value returned in the externalFormat member of VkAndroidHardwareBufferFormatPropertiesANDROID by an earlier call to vkGetAndroidHardwareBufferPropertiesANDROID |
VUID-VkExternalFormatANDROID-sType-sType | Y | | None | implicit | VkExternalFormatANDROID | sType must be VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_ANDROID |
VUID-VkExternalFormatQNX-externalFormat-08956 | N | | None | explicit | VkExternalFormatQNX | externalFormat must be 0 or a value returned in the externalFormat member of VkScreenBufferFormatPropertiesQNX by an earlier call to vkGetScreenBufferPropertiesQNX |
VUID-VkExternalFormatQNX-sType-sType | Y | | None | implicit | VkExternalFormatQNX | sType must be VK_STRUCTURE_TYPE_EXTERNAL_FORMAT_QNX |
VUID-VkExternalMemoryImageCreateInfoNV-handleTypes-parameter | Y | | None | implicit | VkExternalMemoryImageCreateInfoNV | handleTypes must be a valid combination of VkExternalMemoryHandleTypeFlagBitsNV values |
VUID-VkExternalMemoryImageCreateInfoNV-sType-sType | Y | | None | implicit | VkExternalMemoryImageCreateInfoNV | sType must be VK_STRUCTURE_TYPE_EXTERNAL_MEMORY_IMAGE_CREATE_INFO_NV |
VUID-VkFramebufferMixedSamplesCombinationNV-pNext-pNext | Y | | None | implicit | VkFramebufferMixedSamplesCombinationNV | pNext must be NULL |
VUID-VkFramebufferMixedSamplesCombinationNV-sType-sType | Y | | None | implicit | VkFramebufferMixedSamplesCombinationNV | sType must be VK_STRUCTURE_TYPE_FRAMEBUFFER_MIXED_SAMPLES_COMBINATION_NV |
VUID-VkGeneratedCommandsInfoNV-commonparent | Y | | None | implicit | VkGeneratedCommandsInfoNV | Each 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-02913 | N | | None | explicit | VkGeneratedCommandsInfoNV | If 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-02914 | N | | None | explicit | VkGeneratedCommandsInfoNV | If 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-02915 | N | | None | explicit | VkGeneratedCommandsInfoNV | If 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-07078 | N | | None | explicit | VkGeneratedCommandsInfoNV | If 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-07079 | N | | None | explicit | VkGeneratedCommandsInfoNV | If 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-parameter | Y | | None | implicit | VkGeneratedCommandsInfoNV | indirectCommandsLayout must be a valid VkIndirectCommandsLayoutNV handle |
VUID-VkGeneratedCommandsInfoNV-pNext-pNext | Y | | None | implicit | VkGeneratedCommandsInfoNV | pNext must be NULL |
VUID-VkGeneratedCommandsInfoNV-pStreams-parameter | Y | | None | implicit | VkGeneratedCommandsInfoNV | pStreams must be a valid pointer to an array of streamCount valid VkIndirectCommandsStreamNV structures |
VUID-VkGeneratedCommandsInfoNV-pipeline-02912 | N | | None | explicit | VkGeneratedCommandsInfoNV | The provided pipeline must match the pipeline bound at execution time |
VUID-VkGeneratedCommandsInfoNV-pipeline-parameter | Y | | None | implicit | VkGeneratedCommandsInfoNV | If pipeline is not VK_NULL_HANDLE, pipeline must be a valid VkPipeline handle |
VUID-VkGeneratedCommandsInfoNV-pipelineBindPoint-09084 | N | | None | explicit | VkGeneratedCommandsInfoNV | If 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-09085 | N | | None | explicit | VkGeneratedCommandsInfoNV | If 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-09086 | N | | None | explicit | VkGeneratedCommandsInfoNV | If 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-09087 | N | | None | explicit | VkGeneratedCommandsInfoNV | If 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-parameter | Y | | None | implicit | VkGeneratedCommandsInfoNV | pipelineBindPoint must be a valid VkPipelineBindPoint value |
VUID-VkGeneratedCommandsInfoNV-preprocessBuffer-02918 | N | | None | explicit | VkGeneratedCommandsInfoNV | preprocessBuffer must have the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set in its usage flag |
VUID-VkGeneratedCommandsInfoNV-preprocessBuffer-02971 | N | | None | explicit | VkGeneratedCommandsInfoNV | If preprocessBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object |
VUID-VkGeneratedCommandsInfoNV-preprocessBuffer-parameter | Y | | None | implicit | VkGeneratedCommandsInfoNV | preprocessBuffer must be a valid VkBuffer handle |
VUID-VkGeneratedCommandsInfoNV-preprocessOffset-02919 | N | | None | explicit | VkGeneratedCommandsInfoNV | preprocessOffset must be aligned to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::minIndirectCommandsBufferOffsetAlignment |
VUID-VkGeneratedCommandsInfoNV-preprocessSize-02920 | N | | None | explicit | VkGeneratedCommandsInfoNV | preprocessSize 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-sType | Y | | None | implicit | VkGeneratedCommandsInfoNV | sType must be VK_STRUCTURE_TYPE_GENERATED_COMMANDS_INFO_NV |
VUID-VkGeneratedCommandsInfoNV-sequencesCount-02917 | N | | None | explicit | VkGeneratedCommandsInfoNV | sequencesCount must be less or equal to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxIndirectSequenceCount and VkGeneratedCommandsMemoryRequirementsInfoNV::maxSequencesCount that was used to determine the preprocessSize |
VUID-VkGeneratedCommandsInfoNV-sequencesCountBuffer-02921 | N | | None | explicit | VkGeneratedCommandsInfoNV | sequencesCountBuffer 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-02922 | N | | None | explicit | VkGeneratedCommandsInfoNV | If sequencesCountBuffer is not VK_NULL_HANDLE, its usage flag must have the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set |
VUID-VkGeneratedCommandsInfoNV-sequencesCountBuffer-02923 | N | | None | explicit | VkGeneratedCommandsInfoNV | If sequencesCountBuffer is not VK_NULL_HANDLE, sequencesCountOffset must be aligned to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::minSequencesCountBufferOffsetAlignment |
VUID-VkGeneratedCommandsInfoNV-sequencesCountBuffer-02972 | N | | None | explicit | VkGeneratedCommandsInfoNV | If 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-parameter | Y | | None | implicit | VkGeneratedCommandsInfoNV | If sequencesCountBuffer is not VK_NULL_HANDLE, sequencesCountBuffer must be a valid VkBuffer handle |
VUID-VkGeneratedCommandsInfoNV-sequencesIndexBuffer-02924 | N | | None | explicit | VkGeneratedCommandsInfoNV | If 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-02925 | N | | None | explicit | VkGeneratedCommandsInfoNV | If sequencesIndexBuffer is not VK_NULL_HANDLE, its usage flag must have the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set |
VUID-VkGeneratedCommandsInfoNV-sequencesIndexBuffer-02926 | N | | None | explicit | VkGeneratedCommandsInfoNV | If sequencesIndexBuffer is not VK_NULL_HANDLE, sequencesIndexOffset must be aligned to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::minSequencesIndexBufferOffsetAlignment |
VUID-VkGeneratedCommandsInfoNV-sequencesIndexBuffer-02973 | N | | None | explicit | VkGeneratedCommandsInfoNV | If 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-parameter | Y | | None | implicit | VkGeneratedCommandsInfoNV | If sequencesIndexBuffer is not VK_NULL_HANDLE, sequencesIndexBuffer must be a valid VkBuffer handle |
VUID-VkGeneratedCommandsInfoNV-streamCount-02916 | N | | None | explicit | VkGeneratedCommandsInfoNV | streamCount must match the indirectCommandsLayout's streamCount |
VUID-VkGeneratedCommandsInfoNV-streamCount-arraylength | Y | | None | implicit | VkGeneratedCommandsInfoNV | streamCount must be greater than 0 |
VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-commonparent | Y | | None | implicit | VkGeneratedCommandsMemoryRequirementsInfoNV | Both 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-parameter | Y | | None | implicit | VkGeneratedCommandsMemoryRequirementsInfoNV | indirectCommandsLayout must be a valid VkIndirectCommandsLayoutNV handle |
VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-maxSequencesCount-02907 | N | | None | explicit | VkGeneratedCommandsMemoryRequirementsInfoNV | maxSequencesCount must be less or equal to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxIndirectSequenceCount |
VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-pNext-pNext | Y | | None | implicit | VkGeneratedCommandsMemoryRequirementsInfoNV | pNext must be NULL |
VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-pipeline-parameter | Y | | None | implicit | VkGeneratedCommandsMemoryRequirementsInfoNV | If pipeline is not VK_NULL_HANDLE, pipeline must be a valid VkPipeline handle |
VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-pipelineBindPoint-09075 | N | | None | explicit | VkGeneratedCommandsMemoryRequirementsInfoNV | If pipelineBindPoint is of type VK_PIPELINE_BIND_POINT_GRAPHICS, then pipeline must be a valid VkPipeline handle |
VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-pipelineBindPoint-09076 | N | | None | explicit | VkGeneratedCommandsMemoryRequirementsInfoNV | If 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-09077 | N | | None | explicit | VkGeneratedCommandsMemoryRequirementsInfoNV | If 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-parameter | Y | | None | implicit | VkGeneratedCommandsMemoryRequirementsInfoNV | pipelineBindPoint must be a valid VkPipelineBindPoint value |
VUID-VkGeneratedCommandsMemoryRequirementsInfoNV-sType-sType | Y | | None | implicit | VkGeneratedCommandsMemoryRequirementsInfoNV | sType must be VK_STRUCTURE_TYPE_GENERATED_COMMANDS_MEMORY_REQUIREMENTS_INFO_NV |
VUID-VkGeometryAABBNV-aabbData-parameter | Y | | None | implicit | VkGeometryAABBNV | If aabbData is not VK_NULL_HANDLE, aabbData must be a valid VkBuffer handle |
VUID-VkGeometryAABBNV-offset-02439 | Y | | NegativeRayTracingNV.ValidateGeometry | explicit | VkGeometryAABBNV | offset must be less than the size of aabbData |
VUID-VkGeometryAABBNV-offset-02440 | Y | | NegativeRayTracingNV.ValidateGeometry | explicit | VkGeometryAABBNV | offset must be a multiple of 8 |
VUID-VkGeometryAABBNV-pNext-pNext | Y | | None | implicit | VkGeometryAABBNV | pNext must be NULL |
VUID-VkGeometryAABBNV-sType-sType | Y | | None | implicit | VkGeometryAABBNV | sType must be VK_STRUCTURE_TYPE_GEOMETRY_AABB_NV |
VUID-VkGeometryAABBNV-stride-02441 | Y | | NegativeRayTracingNV.ValidateGeometry | explicit | VkGeometryAABBNV | stride must be a multiple of 8 |
VUID-VkGeometryDataNV-aabbs-parameter | N | | None | implicit | VkGeometryDataNV | aabbs must be a valid VkGeometryAABBNV structure |
VUID-VkGeometryDataNV-triangles-parameter | N | | None | implicit | VkGeometryDataNV | triangles must be a valid VkGeometryTrianglesNV structure |
VUID-VkGeometryNV-flags-parameter | Y | | None | implicit | VkGeometryNV | flags must be a valid combination of VkGeometryFlagBitsKHR values |
VUID-VkGeometryNV-geometry-parameter | N | | None | implicit | VkGeometryNV | geometry must be a valid VkGeometryDataNV structure |
VUID-VkGeometryNV-geometryType-03503 | Y | | NegativeRayTracingNV.ValidateGeometry | explicit | VkGeometryNV | geometryType must be VK_GEOMETRY_TYPE_TRIANGLES_NV or VK_GEOMETRY_TYPE_AABBS_NV |
VUID-VkGeometryNV-geometryType-parameter | Y | | NegativeRayTracingNV.ValidateGeometry | implicit | VkGeometryNV | geometryType must be a valid VkGeometryTypeKHR value |
VUID-VkGeometryNV-pNext-pNext | Y | | None | implicit | VkGeometryNV | pNext must be NULL |
VUID-VkGeometryNV-sType-sType | Y | | None | implicit | VkGeometryNV | sType must be VK_STRUCTURE_TYPE_GEOMETRY_NV |
VUID-VkGeometryTrianglesNV-commonparent | Y | | None | implicit | VkGeometryTrianglesNV | Each 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-02436 | Y | | NegativeRayTracingNV.ValidateGeometry | explicit | VkGeometryTrianglesNV | indexCount must be 0 if indexType is VK_INDEX_TYPE_NONE_NV |
VUID-VkGeometryTrianglesNV-indexData-02434 | Y | | NegativeRayTracingNV.ValidateGeometry | explicit | VkGeometryTrianglesNV | indexData must be VK_NULL_HANDLE if indexType is VK_INDEX_TYPE_NONE_NV |
VUID-VkGeometryTrianglesNV-indexData-02435 | N | | None | explicit | VkGeometryTrianglesNV | indexData must be a valid VkBuffer handle if indexType is not VK_INDEX_TYPE_NONE_NV |
VUID-VkGeometryTrianglesNV-indexData-parameter | Y | | None | implicit | VkGeometryTrianglesNV | If indexData is not VK_NULL_HANDLE, indexData must be a valid VkBuffer handle |
VUID-VkGeometryTrianglesNV-indexOffset-02431 | Y | | NegativeRayTracingNV.ValidateGeometry | explicit | VkGeometryTrianglesNV | indexOffset must be less than the size of indexData |
VUID-VkGeometryTrianglesNV-indexOffset-02432 | Y | | NegativeRayTracingNV.ValidateGeometry | explicit | VkGeometryTrianglesNV | indexOffset must be a multiple of the element size of indexType |
VUID-VkGeometryTrianglesNV-indexType-02433 | Y | | None | explicit | VkGeometryTrianglesNV | indexType must be VK_INDEX_TYPE_UINT16, VK_INDEX_TYPE_UINT32, or VK_INDEX_TYPE_NONE_NV |
VUID-VkGeometryTrianglesNV-indexType-parameter | Y | | None | implicit | VkGeometryTrianglesNV | indexType must be a valid VkIndexType value |
VUID-VkGeometryTrianglesNV-pNext-pNext | Y | | None | implicit | VkGeometryTrianglesNV | pNext must be NULL |
VUID-VkGeometryTrianglesNV-sType-sType | Y | | None | implicit | VkGeometryTrianglesNV | sType must be VK_STRUCTURE_TYPE_GEOMETRY_TRIANGLES_NV |
VUID-VkGeometryTrianglesNV-transformData-parameter | Y | | None | implicit | VkGeometryTrianglesNV | If transformData is not VK_NULL_HANDLE, transformData must be a valid VkBuffer handle |
VUID-VkGeometryTrianglesNV-transformOffset-02437 | Y | | NegativeRayTracingNV.ValidateGeometry | explicit | VkGeometryTrianglesNV | transformOffset must be less than the size of transformData |
VUID-VkGeometryTrianglesNV-transformOffset-02438 | Y | | NegativeRayTracingNV.ValidateGeometry | explicit | VkGeometryTrianglesNV | transformOffset must be a multiple of 16 |
VUID-VkGeometryTrianglesNV-vertexData-parameter | Y | | NegativeRayTracingNV.ValidateGeometry | implicit | VkGeometryTrianglesNV | If vertexData is not VK_NULL_HANDLE, vertexData must be a valid VkBuffer handle |
VUID-VkGeometryTrianglesNV-vertexFormat-02430 | Y | | NegativeRayTracingNV.ValidateGeometry | explicit | VkGeometryTrianglesNV | vertexFormat 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-parameter | Y | | None | implicit | VkGeometryTrianglesNV | vertexFormat must be a valid VkFormat value |
VUID-VkGeometryTrianglesNV-vertexOffset-02428 | Y | | NegativeRayTracingNV.ValidateGeometry | explicit | VkGeometryTrianglesNV | vertexOffset must be less than the size of vertexData |
VUID-VkGeometryTrianglesNV-vertexOffset-02429 | Y | | NegativeRayTracingNV.ValidateGeometry | explicit | VkGeometryTrianglesNV | vertexOffset must be a multiple of the component size of vertexFormat |
VUID-VkGeometryTrianglesNV-vertexStride-03818 | N | | None | explicit | VkGeometryTrianglesNV | vertexStride must be less than or equal to 232-1 |
VUID-VkGetLatencyMarkerInfoNV-pTimings-parameter | N | | None | implicit | VkGetLatencyMarkerInfoNV | If 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-sType | Y | | None | implicit | VkGetLatencyMarkerInfoNV | sType must be VK_STRUCTURE_TYPE_GET_LATENCY_MARKER_INFO_NV |
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-deviceGeneratedCommands-02887 | N | | None | explicit | VkGraphicsPipelineShaderGroupsCreateInfoNV | The deviceGeneratedCommands feature must be enabled |
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-groupCount-02879 | N | | None | explicit | VkGraphicsPipelineShaderGroupsCreateInfoNV | groupCount must be at least 1 and as maximum VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxGraphicsShaderGroupCount |
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-groupCount-02880 | N | | None | explicit | VkGraphicsPipelineShaderGroupsCreateInfoNV | The sum of groupCount including those groups added from referenced pPipelines must also be as maximum VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxGraphicsShaderGroupCount |
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-pGroups-02881 | N | | None | explicit | VkGraphicsPipelineShaderGroupsCreateInfoNV | The state of the first element of pGroups must match its equivalent within the parent's VkGraphicsPipelineCreateInfo |
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-pGroups-02882 | N | | None | explicit | VkGraphicsPipelineShaderGroupsCreateInfoNV | Each element of pGroups must in combination with the rest of the pipeline state yield a valid state configuration |
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-pGroups-02884 | N | | None | explicit | VkGraphicsPipelineShaderGroupsCreateInfoNV | All 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-02885 | N | | None | explicit | VkGraphicsPipelineShaderGroupsCreateInfoNV | Mesh and regular primitive shading stages cannot be mixed across pGroups |
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-pGroups-parameter | Y | | None | implicit | VkGraphicsPipelineShaderGroupsCreateInfoNV | If groupCount is not 0, pGroups must be a valid pointer to an array of groupCount valid VkGraphicsShaderGroupCreateInfoNV structures |
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-pPipelines-02886 | N | | None | explicit | VkGraphicsPipelineShaderGroupsCreateInfoNV | Each 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-parameter | Y | | None | implicit | VkGraphicsPipelineShaderGroupsCreateInfoNV | If pipelineCount is not 0, pPipelines must be a valid pointer to an array of pipelineCount valid VkPipeline handles |
VUID-VkGraphicsPipelineShaderGroupsCreateInfoNV-sType-sType | Y | | None | implicit | VkGraphicsPipelineShaderGroupsCreateInfoNV | sType must be VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_SHADER_GROUPS_CREATE_INFO_NV |
VUID-VkGraphicsShaderGroupCreateInfoNV-pNext-pNext | N | | None | implicit | VkGraphicsShaderGroupCreateInfoNV | pNext must be NULL |
VUID-VkGraphicsShaderGroupCreateInfoNV-pStages-02889 | N | | None | explicit | VkGraphicsShaderGroupCreateInfoNV | For pStages, the same restrictions as in VkGraphicsPipelineCreateInfo::pStages apply |
VUID-VkGraphicsShaderGroupCreateInfoNV-pStages-parameter | Y | | None | implicit | VkGraphicsShaderGroupCreateInfoNV | pStages must be a valid pointer to an array of stageCount valid VkPipelineShaderStageCreateInfo structures |
VUID-VkGraphicsShaderGroupCreateInfoNV-pTessellationState-02891 | N | | None | explicit | VkGraphicsShaderGroupCreateInfoNV | For pTessellationState, the same restrictions as in VkGraphicsPipelineCreateInfo::pTessellationState apply |
VUID-VkGraphicsShaderGroupCreateInfoNV-pVertexInputState-02890 | N | | None | explicit | VkGraphicsShaderGroupCreateInfoNV | For pVertexInputState, the same restrictions as in VkGraphicsPipelineCreateInfo::pVertexInputState apply |
VUID-VkGraphicsShaderGroupCreateInfoNV-sType-sType | Y | | None | implicit | VkGraphicsShaderGroupCreateInfoNV | sType must be VK_STRUCTURE_TYPE_GRAPHICS_SHADER_GROUP_CREATE_INFO_NV |
VUID-VkGraphicsShaderGroupCreateInfoNV-stageCount-02888 | N | | None | explicit | VkGraphicsShaderGroupCreateInfoNV | For stageCount, the same restrictions as in VkGraphicsPipelineCreateInfo::stageCount apply |
VUID-VkGraphicsShaderGroupCreateInfoNV-stageCount-arraylength | Y | | None | implicit | VkGraphicsShaderGroupCreateInfoNV | stageCount must be greater than 0 |
VUID-VkIOSSurfaceCreateInfoMVK-flags-zerobitmask | Y | | None | implicit | VkIOSSurfaceCreateInfoMVK | flags must be 0 |
VUID-VkIOSSurfaceCreateInfoMVK-pNext-pNext | Y | | None | implicit | VkIOSSurfaceCreateInfoMVK | pNext must be NULL |
VUID-VkIOSSurfaceCreateInfoMVK-pView-01316 | N | | None | explicit | VkIOSSurfaceCreateInfoMVK | If 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-04143 | N | | None | explicit | VkIOSSurfaceCreateInfoMVK | If pView is a CAMetalLayer object, it must be a valid CAMetalLayer |
VUID-VkIOSSurfaceCreateInfoMVK-sType-sType | Y | | None | implicit | VkIOSSurfaceCreateInfoMVK | sType must be VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK |
VUID-VkImageConstraintsInfoFUCHSIA-attachmentFragmentShadingRate-06401 | N | | None | explicit | VkImageConstraintsInfoFUCHSIA | If 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-parameter | N | | None | implicit | VkImageConstraintsInfoFUCHSIA | bufferCollectionConstraints must be a valid VkBufferCollectionConstraintsInfoFUCHSIA structure |
VUID-VkImageConstraintsInfoFUCHSIA-flags-parameter | Y | | None | implicit | VkImageConstraintsInfoFUCHSIA | flags must be a valid combination of VkImageConstraintsInfoFlagBitsFUCHSIA values |
VUID-VkImageConstraintsInfoFUCHSIA-formatConstraintsCount-arraylength | Y | | None | implicit | VkImageConstraintsInfoFUCHSIA | formatConstraintsCount must be greater than 0 |
VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06395 | N | | None | explicit | VkImageConstraintsInfoFUCHSIA | All elements of pFormatConstraints must have at least one bit set in its VkImageFormatConstraintsInfoFUCHSIA::requiredFormatFeatures |
VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06396 | N | | None | explicit | VkImageConstraintsInfoFUCHSIA | If pFormatConstraints->imageCreateInfo->usage contains VK_IMAGE_USAGE_SAMPLED_BIT, then pFormatConstraints->requiredFormatFeatures must contain VK_FORMAT_FEATURE_SAMPLED_IMAGE_BIT |
VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06397 | N | | None | explicit | VkImageConstraintsInfoFUCHSIA | If pFormatConstraints->imageCreateInfo->usage contains VK_IMAGE_USAGE_STORAGE_BIT, then pFormatConstraints->requiredFormatFeatures must contain VK_FORMAT_FEATURE_STORAGE_IMAGE_BIT |
VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06398 | N | | None | explicit | VkImageConstraintsInfoFUCHSIA | If pFormatConstraints->imageCreateInfo->usage contains VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT, then pFormatConstraints->requiredFormatFeatures must contain VK_FORMAT_FEATURE_COLOR_ATTACHMENT_BIT |
VUID-VkImageConstraintsInfoFUCHSIA-pFormatConstraints-06399 | N | | None | explicit | VkImageConstraintsInfoFUCHSIA | If 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-06400 | N | | None | explicit | VkImageConstraintsInfoFUCHSIA | If 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-parameter | Y | | None | implicit | VkImageConstraintsInfoFUCHSIA | pFormatConstraints must be a valid pointer to an array of formatConstraintsCount valid VkImageFormatConstraintsInfoFUCHSIA structures |
VUID-VkImageConstraintsInfoFUCHSIA-pNext-pNext | Y | | None | implicit | VkImageConstraintsInfoFUCHSIA | pNext must be NULL |
VUID-VkImageConstraintsInfoFUCHSIA-sType-sType | Y | | None | implicit | VkImageConstraintsInfoFUCHSIA | sType must be VK_STRUCTURE_TYPE_IMAGE_CONSTRAINTS_INFO_FUCHSIA |
VUID-VkImageFormatConstraintsInfoFUCHSIA-colorSpaceCount-arraylength | Y | | None | implicit | VkImageFormatConstraintsInfoFUCHSIA | colorSpaceCount must be greater than 0 |
VUID-VkImageFormatConstraintsInfoFUCHSIA-flags-zerobitmask | Y | | None | implicit | VkImageFormatConstraintsInfoFUCHSIA | flags must be 0 |
VUID-VkImageFormatConstraintsInfoFUCHSIA-imageCreateInfo-parameter | N | | None | implicit | VkImageFormatConstraintsInfoFUCHSIA | imageCreateInfo must be a valid VkImageCreateInfo structure |
VUID-VkImageFormatConstraintsInfoFUCHSIA-pColorSpaces-parameter | Y | | None | implicit | VkImageFormatConstraintsInfoFUCHSIA | pColorSpaces must be a valid pointer to an array of colorSpaceCount valid VkSysmemColorSpaceFUCHSIA structures |
VUID-VkImageFormatConstraintsInfoFUCHSIA-pNext-pNext | Y | | None | implicit | VkImageFormatConstraintsInfoFUCHSIA | pNext must be NULL |
VUID-VkImageFormatConstraintsInfoFUCHSIA-requiredFormatFeatures-parameter | Y | | None | implicit | VkImageFormatConstraintsInfoFUCHSIA | requiredFormatFeatures must be a valid combination of VkFormatFeatureFlagBits values |
VUID-VkImageFormatConstraintsInfoFUCHSIA-requiredFormatFeatures-requiredbitmask | Y | | None | implicit | VkImageFormatConstraintsInfoFUCHSIA | requiredFormatFeatures must not be 0 |
VUID-VkImageFormatConstraintsInfoFUCHSIA-sType-sType | Y | | None | implicit | VkImageFormatConstraintsInfoFUCHSIA | sType must be VK_STRUCTURE_TYPE_IMAGE_FORMAT_CONSTRAINTS_INFO_FUCHSIA |
VUID-VkImagePipeSurfaceCreateInfoFUCHSIA-flags-zerobitmask | Y | | None | implicit | VkImagePipeSurfaceCreateInfoFUCHSIA | flags must be 0 |
VUID-VkImagePipeSurfaceCreateInfoFUCHSIA-imagePipeHandle-04863 | N | | None | explicit | VkImagePipeSurfaceCreateInfoFUCHSIA | imagePipeHandle must be a valid zx_handle_t |
VUID-VkImagePipeSurfaceCreateInfoFUCHSIA-pNext-pNext | Y | | None | implicit | VkImagePipeSurfaceCreateInfoFUCHSIA | pNext must be NULL |
VUID-VkImagePipeSurfaceCreateInfoFUCHSIA-sType-sType | Y | | None | implicit | VkImagePipeSurfaceCreateInfoFUCHSIA | sType must be VK_STRUCTURE_TYPE_IMAGEPIPE_SURFACE_CREATE_INFO_FUCHSIA |
VUID-VkImageViewAddressPropertiesNVX-pNext-pNext | Y | | None | implicit | VkImageViewAddressPropertiesNVX | pNext must be NULL |
VUID-VkImageViewAddressPropertiesNVX-sType-sType | Y | | None | implicit | VkImageViewAddressPropertiesNVX | sType must be VK_STRUCTURE_TYPE_IMAGE_VIEW_ADDRESS_PROPERTIES_NVX |
VUID-VkImageViewHandleInfoNVX-commonparent | Y | | None | implicit | VkImageViewHandleInfoNVX | Both 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-02654 | N | | None | explicit | VkImageViewHandleInfoNVX | descriptorType must be VK_DESCRIPTOR_TYPE_SAMPLED_IMAGE, VK_DESCRIPTOR_TYPE_STORAGE_IMAGE, or VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER |
VUID-VkImageViewHandleInfoNVX-descriptorType-parameter | Y | | None | implicit | VkImageViewHandleInfoNVX | descriptorType must be a valid VkDescriptorType value |
VUID-VkImageViewHandleInfoNVX-imageView-02656 | N | | None | explicit | VkImageViewHandleInfoNVX | If 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-02657 | N | | None | explicit | VkImageViewHandleInfoNVX | If 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-parameter | Y | | None | implicit | VkImageViewHandleInfoNVX | imageView must be a valid VkImageView handle |
VUID-VkImageViewHandleInfoNVX-pNext-pNext | Y | | None | implicit | VkImageViewHandleInfoNVX | pNext must be NULL |
VUID-VkImageViewHandleInfoNVX-sType-sType | Y | | None | implicit | VkImageViewHandleInfoNVX | sType must be VK_STRUCTURE_TYPE_IMAGE_VIEW_HANDLE_INFO_NVX |
VUID-VkImageViewHandleInfoNVX-sampler-02655 | N | | None | explicit | VkImageViewHandleInfoNVX | sampler must be a valid VkSampler if descriptorType is VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER |
VUID-VkImageViewHandleInfoNVX-sampler-parameter | Y | | None | implicit | VkImageViewHandleInfoNVX | If sampler is not VK_NULL_HANDLE, sampler must be a valid VkSampler handle |
VUID-VkImageViewSampleWeightCreateInfoQCOM-filterCenter-06960 | Y | | NegativeImage.ImageViewTextureSampleWeighted | explicit | VkImageViewSampleWeightCreateInfoQCOM | filterCenter.x must be less than or equal to (filterSize.width - 1) |
VUID-VkImageViewSampleWeightCreateInfoQCOM-filterCenter-06961 | Y | | NegativeImage.ImageViewTextureSampleWeighted | explicit | VkImageViewSampleWeightCreateInfoQCOM | filterCenter.y must be less than or equal to (filterSize.height - 1) |
VUID-VkImageViewSampleWeightCreateInfoQCOM-filterSize-06958 | Y | | NegativeImage.ImageViewTextureSampleWeighted | explicit | VkImageViewSampleWeightCreateInfoQCOM | filterSize.width must be less than or equal to VkPhysicalDeviceImageProcessingPropertiesQCOM::maxWeightFilterDimension.width |
VUID-VkImageViewSampleWeightCreateInfoQCOM-filterSize-06959 | Y | | NegativeImage.ImageViewTextureSampleWeighted | explicit | VkImageViewSampleWeightCreateInfoQCOM | filterSize.height must be less than or equal to VkPhysicalDeviceImageProcessingPropertiesQCOM::maxWeightFilterDimension.height |
VUID-VkImageViewSampleWeightCreateInfoQCOM-numPhases-06962 | Y | | NegativeImage.ImageViewTextureSampleWeighted | explicit | VkImageViewSampleWeightCreateInfoQCOM | numPhases must be a power of two squared value (i.e., 1, 4, 16, 64, 256, etc.) |
VUID-VkImageViewSampleWeightCreateInfoQCOM-numPhases-06963 | Y | | NegativeImage.ImageViewTextureSampleWeighted | explicit | VkImageViewSampleWeightCreateInfoQCOM | numPhases must be less than or equal to VkPhysicalDeviceImageProcessingPropertiesQCOM::maxWeightFilterPhases |
VUID-VkImageViewSampleWeightCreateInfoQCOM-sType-sType | Y | | None | implicit | VkImageViewSampleWeightCreateInfoQCOM | sType must be VK_STRUCTURE_TYPE_IMAGE_VIEW_SAMPLE_WEIGHT_CREATE_INFO_QCOM |
VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-01880 | Y | | None | explicit | VkImportAndroidHardwareBufferInfoANDROID | If buffer is not NULL, Android hardware buffers must be supported for import, as reported by VkExternalImageFormatProperties or VkExternalBufferProperties |
VUID-VkImportAndroidHardwareBufferInfoANDROID-buffer-01881 | Y | | NegativeAndroidHardwareBuffer.ImportBuffer | explicit | VkImportAndroidHardwareBufferInfoANDROID | If 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-parameter | Y | | NegativeAndroidHardwareBuffer.NullAHBImport | implicit | VkImportAndroidHardwareBufferInfoANDROID | buffer must be a valid pointer to an AHardwareBuffer value |
VUID-VkImportAndroidHardwareBufferInfoANDROID-sType-sType | Y | | None | implicit | VkImportAndroidHardwareBufferInfoANDROID | sType must be VK_STRUCTURE_TYPE_IMPORT_ANDROID_HARDWARE_BUFFER_INFO_ANDROID |
VUID-VkImportMemoryBufferCollectionFUCHSIA-collection-parameter | Y | | None | implicit | VkImportMemoryBufferCollectionFUCHSIA | collection must be a valid VkBufferCollectionFUCHSIA handle |
VUID-VkImportMemoryBufferCollectionFUCHSIA-index-06406 | N | | None | explicit | VkImportMemoryBufferCollectionFUCHSIA | index must be less than the value retrieved as VkBufferCollectionPropertiesFUCHSIA:bufferCount |
VUID-VkImportMemoryBufferCollectionFUCHSIA-sType-sType | Y | | None | implicit | VkImportMemoryBufferCollectionFUCHSIA | sType must be VK_STRUCTURE_TYPE_IMPORT_MEMORY_BUFFER_COLLECTION_FUCHSIA |
VUID-VkImportMemoryWin32HandleInfoNV-handle-01328 | N | | None | explicit | VkImportMemoryWin32HandleInfoNV | handle must be a valid handle to memory, obtained as specified by handleType |
VUID-VkImportMemoryWin32HandleInfoNV-handleType-01327 | N | | None | explicit | VkImportMemoryWin32HandleInfoNV | handleType must not have more than one bit set |
VUID-VkImportMemoryWin32HandleInfoNV-handleType-parameter | Y | | None | implicit | VkImportMemoryWin32HandleInfoNV | handleType must be a valid combination of VkExternalMemoryHandleTypeFlagBitsNV values |
VUID-VkImportMemoryWin32HandleInfoNV-sType-sType | Y | | None | implicit | VkImportMemoryWin32HandleInfoNV | sType must be VK_STRUCTURE_TYPE_IMPORT_MEMORY_WIN32_HANDLE_INFO_NV |
VUID-VkImportMemoryZirconHandleInfoFUCHSIA-handle-04772 | N | | None | explicit | VkImportMemoryZirconHandleInfoFUCHSIA | handle must be a valid VMO handle |
VUID-VkImportMemoryZirconHandleInfoFUCHSIA-handleType-04771 | N | | None | explicit | VkImportMemoryZirconHandleInfoFUCHSIA | handleType must be VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA |
VUID-VkImportMemoryZirconHandleInfoFUCHSIA-handleType-parameter | Y | | None | implicit | VkImportMemoryZirconHandleInfoFUCHSIA | If handleType is not 0, handleType must be a valid VkExternalMemoryHandleTypeFlagBits value |
VUID-VkImportMemoryZirconHandleInfoFUCHSIA-sType-sType | Y | | None | implicit | VkImportMemoryZirconHandleInfoFUCHSIA | sType must be VK_STRUCTURE_TYPE_IMPORT_MEMORY_ZIRCON_HANDLE_INFO_FUCHSIA |
VUID-VkImportScreenBufferInfoQNX-buffer-08966 | N | | None | explicit | VkImportScreenBufferInfoQNX | If buffer is not NULL, QNX Screen Buffers must be supported for import, as reported by VkExternalImageFormatProperties or VkExternalBufferProperties |
VUID-VkImportScreenBufferInfoQNX-buffer-08967 | N | | None | explicit | VkImportScreenBufferInfoQNX | buffer is not NULL, it must be a pointer to valid QNX Screen buffer |
VUID-VkImportScreenBufferInfoQNX-sType-sType | Y | | None | implicit | VkImportScreenBufferInfoQNX | sType must be VK_STRUCTURE_TYPE_IMPORT_SCREEN_BUFFER_INFO_QNX |
VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-flags-parameter | Y | | None | implicit | VkImportSemaphoreZirconHandleInfoFUCHSIA | flags must be a valid combination of VkSemaphoreImportFlagBits values |
VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-handleType-04765 | N | | None | explicit | VkImportSemaphoreZirconHandleInfoFUCHSIA | handleType must be a value included in the Handle Types Supported by VkImportSemaphoreZirconHandleInfoFUCHSIA table |
VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-handleType-parameter | Y | | None | implicit | VkImportSemaphoreZirconHandleInfoFUCHSIA | handleType must be a valid VkExternalSemaphoreHandleTypeFlagBits value |
VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-pNext-pNext | Y | | None | implicit | VkImportSemaphoreZirconHandleInfoFUCHSIA | pNext must be NULL |
VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-sType-sType | Y | | None | implicit | VkImportSemaphoreZirconHandleInfoFUCHSIA | sType must be VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_ZIRCON_HANDLE_INFO_FUCHSIA |
VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-semaphore-parameter | Y | | None | implicit | VkImportSemaphoreZirconHandleInfoFUCHSIA | semaphore must be a valid VkSemaphore handle |
VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-semaphoreType-04768 | Y | | None | explicit | VkImportSemaphoreZirconHandleInfoFUCHSIA | The VkSemaphoreTypeCreateInfo::semaphoreType field must not be VK_SEMAPHORE_TYPE_TIMELINE |
VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-zirconHandle-04766 | N | | None | explicit | VkImportSemaphoreZirconHandleInfoFUCHSIA | zirconHandle must obey any requirements listed for handleType in external semaphore handle types compatibility |
VUID-VkImportSemaphoreZirconHandleInfoFUCHSIA-zirconHandle-04767 | N | | None | explicit | VkImportSemaphoreZirconHandleInfoFUCHSIA | zirconHandle must have ZX_RIGHTS_BASIC and ZX_RIGHTS_SIGNAL rights |
VUID-VkIndirectCommandsLayoutCreateInfoNV-flags-parameter | Y | | None | implicit | VkIndirectCommandsLayoutCreateInfoNV | flags must be a valid combination of VkIndirectCommandsLayoutUsageFlagBitsNV values |
VUID-VkIndirectCommandsLayoutCreateInfoNV-pNext-pNext | Y | | None | implicit | VkIndirectCommandsLayoutCreateInfoNV | pNext must be NULL |
VUID-VkIndirectCommandsLayoutCreateInfoNV-pStreamStrides-02937 | N | | None | explicit | VkIndirectCommandsLayoutCreateInfoNV | each 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-parameter | Y | | None | implicit | VkIndirectCommandsLayoutCreateInfoNV | pStreamStrides must be a valid pointer to an array of streamCount uint32_t values |
VUID-VkIndirectCommandsLayoutCreateInfoNV-pTokens-02932 | N | | None | explicit | VkIndirectCommandsLayoutCreateInfoNV | If 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-02933 | N | | None | explicit | VkIndirectCommandsLayoutCreateInfoNV | If 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-02934 | N | | None | explicit | VkIndirectCommandsLayoutCreateInfoNV | All 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-02935 | N | | None | explicit | VkIndirectCommandsLayoutCreateInfoNV | The content of pTokens must include one single action command token that is compatible with the pipelineBindPoint |
VUID-VkIndirectCommandsLayoutCreateInfoNV-pTokens-09585 | N | | None | explicit | VkIndirectCommandsLayoutCreateInfoNV | If 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-parameter | Y | | None | implicit | VkIndirectCommandsLayoutCreateInfoNV | pTokens must be a valid pointer to an array of tokenCount valid VkIndirectCommandsLayoutTokenNV structures |
VUID-VkIndirectCommandsLayoutCreateInfoNV-pipelineBindPoint-02930 | N | | None | explicit | VkIndirectCommandsLayoutCreateInfoNV | The pipelineBindPoint must be VK_PIPELINE_BIND_POINT_GRAPHICS or VK_PIPELINE_BIND_POINT_COMPUTE |
VUID-VkIndirectCommandsLayoutCreateInfoNV-pipelineBindPoint-09088 | N | | None | explicit | VkIndirectCommandsLayoutCreateInfoNV | If pipelineBindPoint is VK_PIPELINE_BIND_POINT_COMPUTE then the VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedCompute feature must be enabled |
VUID-VkIndirectCommandsLayoutCreateInfoNV-pipelineBindPoint-09089 | N | | None | explicit | VkIndirectCommandsLayoutCreateInfoNV | If 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-09090 | N | | None | explicit | VkIndirectCommandsLayoutCreateInfoNV | If 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-parameter | Y | | None | implicit | VkIndirectCommandsLayoutCreateInfoNV | pipelineBindPoint must be a valid VkPipelineBindPoint value |
VUID-VkIndirectCommandsLayoutCreateInfoNV-sType-sType | Y | | None | implicit | VkIndirectCommandsLayoutCreateInfoNV | sType must be VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_CREATE_INFO_NV |
VUID-VkIndirectCommandsLayoutCreateInfoNV-streamCount-02936 | N | | None | explicit | VkIndirectCommandsLayoutCreateInfoNV | streamCount must be greater than 0 and less or equal to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxIndirectCommandsStreamCount |
VUID-VkIndirectCommandsLayoutCreateInfoNV-streamCount-arraylength | Y | | None | implicit | VkIndirectCommandsLayoutCreateInfoNV | streamCount must be greater than 0 |
VUID-VkIndirectCommandsLayoutCreateInfoNV-tokenCount-02931 | N | | None | explicit | VkIndirectCommandsLayoutCreateInfoNV | tokenCount must be greater than 0 and less than or equal to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxIndirectCommandsTokenCount |
VUID-VkIndirectCommandsLayoutCreateInfoNV-tokenCount-arraylength | Y | | None | implicit | VkIndirectCommandsLayoutCreateInfoNV | tokenCount must be greater than 0 |
VUID-VkIndirectCommandsLayoutTokenNV-indirectStateFlags-parameter | Y | | None | implicit | VkIndirectCommandsLayoutTokenNV | indirectStateFlags must be a valid combination of VkIndirectStateFlagBitsNV values |
VUID-VkIndirectCommandsLayoutTokenNV-offset-02952 | N | | None | explicit | VkIndirectCommandsLayoutTokenNV | offset must be less than or equal to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::maxIndirectCommandsTokenOffset |
VUID-VkIndirectCommandsLayoutTokenNV-offset-06888 | N | | None | explicit | VkIndirectCommandsLayoutTokenNV | offset must be aligned to the scalar alignment of tokenType or minIndirectCommandsBufferOffsetAlignment, whichever is lower |
VUID-VkIndirectCommandsLayoutTokenNV-pIndexTypeValues-parameter | Y | | None | implicit | VkIndirectCommandsLayoutTokenNV | If indexTypeCount is not 0, pIndexTypeValues must be a valid pointer to an array of indexTypeCount uint32_t values |
VUID-VkIndirectCommandsLayoutTokenNV-pIndexTypes-parameter | Y | | None | implicit | VkIndirectCommandsLayoutTokenNV | If indexTypeCount is not 0, pIndexTypes must be a valid pointer to an array of indexTypeCount valid VkIndexType values |
VUID-VkIndirectCommandsLayoutTokenNV-pNext-pNext | Y | | None | implicit | VkIndirectCommandsLayoutTokenNV | pNext must be NULL |
VUID-VkIndirectCommandsLayoutTokenNV-pushconstantPipelineLayout-parameter | Y | | None | implicit | VkIndirectCommandsLayoutTokenNV | If pushconstantPipelineLayout is not VK_NULL_HANDLE, pushconstantPipelineLayout must be a valid VkPipelineLayout handle |
VUID-VkIndirectCommandsLayoutTokenNV-pushconstantShaderStageFlags-parameter | Y | | None | implicit | VkIndirectCommandsLayoutTokenNV | pushconstantShaderStageFlags must be a valid combination of VkShaderStageFlagBits values |
VUID-VkIndirectCommandsLayoutTokenNV-sType-sType | Y | | None | implicit | VkIndirectCommandsLayoutTokenNV | sType must be VK_STRUCTURE_TYPE_INDIRECT_COMMANDS_LAYOUT_TOKEN_NV |
VUID-VkIndirectCommandsLayoutTokenNV-stream-02951 | N | | None | explicit | VkIndirectCommandsLayoutTokenNV | stream must be smaller than VkIndirectCommandsLayoutCreateInfoNV::streamCount |
VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02976 | N | | None | explicit | VkIndirectCommandsLayoutTokenNV | If tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_NV, vertexBindingUnit must stay within device supported limits for the appropriate commands |
VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02977 | N | | None | explicit | VkIndirectCommandsLayoutTokenNV | If tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, pushconstantPipelineLayout must be valid |
VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02978 | N | | None | explicit | VkIndirectCommandsLayoutTokenNV | If tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, pushconstantOffset must be a multiple of 4 |
VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02979 | N | | None | explicit | VkIndirectCommandsLayoutTokenNV | If tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, pushconstantSize must be a multiple of 4 |
VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02980 | N | | None | explicit | VkIndirectCommandsLayoutTokenNV | If tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_NV, pushconstantOffset must be less than VkPhysicalDeviceLimits::maxPushConstantsSize |
VUID-VkIndirectCommandsLayoutTokenNV-tokenType-02981 | N | | None | explicit | VkIndirectCommandsLayoutTokenNV | If 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-02982 | N | | None | explicit | VkIndirectCommandsLayoutTokenNV | If 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-02983 | N | | None | explicit | VkIndirectCommandsLayoutTokenNV | If 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-02984 | N | | None | explicit | VkIndirectCommandsLayoutTokenNV | If tokenType is VK_INDIRECT_COMMANDS_TOKEN_TYPE_STATE_FLAGS_NV, indirectStateFlags must not be 0 |
VUID-VkIndirectCommandsLayoutTokenNV-tokenType-parameter | Y | | None | implicit | VkIndirectCommandsLayoutTokenNV | tokenType must be a valid VkIndirectCommandsTokenTypeNV value |
VUID-VkIndirectCommandsStreamNV-buffer-02942 | N | | None | explicit | VkIndirectCommandsStreamNV | The buffer's usage flag must have the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set |
VUID-VkIndirectCommandsStreamNV-buffer-02975 | N | | None | explicit | VkIndirectCommandsStreamNV | If buffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object |
VUID-VkIndirectCommandsStreamNV-buffer-parameter | Y | | None | implicit | VkIndirectCommandsStreamNV | buffer must be a valid VkBuffer handle |
VUID-VkIndirectCommandsStreamNV-offset-02943 | N | | None | explicit | VkIndirectCommandsStreamNV | The offset must be aligned to VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV::minIndirectCommandsBufferOffsetAlignment |
VUID-VkInitializePerformanceApiInfoINTEL-pNext-pNext | Y | | None | implicit | VkInitializePerformanceApiInfoINTEL | pNext must be NULL |
VUID-VkInitializePerformanceApiInfoINTEL-sType-sType | Y | | None | implicit | VkInitializePerformanceApiInfoINTEL | sType must be VK_STRUCTURE_TYPE_INITIALIZE_PERFORMANCE_API_INFO_INTEL |
VUID-VkLatencySleepInfoNV-sType-sType | Y | | None | implicit | VkLatencySleepInfoNV | sType must be VK_STRUCTURE_TYPE_LATENCY_SLEEP_INFO_NV |
VUID-VkLatencySleepInfoNV-signalSemaphore-09361 | N | | None | explicit | VkLatencySleepInfoNV | signalSemaphore must be a timeline semaphore |
VUID-VkLatencySleepInfoNV-signalSemaphore-parameter | Y | | None | implicit | VkLatencySleepInfoNV | signalSemaphore must be a valid VkSemaphore handle |
VUID-VkLatencySleepModeInfoNV-sType-sType | Y | | None | implicit | VkLatencySleepModeInfoNV | sType must be VK_STRUCTURE_TYPE_LATENCY_SLEEP_MODE_INFO_NV |
VUID-VkLatencySubmissionPresentIdNV-sType-sType | Y | | None | implicit | VkLatencySubmissionPresentIdNV | sType must be VK_STRUCTURE_TYPE_LATENCY_SUBMISSION_PRESENT_ID_NV |
VUID-VkLatencySurfaceCapabilitiesNV-pPresentModes-parameter | Y | | None | implicit | VkLatencySurfaceCapabilitiesNV | If 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-sType | Y | | None | implicit | VkLatencySurfaceCapabilitiesNV | sType must be VK_STRUCTURE_TYPE_LATENCY_SURFACE_CAPABILITIES_NV |
VUID-VkLatencyTimingsFrameReportNV-sType-sType | N | | None | implicit | VkLatencyTimingsFrameReportNV | sType must be VK_STRUCTURE_TYPE_LATENCY_TIMINGS_FRAME_REPORT_NV |
VUID-VkMacOSSurfaceCreateInfoMVK-flags-zerobitmask | Y | | None | implicit | VkMacOSSurfaceCreateInfoMVK | flags must be 0 |
VUID-VkMacOSSurfaceCreateInfoMVK-pNext-pNext | Y | | None | implicit | VkMacOSSurfaceCreateInfoMVK | pNext must be NULL |
VUID-VkMacOSSurfaceCreateInfoMVK-pView-01317 | N | | None | explicit | VkMacOSSurfaceCreateInfoMVK | If 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-04144 | N | | None | explicit | VkMacOSSurfaceCreateInfoMVK | If pView is a CAMetalLayer object, it must be a valid CAMetalLayer |
VUID-VkMacOSSurfaceCreateInfoMVK-sType-sType | Y | | None | implicit | VkMacOSSurfaceCreateInfoMVK | sType must be VK_STRUCTURE_TYPE_MACOS_SURFACE_CREATE_INFO_MVK |
VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-handleTypes-01882 | Y | | NegativeAndroidHardwareBuffer.ExportBufferHandleType | explicit | VkMemoryGetAndroidHardwareBufferInfoANDROID | VK_EXTERNAL_MEMORY_HANDLE_TYPE_ANDROID_HARDWARE_BUFFER_BIT_ANDROID must have been included in VkExportMemoryAllocateInfo::handleTypes when memory was created |
VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-memory-parameter | Y | | None | implicit | VkMemoryGetAndroidHardwareBufferInfoANDROID | memory must be a valid VkDeviceMemory handle |
VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-pNext-01883 | Y | | NegativeAndroidHardwareBuffer.ExportImageNonBound | explicit | VkMemoryGetAndroidHardwareBufferInfoANDROID | If 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-pNext | Y | | None | implicit | VkMemoryGetAndroidHardwareBufferInfoANDROID | pNext must be NULL |
VUID-VkMemoryGetAndroidHardwareBufferInfoANDROID-sType-sType | Y | | None | implicit | VkMemoryGetAndroidHardwareBufferInfoANDROID | sType must be VK_STRUCTURE_TYPE_MEMORY_GET_ANDROID_HARDWARE_BUFFER_INFO_ANDROID |
VUID-VkMemoryGetRemoteAddressInfoNV-handleType-04966 | N | | None | explicit | VkMemoryGetRemoteAddressInfoNV | handleType must have been included in VkExportMemoryAllocateInfo::handleTypes when memory was created |
VUID-VkMemoryGetRemoteAddressInfoNV-handleType-parameter | Y | | None | implicit | VkMemoryGetRemoteAddressInfoNV | handleType must be a valid VkExternalMemoryHandleTypeFlagBits value |
VUID-VkMemoryGetRemoteAddressInfoNV-memory-parameter | Y | | None | implicit | VkMemoryGetRemoteAddressInfoNV | memory must be a valid VkDeviceMemory handle |
VUID-VkMemoryGetRemoteAddressInfoNV-pNext-pNext | Y | | None | implicit | VkMemoryGetRemoteAddressInfoNV | pNext must be NULL |
VUID-VkMemoryGetRemoteAddressInfoNV-sType-sType | Y | | None | implicit | VkMemoryGetRemoteAddressInfoNV | sType must be VK_STRUCTURE_TYPE_MEMORY_GET_REMOTE_ADDRESS_INFO_NV |
VUID-VkMemoryGetZirconHandleInfoFUCHSIA-handleType-04775 | N | | None | explicit | VkMemoryGetZirconHandleInfoFUCHSIA | handleType must be VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA |
VUID-VkMemoryGetZirconHandleInfoFUCHSIA-handleType-04776 | N | | None | explicit | VkMemoryGetZirconHandleInfoFUCHSIA | handleType must have been included in the handleTypes field of the VkExportMemoryAllocateInfo structure when the external memory was allocated |
VUID-VkMemoryGetZirconHandleInfoFUCHSIA-handleType-parameter | Y | | None | implicit | VkMemoryGetZirconHandleInfoFUCHSIA | handleType must be a valid VkExternalMemoryHandleTypeFlagBits value |
VUID-VkMemoryGetZirconHandleInfoFUCHSIA-memory-parameter | Y | | None | implicit | VkMemoryGetZirconHandleInfoFUCHSIA | memory must be a valid VkDeviceMemory handle |
VUID-VkMemoryGetZirconHandleInfoFUCHSIA-pNext-pNext | Y | | None | implicit | VkMemoryGetZirconHandleInfoFUCHSIA | pNext must be NULL |
VUID-VkMemoryGetZirconHandleInfoFUCHSIA-sType-sType | Y | | None | implicit | VkMemoryGetZirconHandleInfoFUCHSIA | sType must be VK_STRUCTURE_TYPE_MEMORY_GET_ZIRCON_HANDLE_INFO_FUCHSIA |
VUID-VkMemoryZirconHandlePropertiesFUCHSIA-pNext-pNext | Y | | None | implicit | VkMemoryZirconHandlePropertiesFUCHSIA | pNext must be NULL |
VUID-VkMemoryZirconHandlePropertiesFUCHSIA-sType-sType | Y | | None | implicit | VkMemoryZirconHandlePropertiesFUCHSIA | sType must be VK_STRUCTURE_TYPE_MEMORY_ZIRCON_HANDLE_PROPERTIES_FUCHSIA |
VUID-VkMultiviewPerViewAttributesInfoNVX-sType-sType | Y | | None | implicit | VkMultiviewPerViewAttributesInfoNVX | sType must be VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_ATTRIBUTES_INFO_NVX |
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-offset-07861 | N | | None | explicit | VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM | The offset.x member of any element of pPerViewRenderAreas must be greater than or equal to 0 |
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-offset-07862 | N | | None | explicit | VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM | The offset.y member of any element of pPerViewRenderAreas must be greater than or equal to 0 |
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-offset-07863 | N | | None | explicit | VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM | The 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-07864 | N | | None | explicit | VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM | The 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-07865 | N | | None | explicit | VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM | If 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-07866 | N | | None | explicit | VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM | If 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-parameter | Y | | None | implicit | VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM | If perViewRenderAreaCount is not 0, pPerViewRenderAreas must be a valid pointer to an array of perViewRenderAreaCount VkRect2D structures |
VUID-VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM-sType-sType | Y | | None | implicit | VkMultiviewPerViewRenderAreasRenderPassBeginInfoQCOM | sType must be VK_STRUCTURE_TYPE_MULTIVIEW_PER_VIEW_RENDER_AREAS_RENDER_PASS_BEGIN_INFO_QCOM |
VUID-VkOpticalFlowExecuteInfoNV-flags-parameter | Y | | None | implicit | VkOpticalFlowExecuteInfoNV | flags must be a valid combination of VkOpticalFlowExecuteFlagBitsNV values |
VUID-VkOpticalFlowExecuteInfoNV-pNext-pNext | Y | | None | implicit | VkOpticalFlowExecuteInfoNV | pNext must be NULL |
VUID-VkOpticalFlowExecuteInfoNV-pRegions-parameter | Y | | None | implicit | VkOpticalFlowExecuteInfoNV | If regionCount is not 0, pRegions must be a valid pointer to an array of regionCount VkRect2D structures |
VUID-VkOpticalFlowExecuteInfoNV-regionCount-07593 | N | | None | explicit | VkOpticalFlowExecuteInfoNV | regionCount 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-sType | Y | | None | implicit | VkOpticalFlowExecuteInfoNV | sType must be VK_STRUCTURE_TYPE_OPTICAL_FLOW_EXECUTE_INFO_NV |
VUID-VkOpticalFlowImageFormatInfoNV-sType-sType | Y | | None | implicit | VkOpticalFlowImageFormatInfoNV | sType must be VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_INFO_NV |
VUID-VkOpticalFlowImageFormatInfoNV-usage-parameter | Y | | None | implicit | VkOpticalFlowImageFormatInfoNV | usage must be a valid combination of VkOpticalFlowUsageFlagBitsNV values |
VUID-VkOpticalFlowImageFormatInfoNV-usage-requiredbitmask | Y | | None | implicit | VkOpticalFlowImageFormatInfoNV | usage must not be 0 |
VUID-VkOpticalFlowImageFormatPropertiesNV-pNext-pNext | Y | | None | implicit | VkOpticalFlowImageFormatPropertiesNV | pNext must be NULL |
VUID-VkOpticalFlowImageFormatPropertiesNV-sType-sType | Y | | None | implicit | VkOpticalFlowImageFormatPropertiesNV | sType must be VK_STRUCTURE_TYPE_OPTICAL_FLOW_IMAGE_FORMAT_PROPERTIES_NV |
VUID-VkOpticalFlowSessionCreateInfoNV-costFormat-07585 | N | | None | explicit | VkOpticalFlowSessionCreateInfoNV | costFormat 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-parameter | Y | | None | implicit | VkOpticalFlowSessionCreateInfoNV | If costFormat is not 0, costFormat must be a valid VkFormat value |
VUID-VkOpticalFlowSessionCreateInfoNV-flags-07588 | N | | None | explicit | VkOpticalFlowSessionCreateInfoNV | VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_HINT_BIT_NV must not be set in flags if VkPhysicalDeviceOpticalFlowPropertiesNV::hintSupported is VK_FALSE |
VUID-VkOpticalFlowSessionCreateInfoNV-flags-07589 | N | | None | explicit | VkOpticalFlowSessionCreateInfoNV | VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_COST_BIT_NV must not be set in flags if VkPhysicalDeviceOpticalFlowPropertiesNV::costSupported is VK_FALSE |
VUID-VkOpticalFlowSessionCreateInfoNV-flags-07590 | N | | None | explicit | VkOpticalFlowSessionCreateInfoNV | VK_OPTICAL_FLOW_SESSION_CREATE_ENABLE_GLOBAL_FLOW_BIT_NV must not be set in flags if VkPhysicalDeviceOpticalFlowPropertiesNV::globalFlowSupported is VK_FALSE |
VUID-VkOpticalFlowSessionCreateInfoNV-flags-07591 | N | | None | explicit | VkOpticalFlowSessionCreateInfoNV | VK_OPTICAL_FLOW_SESSION_CREATE_ALLOW_REGIONS_BIT_NV must not be set in flags if VkPhysicalDeviceOpticalFlowPropertiesNV::maxNumRegionsOfInterest is 0 |
VUID-VkOpticalFlowSessionCreateInfoNV-flags-07592 | N | | None | explicit | VkOpticalFlowSessionCreateInfoNV | VK_OPTICAL_FLOW_SESSION_CREATE_BOTH_DIRECTIONS_BIT_NV must not be set in flags if VkPhysicalDeviceOpticalFlowPropertiesNV::bidirectionalFlowSupported is VK_FALSE |
VUID-VkOpticalFlowSessionCreateInfoNV-flags-parameter | Y | | None | implicit | VkOpticalFlowSessionCreateInfoNV | flags must be a valid combination of VkOpticalFlowSessionCreateFlagBitsNV values |
VUID-VkOpticalFlowSessionCreateInfoNV-flowVectorFormat-07584 | N | | None | explicit | VkOpticalFlowSessionCreateInfoNV | flowVectorFormat must be one of the formats returned by vkGetPhysicalDeviceOpticalFlowImageFormatsNV for VK_OPTICAL_FLOW_USAGE_OUTPUT_BIT_NV |
VUID-VkOpticalFlowSessionCreateInfoNV-flowVectorFormat-parameter | Y | | None | implicit | VkOpticalFlowSessionCreateInfoNV | flowVectorFormat must be a valid VkFormat value |
VUID-VkOpticalFlowSessionCreateInfoNV-height-07582 | N | | None | explicit | VkOpticalFlowSessionCreateInfoNV | height must be greater than or equal to VkPhysicalDeviceOpticalFlowPropertiesNV::minHeight and less than or equal to VkPhysicalDeviceOpticalFlowPropertiesNV::maxHeight |
VUID-VkOpticalFlowSessionCreateInfoNV-hintGridSize-07587 | N | | None | explicit | VkOpticalFlowSessionCreateInfoNV | hintGridSize 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-parameter | Y | | None | implicit | VkOpticalFlowSessionCreateInfoNV | hintGridSize must be a valid combination of VkOpticalFlowGridSizeFlagBitsNV values |
VUID-VkOpticalFlowSessionCreateInfoNV-imageFormat-07583 | N | | None | explicit | VkOpticalFlowSessionCreateInfoNV | imageFormat must be one of the formats returned by vkGetPhysicalDeviceOpticalFlowImageFormatsNV for VK_OPTICAL_FLOW_USAGE_INPUT_BIT_NV |
VUID-VkOpticalFlowSessionCreateInfoNV-imageFormat-parameter | Y | | None | implicit | VkOpticalFlowSessionCreateInfoNV | imageFormat must be a valid VkFormat value |
VUID-VkOpticalFlowSessionCreateInfoNV-outputGridSize-07586 | N | | None | explicit | VkOpticalFlowSessionCreateInfoNV | outputGridSize must be exactly one of the bits reported in VkPhysicalDeviceOpticalFlowPropertiesNV::supportedOutputGridSizes |
VUID-VkOpticalFlowSessionCreateInfoNV-outputGridSize-parameter | Y | | None | implicit | VkOpticalFlowSessionCreateInfoNV | outputGridSize must be a valid combination of VkOpticalFlowGridSizeFlagBitsNV values |
VUID-VkOpticalFlowSessionCreateInfoNV-outputGridSize-requiredbitmask | Y | | None | implicit | VkOpticalFlowSessionCreateInfoNV | outputGridSize must not be 0 |
VUID-VkOpticalFlowSessionCreateInfoNV-pNext-pNext | Y | | None | implicit | VkOpticalFlowSessionCreateInfoNV | pNext must be NULL or a pointer to a valid instance of VkOpticalFlowSessionCreatePrivateDataInfoNV |
VUID-VkOpticalFlowSessionCreateInfoNV-performanceLevel-parameter | Y | | None | implicit | VkOpticalFlowSessionCreateInfoNV | If performanceLevel is not 0, performanceLevel must be a valid VkOpticalFlowPerformanceLevelNV value |
VUID-VkOpticalFlowSessionCreateInfoNV-sType-sType | Y | | None | implicit | VkOpticalFlowSessionCreateInfoNV | sType must be VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_INFO_NV |
VUID-VkOpticalFlowSessionCreateInfoNV-sType-unique | Y | | None | implicit | VkOpticalFlowSessionCreateInfoNV | The sType value of each struct in the pNext chain must be unique |
VUID-VkOpticalFlowSessionCreateInfoNV-width-07581 | N | | None | explicit | VkOpticalFlowSessionCreateInfoNV | width must be greater than or equal to VkPhysicalDeviceOpticalFlowPropertiesNV::minWidth and less than or equal to VkPhysicalDeviceOpticalFlowPropertiesNV::maxWidth |
VUID-VkOpticalFlowSessionCreatePrivateDataInfoNV-pPrivateData-parameter | Y | | None | implicit | VkOpticalFlowSessionCreatePrivateDataInfoNV | pPrivateData must be a pointer value |
VUID-VkOpticalFlowSessionCreatePrivateDataInfoNV-sType-sType | Y | | None | implicit | VkOpticalFlowSessionCreatePrivateDataInfoNV | sType must be VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV |
VUID-VkOutOfBandQueueTypeInfoNV-queueType-parameter | Y | | None | implicit | VkOutOfBandQueueTypeInfoNV | queueType must be a valid VkOutOfBandQueueTypeNV value |
VUID-VkOutOfBandQueueTypeInfoNV-sType-sType | Y | | None | implicit | VkOutOfBandQueueTypeInfoNV | sType must be VK_STRUCTURE_TYPE_OUT_OF_BAND_QUEUE_TYPE_INFO_NV |
VUID-VkPerformanceConfigurationAcquireInfoINTEL-pNext-pNext | Y | | None | implicit | VkPerformanceConfigurationAcquireInfoINTEL | pNext must be NULL |
VUID-VkPerformanceConfigurationAcquireInfoINTEL-sType-sType | Y | | None | implicit | VkPerformanceConfigurationAcquireInfoINTEL | sType must be VK_STRUCTURE_TYPE_PERFORMANCE_CONFIGURATION_ACQUIRE_INFO_INTEL |
VUID-VkPerformanceConfigurationAcquireInfoINTEL-type-parameter | Y | | None | implicit | VkPerformanceConfigurationAcquireInfoINTEL | type must be a valid VkPerformanceConfigurationTypeINTEL value |
VUID-VkPerformanceMarkerInfoINTEL-pNext-pNext | Y | | None | implicit | VkPerformanceMarkerInfoINTEL | pNext must be NULL |
VUID-VkPerformanceMarkerInfoINTEL-sType-sType | Y | | None | implicit | VkPerformanceMarkerInfoINTEL | sType must be VK_STRUCTURE_TYPE_PERFORMANCE_MARKER_INFO_INTEL |
VUID-VkPerformanceOverrideInfoINTEL-pNext-pNext | Y | | None | implicit | VkPerformanceOverrideInfoINTEL | pNext must be NULL |
VUID-VkPerformanceOverrideInfoINTEL-sType-sType | Y | | None | implicit | VkPerformanceOverrideInfoINTEL | sType must be VK_STRUCTURE_TYPE_PERFORMANCE_OVERRIDE_INFO_INTEL |
VUID-VkPerformanceOverrideInfoINTEL-type-parameter | Y | | None | implicit | VkPerformanceOverrideInfoINTEL | type must be a valid VkPerformanceOverrideTypeINTEL value |
VUID-VkPerformanceStreamMarkerInfoINTEL-marker-02735 | N | | None | explicit | VkPerformanceStreamMarkerInfoINTEL | The 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-pNext | Y | | None | implicit | VkPerformanceStreamMarkerInfoINTEL | pNext must be NULL |
VUID-VkPerformanceStreamMarkerInfoINTEL-sType-sType | Y | | None | implicit | VkPerformanceStreamMarkerInfoINTEL | sType must be VK_STRUCTURE_TYPE_PERFORMANCE_STREAM_MARKER_INFO_INTEL |
VUID-VkPhysicalDeviceAmigoProfilingFeaturesSEC-sType-sType | Y | | None | implicit | VkPhysicalDeviceAmigoProfilingFeaturesSEC | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_AMIGO_PROFILING_FEATURES_SEC |
VUID-VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI-sType-sType | Y | | None | implicit | VkPhysicalDeviceClusterCullingShaderFeaturesHUAWEI | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_FEATURES_HUAWEI |
VUID-VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI-sType-sType | Y | | None | implicit | VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_PROPERTIES_HUAWEI |
VUID-VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI-sType-sType | Y | | None | implicit | VkPhysicalDeviceClusterCullingShaderVrsFeaturesHUAWEI | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CLUSTER_CULLING_SHADER_VRS_FEATURES_HUAWEI |
VUID-VkPhysicalDeviceCoherentMemoryFeaturesAMD-sType-sType | Y | | None | implicit | VkPhysicalDeviceCoherentMemoryFeaturesAMD | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COHERENT_MEMORY_FEATURES_AMD |
VUID-VkPhysicalDeviceComputeShaderDerivativesFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceComputeShaderDerivativesFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COMPUTE_SHADER_DERIVATIVES_FEATURES_NV |
VUID-VkPhysicalDeviceCooperativeMatrixFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceCooperativeMatrixFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_FEATURES_NV |
VUID-VkPhysicalDeviceCooperativeMatrixPropertiesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceCooperativeMatrixPropertiesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COOPERATIVE_MATRIX_PROPERTIES_NV |
VUID-VkPhysicalDeviceCopyMemoryIndirectFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceCopyMemoryIndirectFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_FEATURES_NV |
VUID-VkPhysicalDeviceCopyMemoryIndirectPropertiesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceCopyMemoryIndirectPropertiesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COPY_MEMORY_INDIRECT_PROPERTIES_NV |
VUID-VkPhysicalDeviceCornerSampledImageFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceCornerSampledImageFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CORNER_SAMPLED_IMAGE_FEATURES_NV |
VUID-VkPhysicalDeviceCoverageReductionModeFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceCoverageReductionModeFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_COVERAGE_REDUCTION_MODE_FEATURES_NV |
VUID-VkPhysicalDeviceCubicClampFeaturesQCOM-sType-sType | Y | | None | implicit | VkPhysicalDeviceCubicClampFeaturesQCOM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_CLAMP_FEATURES_QCOM |
VUID-VkPhysicalDeviceCubicWeightsFeaturesQCOM-sType-sType | Y | | None | implicit | VkPhysicalDeviceCubicWeightsFeaturesQCOM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUBIC_WEIGHTS_FEATURES_QCOM |
VUID-VkPhysicalDeviceCudaKernelLaunchFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceCudaKernelLaunchFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_FEATURES_NV |
VUID-VkPhysicalDeviceCudaKernelLaunchPropertiesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceCudaKernelLaunchPropertiesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_CUDA_KERNEL_LAUNCH_PROPERTIES_NV |
VUID-VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceDedicatedAllocationImageAliasingFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEDICATED_ALLOCATION_IMAGE_ALIASING_FEATURES_NV |
VUID-VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceDescriptorPoolOverallocationFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_POOL_OVERALLOCATION_FEATURES_NV |
VUID-VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE-sType-sType | Y | | None | implicit | VkPhysicalDeviceDescriptorSetHostMappingFeaturesVALVE | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DESCRIPTOR_SET_HOST_MAPPING_FEATURES_VALVE |
VUID-VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_COMPUTE_FEATURES_NV |
VUID-VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_FEATURES_NV |
VUID-VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceDeviceGeneratedCommandsPropertiesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_NV |
VUID-VkPhysicalDeviceDiagnosticsConfigFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceDiagnosticsConfigFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DIAGNOSTICS_CONFIG_FEATURES_NV |
VUID-VkPhysicalDeviceDisplacementMicromapFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceDisplacementMicromapFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_FEATURES_NV |
VUID-VkPhysicalDeviceDisplacementMicromapPropertiesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceDisplacementMicromapPropertiesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DISPLACEMENT_MICROMAP_PROPERTIES_NV |
VUID-VkPhysicalDeviceExclusiveScissorFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceExclusiveScissorFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXCLUSIVE_SCISSOR_FEATURES_NV |
VUID-VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceExtendedSparseAddressSpaceFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_FEATURES_NV |
VUID-VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceExtendedSparseAddressSpacePropertiesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTENDED_SPARSE_ADDRESS_SPACE_PROPERTIES_NV |
VUID-VkPhysicalDeviceExternalFormatResolveFeaturesANDROID-sType-sType | Y | | None | implicit | VkPhysicalDeviceExternalFormatResolveFeaturesANDROID | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_FEATURES_ANDROID |
VUID-VkPhysicalDeviceExternalFormatResolvePropertiesANDROID-sType-sType | Y | | None | implicit | VkPhysicalDeviceExternalFormatResolvePropertiesANDROID | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_FORMAT_RESOLVE_PROPERTIES_ANDROID |
VUID-VkPhysicalDeviceExternalMemoryRDMAFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceExternalMemoryRDMAFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_RDMA_FEATURES_NV |
VUID-VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX-sType-sType | Y | | None | implicit | VkPhysicalDeviceExternalMemoryScreenBufferFeaturesQNX | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_EXTERNAL_MEMORY_SCREEN_BUFFER_FEATURES_QNX |
VUID-VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM-sType-sType | Y | | None | implicit | VkPhysicalDeviceFragmentDensityMapOffsetFeaturesQCOM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_FEATURES_QCOM |
VUID-VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM-sType-sType | Y | | None | implicit | VkPhysicalDeviceFragmentDensityMapOffsetPropertiesQCOM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_DENSITY_MAP_OFFSET_PROPERTIES_QCOM |
VUID-VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceFragmentShadingRateEnumsFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_FEATURES_NV |
VUID-VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV-maxFragmentShadingRateInvocationCount-parameter | Y | | None | implicit | VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV | maxFragmentShadingRateInvocationCount must be a valid VkSampleCountFlagBits value |
VUID-VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceFragmentShadingRateEnumsPropertiesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_FRAGMENT_SHADING_RATE_ENUMS_PROPERTIES_NV |
VUID-VkPhysicalDeviceImageProcessing2FeaturesQCOM-sType-sType | Y | | None | implicit | VkPhysicalDeviceImageProcessing2FeaturesQCOM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_FEATURES_QCOM |
VUID-VkPhysicalDeviceImageProcessing2PropertiesQCOM-sType-sType | Y | | None | implicit | VkPhysicalDeviceImageProcessing2PropertiesQCOM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_2_PROPERTIES_QCOM |
VUID-VkPhysicalDeviceImageProcessingFeaturesQCOM-sType-sType | Y | | None | implicit | VkPhysicalDeviceImageProcessingFeaturesQCOM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_FEATURES_QCOM |
VUID-VkPhysicalDeviceImageProcessingPropertiesQCOM-sType-sType | Y | | None | implicit | VkPhysicalDeviceImageProcessingPropertiesQCOM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_IMAGE_PROCESSING_PROPERTIES_QCOM |
VUID-VkPhysicalDeviceInheritedViewportScissorFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceInheritedViewportScissorFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INHERITED_VIEWPORT_SCISSOR_FEATURES_NV |
VUID-VkPhysicalDeviceInvocationMaskFeaturesHUAWEI-sType-sType | Y | | None | implicit | VkPhysicalDeviceInvocationMaskFeaturesHUAWEI | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_INVOCATION_MASK_FEATURES_HUAWEI |
VUID-VkPhysicalDeviceLayeredDriverPropertiesMSFT-sType-sType | Y | | None | implicit | VkPhysicalDeviceLayeredDriverPropertiesMSFT | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LAYERED_DRIVER_PROPERTIES_MSFT |
VUID-VkPhysicalDeviceLinearColorAttachmentFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceLinearColorAttachmentFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_LINEAR_COLOR_ATTACHMENT_FEATURES_NV |
VUID-VkPhysicalDeviceMemoryDecompressionFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceMemoryDecompressionFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_FEATURES_NV |
VUID-VkPhysicalDeviceMemoryDecompressionPropertiesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceMemoryDecompressionPropertiesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MEMORY_DECOMPRESSION_PROPERTIES_NV |
VUID-VkPhysicalDeviceMeshShaderFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceMeshShaderFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_FEATURES_NV |
VUID-VkPhysicalDeviceMeshShaderPropertiesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceMeshShaderPropertiesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MESH_SHADER_PROPERTIES_NV |
VUID-VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX-sType-sType | Y | | None | implicit | VkPhysicalDeviceMultiviewPerViewAttributesPropertiesNVX | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_ATTRIBUTES_PROPERTIES_NVX |
VUID-VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM-sType-sType | Y | | None | implicit | VkPhysicalDeviceMultiviewPerViewRenderAreasFeaturesQCOM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_RENDER_AREAS_FEATURES_QCOM |
VUID-VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM-sType-sType | Y | | None | implicit | VkPhysicalDeviceMultiviewPerViewViewportsFeaturesQCOM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_MULTIVIEW_PER_VIEW_VIEWPORTS_FEATURES_QCOM |
VUID-VkPhysicalDeviceOpticalFlowFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceOpticalFlowFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_FEATURES_NV |
VUID-VkPhysicalDeviceOpticalFlowPropertiesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceOpticalFlowPropertiesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_OPTICAL_FLOW_PROPERTIES_NV |
VUID-VkPhysicalDevicePerStageDescriptorSetFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDevicePerStageDescriptorSetFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PER_STAGE_DESCRIPTOR_SET_FEATURES_NV |
VUID-VkPhysicalDevicePresentBarrierFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDevicePresentBarrierFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_PRESENT_BARRIER_FEATURES_NV |
VUID-VkPhysicalDeviceRawAccessChainsFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceRawAccessChainsFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAW_ACCESS_CHAINS_FEATURES_NV |
VUID-VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceRayTracingInvocationReorderFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_FEATURES_NV |
VUID-VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceRayTracingInvocationReorderPropertiesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_INVOCATION_REORDER_PROPERTIES_NV |
VUID-VkPhysicalDeviceRayTracingMotionBlurFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceRayTracingMotionBlurFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_MOTION_BLUR_FEATURES_NV |
VUID-VkPhysicalDeviceRayTracingPropertiesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceRayTracingPropertiesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_PROPERTIES_NV |
VUID-VkPhysicalDeviceRayTracingValidationFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceRayTracingValidationFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RAY_TRACING_VALIDATION_FEATURES_NV |
VUID-VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG-sType-sType | Y | | None | implicit | VkPhysicalDeviceRelaxedLineRasterizationFeaturesIMG | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RELAXED_LINE_RASTERIZATION_FEATURES_IMG |
VUID-VkPhysicalDeviceRenderPassStripedFeaturesARM-sType-sType | Y | | None | implicit | VkPhysicalDeviceRenderPassStripedFeaturesARM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_FEATURES_ARM |
VUID-VkPhysicalDeviceRenderPassStripedPropertiesARM-sType-sType | Y | | None | implicit | VkPhysicalDeviceRenderPassStripedPropertiesARM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_RENDER_PASS_STRIPED_PROPERTIES_ARM |
VUID-VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceRepresentativeFragmentTestFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_REPRESENTATIVE_FRAGMENT_TEST_FEATURES_NV |
VUID-VkPhysicalDeviceSchedulingControlsFeaturesARM-sType-sType | Y | | None | implicit | VkPhysicalDeviceSchedulingControlsFeaturesARM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_FEATURES_ARM |
VUID-VkPhysicalDeviceSchedulingControlsPropertiesARM-sType-sType | Y | | None | implicit | VkPhysicalDeviceSchedulingControlsPropertiesARM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SCHEDULING_CONTROLS_PROPERTIES_ARM |
VUID-VkPhysicalDeviceSchedulingControlsPropertiesARM-schedulingControlsFlags-parameter | Y | | None | implicit | VkPhysicalDeviceSchedulingControlsPropertiesARM | schedulingControlsFlags must be a valid combination of VkPhysicalDeviceSchedulingControlsFlagBitsARM values |
VUID-VkPhysicalDeviceSchedulingControlsPropertiesARM-schedulingControlsFlags-requiredbitmask | Y | | None | implicit | VkPhysicalDeviceSchedulingControlsPropertiesARM | schedulingControlsFlags must not be 0 |
VUID-VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceShaderAtomicFloat16VectorFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ATOMIC_FLOAT16_VECTOR_FEATURES_NV |
VUID-VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM-sType-sType | Y | | None | implicit | VkPhysicalDeviceShaderCoreBuiltinsFeaturesARM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_FEATURES_ARM |
VUID-VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM-sType-sType | Y | | None | implicit | VkPhysicalDeviceShaderCoreBuiltinsPropertiesARM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_BUILTINS_PROPERTIES_ARM |
VUID-VkPhysicalDeviceShaderCoreProperties2AMD-sType-sType | Y | | None | implicit | VkPhysicalDeviceShaderCoreProperties2AMD | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_2_AMD |
VUID-VkPhysicalDeviceShaderCorePropertiesAMD-sType-sType | Y | | None | implicit | VkPhysicalDeviceShaderCorePropertiesAMD | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_AMD |
VUID-VkPhysicalDeviceShaderCorePropertiesARM-sType-sType | Y | | None | implicit | VkPhysicalDeviceShaderCorePropertiesARM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_CORE_PROPERTIES_ARM |
VUID-VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD-sType-sType | Y | | None | implicit | VkPhysicalDeviceShaderEarlyAndLateFragmentTestsFeaturesAMD | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_EARLY_AND_LATE_FRAGMENT_TESTS_FEATURES_AMD |
VUID-VkPhysicalDeviceShaderEnqueueFeaturesAMDX-sType-sType | Y | | None | implicit | VkPhysicalDeviceShaderEnqueueFeaturesAMDX | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX |
VUID-VkPhysicalDeviceShaderEnqueuePropertiesAMDX-sType-sType | Y | | None | implicit | VkPhysicalDeviceShaderEnqueuePropertiesAMDX | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX |
VUID-VkPhysicalDeviceShaderImageFootprintFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceShaderImageFootprintFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_IMAGE_FOOTPRINT_FEATURES_NV |
VUID-VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL-sType-sType | Y | | None | implicit | VkPhysicalDeviceShaderIntegerFunctions2FeaturesINTEL | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_INTEGER_FUNCTIONS_2_FEATURES_INTEL |
VUID-VkPhysicalDeviceShaderSMBuiltinsFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceShaderSMBuiltinsFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_FEATURES_NV |
VUID-VkPhysicalDeviceShaderSMBuiltinsPropertiesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceShaderSMBuiltinsPropertiesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_SM_BUILTINS_PROPERTIES_NV |
VUID-VkPhysicalDeviceShadingRateImageFeaturesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceShadingRateImageFeaturesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_FEATURES_NV |
VUID-VkPhysicalDeviceShadingRateImagePropertiesNV-sType-sType | Y | | None | implicit | VkPhysicalDeviceShadingRateImagePropertiesNV | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADING_RATE_IMAGE_PROPERTIES_NV |
VUID-VkPhysicalDeviceSubpassShadingFeaturesHUAWEI-sType-sType | Y | | None | implicit | VkPhysicalDeviceSubpassShadingFeaturesHUAWEI | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_FEATURES_HUAWEI |
VUID-VkPhysicalDeviceSubpassShadingPropertiesHUAWEI-sType-sType | Y | | None | implicit | VkPhysicalDeviceSubpassShadingPropertiesHUAWEI | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SUBPASS_SHADING_PROPERTIES_HUAWEI |
VUID-VkPhysicalDeviceTilePropertiesFeaturesQCOM-sType-sType | Y | | None | implicit | VkPhysicalDeviceTilePropertiesFeaturesQCOM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_TILE_PROPERTIES_FEATURES_QCOM |
VUID-VkPhysicalDeviceYcbcrDegammaFeaturesQCOM-sType-sType | Y | | None | implicit | VkPhysicalDeviceYcbcrDegammaFeaturesQCOM | sType must be VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_YCBCR_DEGAMMA_FEATURES_QCOM |
VUID-VkPipelineCompilerControlCreateInfoAMD-compilerControlFlags-zerobitmask | Y | | None | implicit | VkPipelineCompilerControlCreateInfoAMD | compilerControlFlags must be 0 |
VUID-VkPipelineCompilerControlCreateInfoAMD-sType-sType | Y | | None | implicit | VkPipelineCompilerControlCreateInfoAMD | sType must be VK_STRUCTURE_TYPE_PIPELINE_COMPILER_CONTROL_CREATE_INFO_AMD |
VUID-VkPipelineCoverageModulationStateCreateInfoNV-coverageModulationMode-parameter | Y | | None | implicit | VkPipelineCoverageModulationStateCreateInfoNV | coverageModulationMode must be a valid VkCoverageModulationModeNV value |
VUID-VkPipelineCoverageModulationStateCreateInfoNV-coverageModulationTableEnable-01405 | Y | | NegativePipeline.FramebufferMixedSamplesNV | explicit | VkPipelineCoverageModulationStateCreateInfoNV | If 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-zerobitmask | Y | | None | implicit | VkPipelineCoverageModulationStateCreateInfoNV | flags must be 0 |
VUID-VkPipelineCoverageModulationStateCreateInfoNV-sType-sType | Y | | None | implicit | VkPipelineCoverageModulationStateCreateInfoNV | sType must be VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_MODULATION_STATE_CREATE_INFO_NV |
VUID-VkPipelineCoverageReductionStateCreateInfoNV-coverageReductionMode-parameter | Y | | None | implicit | VkPipelineCoverageReductionStateCreateInfoNV | coverageReductionMode must be a valid VkCoverageReductionModeNV value |
VUID-VkPipelineCoverageReductionStateCreateInfoNV-flags-zerobitmask | Y | | None | implicit | VkPipelineCoverageReductionStateCreateInfoNV | flags must be 0 |
VUID-VkPipelineCoverageReductionStateCreateInfoNV-sType-sType | Y | | None | implicit | VkPipelineCoverageReductionStateCreateInfoNV | sType must be VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_REDUCTION_STATE_CREATE_INFO_NV |
VUID-VkPipelineCoverageToColorStateCreateInfoNV-coverageToColorEnable-01404 | Y | | NegativePipeline.FragmentCoverageToColorNV | explicit | VkPipelineCoverageToColorStateCreateInfoNV | If 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-zerobitmask | Y | | None | implicit | VkPipelineCoverageToColorStateCreateInfoNV | flags must be 0 |
VUID-VkPipelineCoverageToColorStateCreateInfoNV-sType-sType | Y | | None | implicit | VkPipelineCoverageToColorStateCreateInfoNV | sType must be VK_STRUCTURE_TYPE_PIPELINE_COVERAGE_TO_COLOR_STATE_CREATE_INFO_NV |
VUID-VkPipelineFragmentShadingRateEnumStateCreateInfoNV-sType-sType | Y | | None | implicit | VkPipelineFragmentShadingRateEnumStateCreateInfoNV | sType must be VK_STRUCTURE_TYPE_PIPELINE_FRAGMENT_SHADING_RATE_ENUM_STATE_CREATE_INFO_NV |
VUID-VkPipelineIndirectDeviceAddressInfoNV-pNext-pNext | Y | | None | implicit | VkPipelineIndirectDeviceAddressInfoNV | pNext must be NULL |
VUID-VkPipelineIndirectDeviceAddressInfoNV-pipeline-09080 | N | | None | explicit | VkPipelineIndirectDeviceAddressInfoNV | pipeline must have been created with flag VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV set |
VUID-VkPipelineIndirectDeviceAddressInfoNV-pipeline-09081 | N | | None | explicit | VkPipelineIndirectDeviceAddressInfoNV | pipeline must have been created with a VkComputePipelineIndirectBufferInfoNV structure specifying a valid address where its metadata will be saved |
VUID-VkPipelineIndirectDeviceAddressInfoNV-pipeline-parameter | Y | | None | implicit | VkPipelineIndirectDeviceAddressInfoNV | pipeline must be a valid VkPipeline handle |
VUID-VkPipelineIndirectDeviceAddressInfoNV-pipelineBindPoint-09079 | N | | None | explicit | VkPipelineIndirectDeviceAddressInfoNV | The provided pipelineBindPoint must be of type VK_PIPELINE_BIND_POINT_COMPUTE |
VUID-VkPipelineIndirectDeviceAddressInfoNV-pipelineBindPoint-parameter | Y | | None | implicit | VkPipelineIndirectDeviceAddressInfoNV | pipelineBindPoint must be a valid VkPipelineBindPoint value |
VUID-VkPipelineIndirectDeviceAddressInfoNV-sType-sType | Y | | None | implicit | VkPipelineIndirectDeviceAddressInfoNV | sType must be VK_STRUCTURE_TYPE_PIPELINE_INDIRECT_DEVICE_ADDRESS_INFO_NV |
VUID-VkPipelineRasterizationStateRasterizationOrderAMD-rasterizationOrder-parameter | Y | | None | implicit | VkPipelineRasterizationStateRasterizationOrderAMD | rasterizationOrder must be a valid VkRasterizationOrderAMD value |
VUID-VkPipelineRasterizationStateRasterizationOrderAMD-sType-sType | Y | | None | implicit | VkPipelineRasterizationStateRasterizationOrderAMD | sType must be VK_STRUCTURE_TYPE_PIPELINE_RASTERIZATION_STATE_RASTERIZATION_ORDER_AMD |
VUID-VkPipelineRepresentativeFragmentTestStateCreateInfoNV-sType-sType | Y | | None | implicit | VkPipelineRepresentativeFragmentTestStateCreateInfoNV | sType must be VK_STRUCTURE_TYPE_PIPELINE_REPRESENTATIVE_FRAGMENT_TEST_STATE_CREATE_INFO_NV |
VUID-VkPipelineShaderStageNodeCreateInfoAMDX-pName-parameter | Y | | None | implicit | VkPipelineShaderStageNodeCreateInfoAMDX | If pName is not NULL, pName must be a null-terminated UTF-8 string |
VUID-VkPipelineShaderStageNodeCreateInfoAMDX-sType-sType | Y | | None | implicit | VkPipelineShaderStageNodeCreateInfoAMDX | sType must be VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX |
VUID-VkPipelineViewportCoarseSampleOrderStateCreateInfoNV-pCustomSampleOrders-02234 | N | | None | explicit | VkPipelineViewportCoarseSampleOrderStateCreateInfoNV | The array pCustomSampleOrders must not contain two structures with matching values for both the shadingRate and sampleCount members |
VUID-VkPipelineViewportCoarseSampleOrderStateCreateInfoNV-pCustomSampleOrders-parameter | Y | | None | implicit | VkPipelineViewportCoarseSampleOrderStateCreateInfoNV | If customSampleOrderCount is not 0, pCustomSampleOrders must be a valid pointer to an array of customSampleOrderCount valid VkCoarseSampleOrderCustomNV structures |
VUID-VkPipelineViewportCoarseSampleOrderStateCreateInfoNV-sType-sType | Y | | None | implicit | VkPipelineViewportCoarseSampleOrderStateCreateInfoNV | sType must be VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_COARSE_SAMPLE_ORDER_STATE_CREATE_INFO_NV |
VUID-VkPipelineViewportCoarseSampleOrderStateCreateInfoNV-sampleOrderType-02072 | Y | | None | explicit | VkPipelineViewportCoarseSampleOrderStateCreateInfoNV | If sampleOrderType is not VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV, customSamplerOrderCount must be 0 |
VUID-VkPipelineViewportCoarseSampleOrderStateCreateInfoNV-sampleOrderType-parameter | Y | | None | implicit | VkPipelineViewportCoarseSampleOrderStateCreateInfoNV | sampleOrderType must be a valid VkCoarseSampleOrderTypeNV value |
VUID-VkPipelineViewportExclusiveScissorStateCreateInfoNV-exclusiveScissorCount-02027 | Y | | NegativeCommand.ExclusiveScissorNV | explicit | VkPipelineViewportExclusiveScissorStateCreateInfoNV | If the multiViewport feature is not enabled, exclusiveScissorCount must be 0 or 1 |
VUID-VkPipelineViewportExclusiveScissorStateCreateInfoNV-exclusiveScissorCount-02028 | Y | | NegativeCommand.ExclusiveScissorNV | explicit | VkPipelineViewportExclusiveScissorStateCreateInfoNV | exclusiveScissorCount must be less than or equal to VkPhysicalDeviceLimits::maxViewports |
VUID-VkPipelineViewportExclusiveScissorStateCreateInfoNV-exclusiveScissorCount-02029 | Y | | NegativeCommand.ExclusiveScissorNV | explicit | VkPipelineViewportExclusiveScissorStateCreateInfoNV | exclusiveScissorCount must be 0 or greater than or equal to the viewportCount member of VkPipelineViewportStateCreateInfo |
VUID-VkPipelineViewportExclusiveScissorStateCreateInfoNV-sType-sType | Y | | None | implicit | VkPipelineViewportExclusiveScissorStateCreateInfoNV | sType must be VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_EXCLUSIVE_SCISSOR_STATE_CREATE_INFO_NV |
VUID-VkPipelineViewportShadingRateImageStateCreateInfoNV-sType-sType | Y | | None | implicit | VkPipelineViewportShadingRateImageStateCreateInfoNV | sType must be VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SHADING_RATE_IMAGE_STATE_CREATE_INFO_NV |
VUID-VkPipelineViewportShadingRateImageStateCreateInfoNV-shadingRateImageEnable-02056 | Y | | NegativeFragmentShadingRate.ShadingRateImageNVViewportCount | explicit | VkPipelineViewportShadingRateImageStateCreateInfoNV | If shadingRateImageEnable is VK_TRUE, viewportCount must be greater or equal to the viewportCount member of VkPipelineViewportStateCreateInfo |
VUID-VkPipelineViewportShadingRateImageStateCreateInfoNV-viewportCount-02054 | Y | | NegativeFragmentShadingRate.ShadingRateImageNV | explicit | VkPipelineViewportShadingRateImageStateCreateInfoNV | If the multiViewport feature is not enabled, viewportCount must be 0 or 1 |
VUID-VkPipelineViewportShadingRateImageStateCreateInfoNV-viewportCount-02055 | Y | | None | explicit | VkPipelineViewportShadingRateImageStateCreateInfoNV | viewportCount must be less than or equal to VkPhysicalDeviceLimits::maxViewports |
VUID-VkPipelineViewportSwizzleStateCreateInfoNV-flags-zerobitmask | Y | | None | implicit | VkPipelineViewportSwizzleStateCreateInfoNV | flags must be 0 |
VUID-VkPipelineViewportSwizzleStateCreateInfoNV-pViewportSwizzles-parameter | Y | | None | implicit | VkPipelineViewportSwizzleStateCreateInfoNV | pViewportSwizzles must be a valid pointer to an array of viewportCount valid VkViewportSwizzleNV structures |
VUID-VkPipelineViewportSwizzleStateCreateInfoNV-sType-sType | Y | | None | implicit | VkPipelineViewportSwizzleStateCreateInfoNV | sType must be VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_SWIZZLE_STATE_CREATE_INFO_NV |
VUID-VkPipelineViewportSwizzleStateCreateInfoNV-viewportCount-01215 | Y | | NegativePipeline.ViewportSwizzleNV | explicit | VkPipelineViewportSwizzleStateCreateInfoNV | viewportCount must be greater than or equal to the viewportCount set in VkPipelineViewportStateCreateInfo |
VUID-VkPipelineViewportSwizzleStateCreateInfoNV-viewportCount-arraylength | Y | | None | implicit | VkPipelineViewportSwizzleStateCreateInfoNV | viewportCount must be greater than 0 |
VUID-VkPipelineViewportWScalingStateCreateInfoNV-sType-sType | Y | | None | implicit | VkPipelineViewportWScalingStateCreateInfoNV | sType must be VK_STRUCTURE_TYPE_PIPELINE_VIEWPORT_W_SCALING_STATE_CREATE_INFO_NV |
VUID-VkPipelineViewportWScalingStateCreateInfoNV-viewportCount-arraylength | Y | | None | implicit | VkPipelineViewportWScalingStateCreateInfoNV | viewportCount must be greater than 0 |
VUID-VkPresentFrameTokenGGP-frameToken-02680 | N | | None | explicit | VkPresentFrameTokenGGP | frameToken must be a valid GgpFrameToken |
VUID-VkPresentFrameTokenGGP-sType-sType | Y | | None | implicit | VkPresentFrameTokenGGP | sType must be VK_STRUCTURE_TYPE_PRESENT_FRAME_TOKEN_GGP |
VUID-VkPresentTimesInfoGOOGLE-pTimes-parameter | Y | | None | implicit | VkPresentTimesInfoGOOGLE | If pTimes is not NULL, pTimes must be a valid pointer to an array of swapchainCount VkPresentTimeGOOGLE structures |
VUID-VkPresentTimesInfoGOOGLE-sType-sType | Y | | None | implicit | VkPresentTimesInfoGOOGLE | sType must be VK_STRUCTURE_TYPE_PRESENT_TIMES_INFO_GOOGLE |
VUID-VkPresentTimesInfoGOOGLE-swapchainCount-01247 | Y | | None | explicit | VkPresentTimesInfoGOOGLE | swapchainCount must be the same value as VkPresentInfoKHR::swapchainCount, where VkPresentInfoKHR is included in the pNext chain of this VkPresentTimesInfoGOOGLE structure |
VUID-VkPresentTimesInfoGOOGLE-swapchainCount-arraylength | Y | | None | implicit | VkPresentTimesInfoGOOGLE | swapchainCount must be greater than 0 |
VUID-VkQueryLowLatencySupportNV-pQueriedLowLatencyData-parameter | Y | | None | implicit | VkQueryLowLatencySupportNV | pQueriedLowLatencyData must be a pointer value |
VUID-VkQueryLowLatencySupportNV-sType-sType | Y | | None | implicit | VkQueryLowLatencySupportNV | sType must be VK_STRUCTURE_TYPE_QUERY_LOW_LATENCY_SUPPORT_NV |
VUID-VkQueryPoolPerformanceQueryCreateInfoINTEL-performanceCountersSampling-parameter | Y | | None | implicit | VkQueryPoolPerformanceQueryCreateInfoINTEL | performanceCountersSampling must be a valid VkQueryPoolSamplingModeINTEL value |
VUID-VkQueryPoolPerformanceQueryCreateInfoINTEL-sType-sType | Y | | None | implicit | VkQueryPoolPerformanceQueryCreateInfoINTEL | sType must be VK_STRUCTURE_TYPE_QUERY_POOL_PERFORMANCE_QUERY_CREATE_INFO_INTEL |
VUID-VkQueueFamilyCheckpointProperties2NV-sType-sType | Y | | None | implicit | VkQueueFamilyCheckpointProperties2NV | sType must be VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_2_NV |
VUID-VkQueueFamilyCheckpointPropertiesNV-sType-sType | Y | | None | implicit | VkQueueFamilyCheckpointPropertiesNV | sType must be VK_STRUCTURE_TYPE_QUEUE_FAMILY_CHECKPOINT_PROPERTIES_NV |
VUID-VkRayTracingPipelineCreateInfoNV-None-09497 | Y | | NegativeRayTracingPipelineNV.BasicUsage | explicit | VkRayTracingPipelineCreateInfoNV | If the pNext chain does not include a VkPipelineCreateFlags2CreateInfoKHR structure, flags must be a valid combination of VkPipelineCreateFlagBits values |
VUID-VkRayTracingPipelineCreateInfoNV-commonparent | Y | | None | implicit | VkRayTracingPipelineCreateInfoNV | Both 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-02904 | Y | | NegativeRayTracingPipelineNV.BasicUsage | explicit | VkRayTracingPipelineCreateInfoNV | flags must not include VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV |
VUID-VkRayTracingPipelineCreateInfoNV-flags-02957 | Y | | NegativeRayTracingPipelineNV.BasicUsage | explicit | VkRayTracingPipelineCreateInfoNV | flags 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-03456 | Y | | NegativeRayTracingPipelineNV.BasicUsage | explicit | VkRayTracingPipelineCreateInfoNV | flags must not include VK_PIPELINE_CREATE_LIBRARY_BIT_KHR |
VUID-VkRayTracingPipelineCreateInfoNV-flags-03458 | Y | | NegativeRayTracingPipelineNV.BasicUsage | explicit | VkRayTracingPipelineCreateInfoNV | flags must not include VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHR |
VUID-VkRayTracingPipelineCreateInfoNV-flags-03459 | Y | | NegativeRayTracingPipelineNV.BasicUsage | explicit | VkRayTracingPipelineCreateInfoNV | flags must not include VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHR |
VUID-VkRayTracingPipelineCreateInfoNV-flags-03460 | Y | | NegativeRayTracingPipelineNV.BasicUsage | explicit | VkRayTracingPipelineCreateInfoNV | flags must not include VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHR |
VUID-VkRayTracingPipelineCreateInfoNV-flags-03461 | Y | | NegativeRayTracingPipelineNV.BasicUsage | explicit | VkRayTracingPipelineCreateInfoNV | flags must not include VK_PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHR |
VUID-VkRayTracingPipelineCreateInfoNV-flags-03462 | Y | | NegativeRayTracingPipelineNV.BasicUsage | explicit | VkRayTracingPipelineCreateInfoNV | flags must not include VK_PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHR |
VUID-VkRayTracingPipelineCreateInfoNV-flags-03463 | Y | | NegativeRayTracingPipelineNV.BasicUsage | explicit | VkRayTracingPipelineCreateInfoNV | flags must not include VK_PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHR |
VUID-VkRayTracingPipelineCreateInfoNV-flags-03588 | Y | | NegativeRayTracingPipelineNV.BasicUsage | explicit | VkRayTracingPipelineCreateInfoNV | flags must not include VK_PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHR |
VUID-VkRayTracingPipelineCreateInfoNV-flags-04948 | Y | | NegativeRayTracingPipelineNV.BasicUsage | explicit | VkRayTracingPipelineCreateInfoNV | flags must not include VK_PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NV |
VUID-VkRayTracingPipelineCreateInfoNV-flags-07402 | N | | None | explicit | VkRayTracingPipelineCreateInfoNV | flags must not include VK_PIPELINE_CREATE_RAY_TRACING_OPACITY_MICROMAP_BIT_EXT |
VUID-VkRayTracingPipelineCreateInfoNV-flags-07984 | Y | | NegativeRayTracingPipelineNV.BasicUsage | explicit | VkRayTracingPipelineCreateInfoNV | If 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-07985 | Y | | NegativeRayTracingPipelineNV.BasicUsage | explicit | VkRayTracingPipelineCreateInfoNV | If 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-07986 | Y | | None | explicit | VkRayTracingPipelineCreateInfoNV | If flags contains the VK_PIPELINE_CREATE_DERIVATIVE_BIT flag, basePipelineIndex must be -1 or basePipelineHandle must be VK_NULL_HANDLE |
VUID-VkRayTracingPipelineCreateInfoNV-flags-07998 | N | | None | explicit | VkRayTracingPipelineCreateInfoNV | flags must not include VK_PIPELINE_CREATE_RAY_TRACING_DISPLACEMENT_MICROMAP_BIT_NV |
VUID-VkRayTracingPipelineCreateInfoNV-groupCount-arraylength | Y | | None | implicit | VkRayTracingPipelineCreateInfoNV | groupCount must be greater than 0 |
VUID-VkRayTracingPipelineCreateInfoNV-layout-03428 | N | | None | explicit | VkRayTracingPipelineCreateInfoNV | The 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-07987 | Y | | None | explicit | VkRayTracingPipelineCreateInfoNV | If 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-07988 | Y | | None | explicit | VkRayTracingPipelineCreateInfoNV | If a resource variables is declared in a shader, a descriptor slot in layout must match the shader stage |
VUID-VkRayTracingPipelineCreateInfoNV-layout-07990 | Y | | None | explicit | VkRayTracingPipelineCreateInfoNV | If 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-07991 | Y | | None | explicit | VkRayTracingPipelineCreateInfoNV | If a resource variables is declared in a shader as an array, a descriptor slot in layout must match the descriptor count |
VUID-VkRayTracingPipelineCreateInfoNV-layout-parameter | Y | | None | implicit | VkRayTracingPipelineCreateInfoNV | layout must be a valid VkPipelineLayout handle |
VUID-VkRayTracingPipelineCreateInfoNV-maxRecursionDepth-03457 | Y | | None | explicit | VkRayTracingPipelineCreateInfoNV | maxRecursionDepth must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxRecursionDepth |
VUID-VkRayTracingPipelineCreateInfoNV-pGroups-parameter | Y | | None | implicit | VkRayTracingPipelineCreateInfoNV | pGroups must be a valid pointer to an array of groupCount valid VkRayTracingShaderGroupCreateInfoNV structures |
VUID-VkRayTracingPipelineCreateInfoNV-pNext-pNext | Y | | None | implicit | VkRayTracingPipelineCreateInfoNV | Each 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-03426 | N | | None | explicit | VkRayTracingPipelineCreateInfoNV | The 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-parameter | Y | | None | implicit | VkRayTracingPipelineCreateInfoNV | pStages must be a valid pointer to an array of stageCount valid VkPipelineShaderStageCreateInfo structures |
VUID-VkRayTracingPipelineCreateInfoNV-pipelineCreationCacheControl-02905 | Y | | None | explicit | VkRayTracingPipelineCreateInfoNV | If 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-06651 | Y | | NegativeRayTracingPipelineNV.StageCreationFeedbackCount | explicit | VkRayTracingPipelineCreateInfoNV | If VkPipelineCreationFeedbackCreateInfo::pipelineStageCreationFeedbackCount is not 0, it must be equal to stageCount |
VUID-VkRayTracingPipelineCreateInfoNV-sType-sType | Y | | None | implicit | VkRayTracingPipelineCreateInfoNV | sType must be VK_STRUCTURE_TYPE_RAY_TRACING_PIPELINE_CREATE_INFO_NV |
VUID-VkRayTracingPipelineCreateInfoNV-sType-unique | Y | | None | implicit | VkRayTracingPipelineCreateInfoNV | The sType value of each struct in the pNext chain must be unique |
VUID-VkRayTracingPipelineCreateInfoNV-stage-06232 | Y | | NegativeRayTracingPipelineNV.ShaderGroups | explicit | VkRayTracingPipelineCreateInfoNV | The stage member of at least one element of pStages must be VK_SHADER_STAGE_RAYGEN_BIT_KHR |
VUID-VkRayTracingPipelineCreateInfoNV-stage-06898 | N | | None | explicit | VkRayTracingPipelineCreateInfoNV | The 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-arraylength | Y | | None | implicit | VkRayTracingPipelineCreateInfoNV | stageCount must be greater than 0 |
VUID-VkRayTracingShaderGroupCreateInfoNV-anyHitShader-02418 | Y | | NegativeRayTracingPipelineNV.ShaderGroups | explicit | VkRayTracingShaderGroupCreateInfoNV | anyHitShader 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-02417 | Y | | NegativeRayTracingPipelineNV.ShaderGroups | explicit | VkRayTracingShaderGroupCreateInfoNV | closestHitShader 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-pNext | Y | | None | implicit | VkRayTracingShaderGroupCreateInfoNV | pNext must be NULL |
VUID-VkRayTracingShaderGroupCreateInfoNV-sType-sType | Y | | None | implicit | VkRayTracingShaderGroupCreateInfoNV | sType must be VK_STRUCTURE_TYPE_RAY_TRACING_SHADER_GROUP_CREATE_INFO_NV |
VUID-VkRayTracingShaderGroupCreateInfoNV-type-02413 | Y | | NegativeRayTracingPipelineNV.ShaderGroups | explicit | VkRayTracingShaderGroupCreateInfoNV | If 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-02414 | Y | | NegativeRayTracingPipelineNV.ShaderGroups | explicit | VkRayTracingShaderGroupCreateInfoNV | If type is VK_RAY_TRACING_SHADER_GROUP_TYPE_GENERAL_NV then closestHitShader, anyHitShader, and intersectionShader must be VK_SHADER_UNUSED_NV |
VUID-VkRayTracingShaderGroupCreateInfoNV-type-02415 | Y | | NegativeRayTracingPipelineNV.ShaderGroups | explicit | VkRayTracingShaderGroupCreateInfoNV | If 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-02416 | Y | | NegativeRayTracingPipelineNV.ShaderGroups | explicit | VkRayTracingShaderGroupCreateInfoNV | If type is VK_RAY_TRACING_SHADER_GROUP_TYPE_TRIANGLES_HIT_GROUP_NV then intersectionShader must be VK_SHADER_UNUSED_NV |
VUID-VkRayTracingShaderGroupCreateInfoNV-type-parameter | Y | | None | implicit | VkRayTracingShaderGroupCreateInfoNV | type must be a valid VkRayTracingShaderGroupTypeKHR value |
VUID-VkRenderPassStripeBeginInfoARM-pStripeInfos-parameter | Y | | None | implicit | VkRenderPassStripeBeginInfoARM | pStripeInfos must be a valid pointer to an array of stripeInfoCount valid VkRenderPassStripeInfoARM structures |
VUID-VkRenderPassStripeBeginInfoARM-sType-sType | Y | | None | implicit | VkRenderPassStripeBeginInfoARM | sType must be VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_BEGIN_INFO_ARM |
VUID-VkRenderPassStripeBeginInfoARM-stripeArea-09451 | Y | | NegativeDynamicRendering.BeginRenderingWithRenderPassStriped, NegativeRenderPass.BeginRenderPassWithRenderPassStriped | explicit | VkRenderPassStripeBeginInfoARM | The stripeArea defined by each element of pStripeInfos must not overlap the stripeArea of any other element |
VUID-VkRenderPassStripeBeginInfoARM-stripeInfoCount-09450 | Y | | NegativeDynamicRendering.BeginRenderingWithRenderPassStriped, NegativeRenderPass.BeginRenderPassWithRenderPassStriped | explicit | VkRenderPassStripeBeginInfoARM | stripeInfoCount must be less than or equal to VkPhysicalDeviceRenderPassStripedPropertiesARM::maxRenderPassStripes |
VUID-VkRenderPassStripeBeginInfoARM-stripeInfoCount-arraylength | Y | | None | implicit | VkRenderPassStripeBeginInfoARM | stripeInfoCount must be greater than 0 |
VUID-VkRenderPassStripeInfoARM-pNext-pNext | N | | None | implicit | VkRenderPassStripeInfoARM | pNext must be NULL |
VUID-VkRenderPassStripeInfoARM-sType-sType | Y | | None | implicit | VkRenderPassStripeInfoARM | sType must be VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_INFO_ARM |
VUID-VkRenderPassStripeInfoARM-stripeArea-09452 | Y | | NegativeDynamicRendering.BeginRenderingWithRenderPassStriped, NegativeRenderPass.BeginRenderPassWithRenderPassStriped | explicit | VkRenderPassStripeInfoARM | stripeArea.offset.x must be a multiple of VkPhysicalDeviceRenderPassStripedPropertiesARM::renderPassStripeGranularity.width |
VUID-VkRenderPassStripeInfoARM-stripeArea-09453 | Y | | NegativeDynamicRendering.BeginRenderingWithRenderPassStriped, NegativeRenderPass.BeginRenderPassWithRenderPassStriped | explicit | VkRenderPassStripeInfoARM | stripeArea.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-09454 | Y | | NegativeDynamicRendering.BeginRenderingWithRenderPassStriped, NegativeRenderPass.BeginRenderPassWithRenderPassStriped | explicit | VkRenderPassStripeInfoARM | stripeArea.offset.y must be a multiple of VkPhysicalDeviceRenderPassStripedPropertiesARM::renderPassStripeGranularity.height |
VUID-VkRenderPassStripeInfoARM-stripeArea-09455 | Y | | NegativeDynamicRendering.BeginRenderingWithRenderPassStriped, NegativeRenderPass.BeginRenderPassWithRenderPassStriped | explicit | VkRenderPassStripeInfoARM | stripeArea.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-parameter | Y | | None | implicit | VkRenderPassStripeSubmitInfoARM | pStripeSemaphoreInfos must be a valid pointer to an array of stripeSemaphoreInfoCount valid VkSemaphoreSubmitInfo structures |
VUID-VkRenderPassStripeSubmitInfoARM-sType-sType | Y | | None | implicit | VkRenderPassStripeSubmitInfoARM | sType must be VK_STRUCTURE_TYPE_RENDER_PASS_STRIPE_SUBMIT_INFO_ARM |
VUID-VkRenderPassStripeSubmitInfoARM-semaphore-09447 | Y | | NegativeDynamicRendering.RenderPassStripeInfoQueueSubmit2, NegativeRenderPass.RenderPassWithRenderPassStripedQueueSubmit2 | explicit | VkRenderPassStripeSubmitInfoARM | The semaphore member of each element of pStripeSemaphoreInfos must have been created with a VkSemaphoreType of VK_SEMAPHORE_TYPE_BINARY |
VUID-VkRenderPassStripeSubmitInfoARM-stripeSemaphoreInfoCount-arraylength | Y | | None | implicit | VkRenderPassStripeSubmitInfoARM | stripeSemaphoreInfoCount must be greater than 0 |
VUID-VkRenderPassTransformBeginInfoQCOM-flags-02872 | N | | None | explicit | VkRenderPassTransformBeginInfoQCOM | The renderpass must have been created with VkRenderPassCreateInfo::flags containing VK_RENDER_PASS_CREATE_TRANSFORM_BIT_QCOM |
VUID-VkRenderPassTransformBeginInfoQCOM-sType-sType | Y | | None | implicit | VkRenderPassTransformBeginInfoQCOM | sType must be VK_STRUCTURE_TYPE_RENDER_PASS_TRANSFORM_BEGIN_INFO_QCOM |
VUID-VkRenderPassTransformBeginInfoQCOM-transform-02871 | N | | None | explicit | VkRenderPassTransformBeginInfoQCOM | transform 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-09210 | N | | None | explicit | VkSamplerBlockMatchWindowCreateInfoQCOM | WindowExtent must not be larger than VkPhysicalDeviceImageProcessing2PropertiesQCOM::maxBlockMatchWindow |
VUID-VkSamplerBlockMatchWindowCreateInfoQCOM-sType-sType | Y | | None | implicit | VkSamplerBlockMatchWindowCreateInfoQCOM | sType must be VK_STRUCTURE_TYPE_SAMPLER_BLOCK_MATCH_WINDOW_CREATE_INFO_QCOM |
VUID-VkSamplerBlockMatchWindowCreateInfoQCOM-windowCompareMode-parameter | Y | | None | implicit | VkSamplerBlockMatchWindowCreateInfoQCOM | windowCompareMode must be a valid VkBlockMatchWindowCompareModeQCOM value |
VUID-VkSamplerCubicWeightsCreateInfoQCOM-cubicWeights-parameter | Y | | None | implicit | VkSamplerCubicWeightsCreateInfoQCOM | cubicWeights must be a valid VkCubicFilterWeightsQCOM value |
VUID-VkSamplerCubicWeightsCreateInfoQCOM-sType-sType | Y | | None | implicit | VkSamplerCubicWeightsCreateInfoQCOM | sType must be VK_STRUCTURE_TYPE_SAMPLER_CUBIC_WEIGHTS_CREATE_INFO_QCOM |
VUID-VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM-sType-sType | Y | | None | implicit | VkSamplerYcbcrConversionYcbcrDegammaCreateInfoQCOM | sType must be VK_STRUCTURE_TYPE_SAMPLER_YCBCR_CONVERSION_YCBCR_DEGAMMA_CREATE_INFO_QCOM |
VUID-VkScreenBufferFormatPropertiesQNX-sType-sType | Y | | None | implicit | VkScreenBufferFormatPropertiesQNX | sType must be VK_STRUCTURE_TYPE_SCREEN_BUFFER_FORMAT_PROPERTIES_QNX |
VUID-VkScreenBufferPropertiesQNX-pNext-pNext | Y | | None | implicit | VkScreenBufferPropertiesQNX | pNext must be NULL or a pointer to a valid instance of VkScreenBufferFormatPropertiesQNX |
VUID-VkScreenBufferPropertiesQNX-sType-sType | Y | | None | implicit | VkScreenBufferPropertiesQNX | sType must be VK_STRUCTURE_TYPE_SCREEN_BUFFER_PROPERTIES_QNX |
VUID-VkScreenBufferPropertiesQNX-sType-unique | Y | | None | implicit | VkScreenBufferPropertiesQNX | The sType value of each struct in the pNext chain must be unique |
VUID-VkScreenSurfaceCreateInfoQNX-context-04741 | N | | None | explicit | VkScreenSurfaceCreateInfoQNX | context must point to a valid QNX Screen struct _screen_context |
VUID-VkScreenSurfaceCreateInfoQNX-flags-zerobitmask | Y | | None | implicit | VkScreenSurfaceCreateInfoQNX | flags must be 0 |
VUID-VkScreenSurfaceCreateInfoQNX-pNext-pNext | Y | | None | implicit | VkScreenSurfaceCreateInfoQNX | pNext must be NULL |
VUID-VkScreenSurfaceCreateInfoQNX-sType-sType | Y | | None | implicit | VkScreenSurfaceCreateInfoQNX | sType must be VK_STRUCTURE_TYPE_SCREEN_SURFACE_CREATE_INFO_QNX |
VUID-VkScreenSurfaceCreateInfoQNX-window-04742 | N | | None | explicit | VkScreenSurfaceCreateInfoQNX | window must point to a valid QNX Screen struct _screen_window |
VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-04758 | N | | None | explicit | VkSemaphoreGetZirconHandleInfoFUCHSIA | handleType must have been included in VkExportSemaphoreCreateInfo::handleTypes when semaphore's current payload was created |
VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-04760 | N | | None | explicit | VkSemaphoreGetZirconHandleInfoFUCHSIA | If 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-04761 | N | | None | explicit | VkSemaphoreGetZirconHandleInfoFUCHSIA | If 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-04762 | N | | None | explicit | VkSemaphoreGetZirconHandleInfoFUCHSIA | handleType must be defined as a Zircon event handle |
VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-handleType-parameter | Y | | None | implicit | VkSemaphoreGetZirconHandleInfoFUCHSIA | handleType must be a valid VkExternalSemaphoreHandleTypeFlagBits value |
VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-pNext-pNext | Y | | None | implicit | VkSemaphoreGetZirconHandleInfoFUCHSIA | pNext must be NULL |
VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-sType-sType | Y | | None | implicit | VkSemaphoreGetZirconHandleInfoFUCHSIA | sType must be VK_STRUCTURE_TYPE_SEMAPHORE_GET_ZIRCON_HANDLE_INFO_FUCHSIA |
VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-semaphore-04759 | N | | None | explicit | VkSemaphoreGetZirconHandleInfoFUCHSIA | semaphore 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-04763 | N | | None | explicit | VkSemaphoreGetZirconHandleInfoFUCHSIA | semaphore must have been created with a VkSemaphoreType of VK_SEMAPHORE_TYPE_BINARY |
VUID-VkSemaphoreGetZirconHandleInfoFUCHSIA-semaphore-parameter | Y | | None | implicit | VkSemaphoreGetZirconHandleInfoFUCHSIA | semaphore must be a valid VkSemaphore handle |
VUID-VkSetLatencyMarkerInfoNV-marker-parameter | Y | | None | implicit | VkSetLatencyMarkerInfoNV | marker must be a valid VkLatencyMarkerNV value |
VUID-VkSetLatencyMarkerInfoNV-sType-sType | Y | | None | implicit | VkSetLatencyMarkerInfoNV | sType must be VK_STRUCTURE_TYPE_SET_LATENCY_MARKER_INFO_NV |
VUID-VkShadingRatePaletteNV-pShadingRatePaletteEntries-parameter | Y | | None | implicit | VkShadingRatePaletteNV | pShadingRatePaletteEntries must be a valid pointer to an array of shadingRatePaletteEntryCount valid VkShadingRatePaletteEntryNV values |
VUID-VkShadingRatePaletteNV-shadingRatePaletteEntryCount-02071 | Y | | NegativeFragmentShadingRate.ShadingRateImageNV | explicit | VkShadingRatePaletteNV | shadingRatePaletteEntryCount must be between 1 and VkPhysicalDeviceShadingRateImagePropertiesNV::shadingRatePaletteSize, inclusive |
VUID-VkShadingRatePaletteNV-shadingRatePaletteEntryCount-arraylength | Y | | None | implicit | VkShadingRatePaletteNV | shadingRatePaletteEntryCount must be greater than 0 |
VUID-VkStreamDescriptorSurfaceCreateInfoGGP-flags-zerobitmask | Y | | None | implicit | VkStreamDescriptorSurfaceCreateInfoGGP | flags must be 0 |
VUID-VkStreamDescriptorSurfaceCreateInfoGGP-pNext-pNext | Y | | None | implicit | VkStreamDescriptorSurfaceCreateInfoGGP | pNext must be NULL |
VUID-VkStreamDescriptorSurfaceCreateInfoGGP-sType-sType | Y | | None | implicit | VkStreamDescriptorSurfaceCreateInfoGGP | sType must be VK_STRUCTURE_TYPE_STREAM_DESCRIPTOR_SURFACE_CREATE_INFO_GGP |
VUID-VkStreamDescriptorSurfaceCreateInfoGGP-streamDescriptor-02681 | N | | None | explicit | VkStreamDescriptorSurfaceCreateInfoGGP | streamDescriptor must be a valid GgpStreamDescriptor |
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-fragmentDensityMapAttachment-06504 | Y | | NegativeFragmentShadingRate.FragmentDensityMapOffsetQCOM | explicit | VkSubpassFragmentDensityMapOffsetEndInfoQCOM | If 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-06503 | Y | | NegativeFragmentShadingRate.FragmentDensityMapOffsetQCOM | explicit | VkSubpassFragmentDensityMapOffsetEndInfoQCOM | If the fragmentDensityMapOffsets feature is not enabled or fragment density map is not enabled in the render pass, fragmentDensityOffsetCount must equal 0 |
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-fragmentDensityOffsetCount-06510 | Y | | NegativeFragmentShadingRate.FragmentDensityMapOffsetQCOM | explicit | VkSubpassFragmentDensityMapOffsetEndInfoQCOM | If 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-06511 | Y | | NegativeFragmentShadingRate.FragmentDensityMapOffsetQCOM | explicit | VkSubpassFragmentDensityMapOffsetEndInfoQCOM | If fragmentDensityOffsetCount is not 0 and multiview is not enabled for the render pass, fragmentDensityOffsetCount must equal 1 |
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-pColorAttachments-06507 | Y | | NegativeFragmentShadingRate.FragmentDensityMapOffsetQCOM | explicit | VkSubpassFragmentDensityMapOffsetEndInfoQCOM | If 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-06505 | Y | | NegativeFragmentShadingRate.FragmentDensityMapOffsetQCOM | explicit | VkSubpassFragmentDensityMapOffsetEndInfoQCOM | If 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-parameter | Y | | None | implicit | VkSubpassFragmentDensityMapOffsetEndInfoQCOM | If fragmentDensityOffsetCount is not 0, pFragmentDensityOffsets must be a valid pointer to an array of fragmentDensityOffsetCount VkOffset2D structures |
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-pInputAttachments-06506 | Y | | NegativeFragmentShadingRate.FragmentDensityMapOffsetQCOM | explicit | VkSubpassFragmentDensityMapOffsetEndInfoQCOM | If 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-06509 | Y | | NegativeFragmentShadingRate.FragmentDensityMapOffsetQCOM | explicit | VkSubpassFragmentDensityMapOffsetEndInfoQCOM | If 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-06508 | Y | | NegativeFragmentShadingRate.FragmentDensityMapOffsetQCOM | explicit | VkSubpassFragmentDensityMapOffsetEndInfoQCOM | If 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-sType | Y | | None | implicit | VkSubpassFragmentDensityMapOffsetEndInfoQCOM | sType must be VK_STRUCTURE_TYPE_SUBPASS_FRAGMENT_DENSITY_MAP_OFFSET_END_INFO_QCOM |
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-x-06512 | Y | | NegativeFragmentShadingRate.FragmentDensityMapOffsetQCOM | explicit | VkSubpassFragmentDensityMapOffsetEndInfoQCOM | The x component of each element of pFragmentDensityOffsets must be an integer multiple of fragmentDensityOffsetGranularity.width |
VUID-VkSubpassFragmentDensityMapOffsetEndInfoQCOM-y-06513 | Y | | NegativeFragmentShadingRate.FragmentDensityMapOffsetQCOM | explicit | VkSubpassFragmentDensityMapOffsetEndInfoQCOM | The y component of each element of pFragmentDensityOffsets must be an integer multiple of fragmentDensityOffsetGranularity.height |
VUID-VkSubpassShadingPipelineCreateInfoHUAWEI-renderPass-parameter | Y | | None | implicit | VkSubpassShadingPipelineCreateInfoHUAWEI | renderPass must be a valid VkRenderPass handle |
VUID-VkSubpassShadingPipelineCreateInfoHUAWEI-sType-sType | Y | | None | implicit | VkSubpassShadingPipelineCreateInfoHUAWEI | sType must be VK_STRUCTURE_TYPE_SUBPASS_SHADING_PIPELINE_CREATE_INFO_HUAWEI |
VUID-VkSubpassShadingPipelineCreateInfoHUAWEI-subpass-04946 | N | | None | explicit | VkSubpassShadingPipelineCreateInfoHUAWEI | subpass must be created with VK_PIPELINE_BIND_POINT_SUBPASS_SHADING_HUAWEI bind point |
VUID-VkSurfaceCapabilitiesPresentBarrierNV-sType-sType | Y | | None | implicit | VkSurfaceCapabilitiesPresentBarrierNV | sType must be VK_STRUCTURE_TYPE_SURFACE_CAPABILITIES_PRESENT_BARRIER_NV |
VUID-VkSwapchainDisplayNativeHdrCreateInfoAMD-localDimmingEnable-04449 | N | | None | explicit | VkSwapchainDisplayNativeHdrCreateInfoAMD | It is only valid to set localDimmingEnable to VK_TRUE if VkDisplayNativeHdrSurfaceCapabilitiesAMD::localDimmingSupport is supported |
VUID-VkSwapchainDisplayNativeHdrCreateInfoAMD-sType-sType | Y | | None | implicit | VkSwapchainDisplayNativeHdrCreateInfoAMD | sType must be VK_STRUCTURE_TYPE_SWAPCHAIN_DISPLAY_NATIVE_HDR_CREATE_INFO_AMD |
VUID-VkSwapchainLatencyCreateInfoNV-sType-sType | Y | | None | implicit | VkSwapchainLatencyCreateInfoNV | sType must be VK_STRUCTURE_TYPE_SWAPCHAIN_LATENCY_CREATE_INFO_NV |
VUID-VkSwapchainPresentBarrierCreateInfoNV-sType-sType | Y | | None | implicit | VkSwapchainPresentBarrierCreateInfoNV | sType must be VK_STRUCTURE_TYPE_SWAPCHAIN_PRESENT_BARRIER_CREATE_INFO_NV |
VUID-VkSysmemColorSpaceFUCHSIA-colorSpace-06402 | N | | None | explicit | VkSysmemColorSpaceFUCHSIA | colorSpace must be a ColorSpaceType as defined in fuchsia.sysmem/image_formats.fidl |
VUID-VkSysmemColorSpaceFUCHSIA-pNext-pNext | Y | | None | implicit | VkSysmemColorSpaceFUCHSIA | pNext must be NULL |
VUID-VkSysmemColorSpaceFUCHSIA-sType-sType | Y | | None | implicit | VkSysmemColorSpaceFUCHSIA | sType must be VK_STRUCTURE_TYPE_SYSMEM_COLOR_SPACE_FUCHSIA |
VUID-VkTextureLODGatherFormatPropertiesAMD-sType-sType | Y | | None | implicit | VkTextureLODGatherFormatPropertiesAMD | sType must be VK_STRUCTURE_TYPE_TEXTURE_LOD_GATHER_FORMAT_PROPERTIES_AMD |
VUID-VkTilePropertiesQCOM-pNext-pNext | N | | None | implicit | VkTilePropertiesQCOM | pNext must be NULL |
VUID-VkTilePropertiesQCOM-sType-sType | Y | | None | implicit | VkTilePropertiesQCOM | sType must be VK_STRUCTURE_TYPE_TILE_PROPERTIES_QCOM |
VUID-VkViSurfaceCreateInfoNN-flags-zerobitmask | Y | | None | implicit | VkViSurfaceCreateInfoNN | flags must be 0 |
VUID-VkViSurfaceCreateInfoNN-pNext-pNext | Y | | None | implicit | VkViSurfaceCreateInfoNN | pNext must be NULL |
VUID-VkViSurfaceCreateInfoNN-sType-sType | Y | | None | implicit | VkViSurfaceCreateInfoNN | sType must be VK_STRUCTURE_TYPE_VI_SURFACE_CREATE_INFO_NN |
VUID-VkViSurfaceCreateInfoNN-window-01318 | N | | None | explicit | VkViSurfaceCreateInfoNN | window must be a valid nn::vi::NativeWindowHandle |
VUID-VkViewportSwizzleNV-w-parameter | Y | | NegativePipeline.ViewportSwizzleNV | implicit | VkViewportSwizzleNV | w must be a valid VkViewportCoordinateSwizzleNV value |
VUID-VkViewportSwizzleNV-x-parameter | Y | | NegativePipeline.ViewportSwizzleNV | implicit | VkViewportSwizzleNV | x must be a valid VkViewportCoordinateSwizzleNV value |
VUID-VkViewportSwizzleNV-y-parameter | Y | | NegativePipeline.ViewportSwizzleNV | implicit | VkViewportSwizzleNV | y must be a valid VkViewportCoordinateSwizzleNV value |
VUID-VkViewportSwizzleNV-z-parameter | Y | | NegativePipeline.ViewportSwizzleNV | implicit | VkViewportSwizzleNV | z must be a valid VkViewportCoordinateSwizzleNV value |
VUID-VkWin32KeyedMutexAcquireReleaseInfoNV-commonparent | Y | | None | implicit | VkWin32KeyedMutexAcquireReleaseInfoNV | Both 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-parameter | Y | | None | implicit | VkWin32KeyedMutexAcquireReleaseInfoNV | If acquireCount is not 0, pAcquireKeys must be a valid pointer to an array of acquireCount uint64_t values |
VUID-VkWin32KeyedMutexAcquireReleaseInfoNV-pAcquireSyncs-parameter | Y | | None | implicit | VkWin32KeyedMutexAcquireReleaseInfoNV | If acquireCount is not 0, pAcquireSyncs must be a valid pointer to an array of acquireCount valid VkDeviceMemory handles |
VUID-VkWin32KeyedMutexAcquireReleaseInfoNV-pAcquireTimeoutMilliseconds-parameter | Y | | None | implicit | VkWin32KeyedMutexAcquireReleaseInfoNV | If acquireCount is not 0, pAcquireTimeoutMilliseconds must be a valid pointer to an array of acquireCount uint32_t values |
VUID-VkWin32KeyedMutexAcquireReleaseInfoNV-pReleaseKeys-parameter | Y | | None | implicit | VkWin32KeyedMutexAcquireReleaseInfoNV | If releaseCount is not 0, pReleaseKeys must be a valid pointer to an array of releaseCount uint64_t values |
VUID-VkWin32KeyedMutexAcquireReleaseInfoNV-pReleaseSyncs-parameter | Y | | None | implicit | VkWin32KeyedMutexAcquireReleaseInfoNV | If releaseCount is not 0, pReleaseSyncs must be a valid pointer to an array of releaseCount valid VkDeviceMemory handles |
VUID-VkWin32KeyedMutexAcquireReleaseInfoNV-sType-sType | Y | | None | implicit | VkWin32KeyedMutexAcquireReleaseInfoNV | sType must be VK_STRUCTURE_TYPE_WIN32_KEYED_MUTEX_ACQUIRE_RELEASE_INFO_NV |
VUID-VkWriteDescriptorSetAccelerationStructureNV-accelerationStructureCount-03747 | Y | | None | explicit | VkWriteDescriptorSetAccelerationStructureNV | accelerationStructureCount must be equal to descriptorCount in the extended structure |
VUID-VkWriteDescriptorSetAccelerationStructureNV-accelerationStructureCount-arraylength | Y | | None | implicit | VkWriteDescriptorSetAccelerationStructureNV | accelerationStructureCount must be greater than 0 |
VUID-VkWriteDescriptorSetAccelerationStructureNV-pAccelerationStructures-03748 | Y | | None | explicit | VkWriteDescriptorSetAccelerationStructureNV | Each acceleration structure in pAccelerationStructures must have been created with VK_ACCELERATION_STRUCTURE_TYPE_TOP_LEVEL_KHR |
VUID-VkWriteDescriptorSetAccelerationStructureNV-pAccelerationStructures-03749 | Y | | None | explicit | VkWriteDescriptorSetAccelerationStructureNV | If the nullDescriptor feature is not enabled, each member of pAccelerationStructures must not be VK_NULL_HANDLE |
VUID-VkWriteDescriptorSetAccelerationStructureNV-pAccelerationStructures-parameter | Y | | None | implicit | VkWriteDescriptorSetAccelerationStructureNV | pAccelerationStructures must be a valid pointer to an array of accelerationStructureCount valid or VK_NULL_HANDLE VkAccelerationStructureNV handles |
VUID-VkWriteDescriptorSetAccelerationStructureNV-sType-sType | Y | | None | implicit | VkWriteDescriptorSetAccelerationStructureNV | sType must be VK_STRUCTURE_TYPE_WRITE_DESCRIPTOR_SET_ACCELERATION_STRUCTURE_NV |
VUID-WarpIDARM-WarpIDARM-07603 | N | | None | explicit | WarpIDARM | The variable decorated with WarpIDARM must be declared using the Input Storage Class |
VUID-WarpIDARM-WarpIDARM-07604 | N | | None | explicit | WarpIDARM | The variable decorated with WarpIDARM must be declared as a scalar 32-bit integer value |
VUID-WarpIDNV-WarpIDNV-04420 | N | | None | explicit | WarpIDNV | The variable decorated with WarpIDNV must be declared using the Input Storage Class |
VUID-WarpIDNV-WarpIDNV-04421 | N | | None | explicit | WarpIDNV | The variable decorated with WarpIDNV must be declared as a scalar 32-bit integer value |
VUID-WarpMaxIDARM-WarpMaxIDARM-07601 | N | | None | explicit | WarpMaxIDARM | The variable decorated with WarpMaxIDARM must be declared using the Input Storage Class |
VUID-WarpMaxIDARM-WarpMaxIDARM-07602 | N | | None | explicit | WarpMaxIDARM | The variable decorated with WarpMaxIDARM must be declared as a scalar 32-bit integer value |
VUID-WarpsPerSMNV-WarpsPerSMNV-04418 | N | | None | explicit | WarpsPerSMNV | The variable decorated with WarpsPerSMNV must be declared using the Input Storage Class |
VUID-WarpsPerSMNV-WarpsPerSMNV-04419 | N | | None | explicit | WarpsPerSMNV | The variable decorated with WarpsPerSMNV must be declared as a scalar 32-bit integer value |
VUID-vkAcquirePerformanceConfigurationINTEL-device-parameter | Y | | None | implicit | vkAcquirePerformanceConfigurationINTEL | device must be a valid VkDevice handle |
VUID-vkAcquirePerformanceConfigurationINTEL-pAcquireInfo-parameter | Y | | None | implicit | vkAcquirePerformanceConfigurationINTEL | pAcquireInfo must be a valid pointer to a valid VkPerformanceConfigurationAcquireInfoINTEL structure |
VUID-vkAcquirePerformanceConfigurationINTEL-pConfiguration-parameter | Y | | None | implicit | vkAcquirePerformanceConfigurationINTEL | pConfiguration must be a valid pointer to a VkPerformanceConfigurationINTEL handle |
VUID-vkAcquireWinrtDisplayNV-display-parameter | Y | | None | implicit | vkAcquireWinrtDisplayNV | display must be a valid VkDisplayKHR handle |
VUID-vkAcquireWinrtDisplayNV-display-parent | Y | | None | implicit | vkAcquireWinrtDisplayNV | display must have been created, allocated, or retrieved from physicalDevice |
VUID-vkAcquireWinrtDisplayNV-physicalDevice-parameter | Y | | None | implicit | vkAcquireWinrtDisplayNV | physicalDevice must be a valid VkPhysicalDevice handle |
VUID-vkBindAccelerationStructureMemoryNV-bindInfoCount-arraylength | Y | | None | implicit | vkBindAccelerationStructureMemoryNV | bindInfoCount must be greater than 0 |
VUID-vkBindAccelerationStructureMemoryNV-device-parameter | Y | | None | implicit | vkBindAccelerationStructureMemoryNV | device must be a valid VkDevice handle |
VUID-vkBindAccelerationStructureMemoryNV-pBindInfos-parameter | Y | | None | implicit | vkBindAccelerationStructureMemoryNV | pBindInfos must be a valid pointer to an array of bindInfoCount valid VkBindAccelerationStructureMemoryInfoNV structures |
VUID-vkBindOpticalFlowSessionImageNV-bindingPoint-parameter | Y | | None | implicit | vkBindOpticalFlowSessionImageNV | bindingPoint must be a valid VkOpticalFlowSessionBindingPointNV value |
VUID-vkBindOpticalFlowSessionImageNV-device-parameter | Y | | None | implicit | vkBindOpticalFlowSessionImageNV | device must be a valid VkDevice handle |
VUID-vkBindOpticalFlowSessionImageNV-layout-parameter | Y | | None | implicit | vkBindOpticalFlowSessionImageNV | layout must be a valid VkImageLayout value |
VUID-vkBindOpticalFlowSessionImageNV-session-parameter | Y | | None | implicit | vkBindOpticalFlowSessionImageNV | session must be a valid VkOpticalFlowSessionNV handle |
VUID-vkBindOpticalFlowSessionImageNV-session-parent | Y | | None | implicit | vkBindOpticalFlowSessionImageNV | session must have been created, allocated, or retrieved from device |
VUID-vkBindOpticalFlowSessionImageNV-view-parameter | Y | | None | implicit | vkBindOpticalFlowSessionImageNV | If view is not VK_NULL_HANDLE, view must be a valid VkImageView handle |
VUID-vkBindOpticalFlowSessionImageNV-view-parent | Y | | None | implicit | vkBindOpticalFlowSessionImageNV | If view is a valid handle, it must have been created, allocated, or retrieved from device |
VUID-vkCmdBindInvocationMaskHUAWEI-None-04976 | N | | None | explicit | vkCmdBindInvocationMaskHUAWEI | The invocationMask feature must be enabled |
VUID-vkCmdBindInvocationMaskHUAWEI-None-04982 | N | | None | explicit | vkCmdBindInvocationMaskHUAWEI | Each element in the invocation mask image must have the value 0 or 1. The value 1 means the invocation is active |
VUID-vkCmdBindInvocationMaskHUAWEI-commandBuffer-cmdpool | Y | | None | implicit | vkCmdBindInvocationMaskHUAWEI | The VkCommandPool that commandBuffer was allocated from must support compute operations |
VUID-vkCmdBindInvocationMaskHUAWEI-commandBuffer-parameter | Y | | None | implicit | vkCmdBindInvocationMaskHUAWEI | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdBindInvocationMaskHUAWEI-commandBuffer-recording | Y | | None | implicit | vkCmdBindInvocationMaskHUAWEI | commandBuffer must be in the recording state |
VUID-vkCmdBindInvocationMaskHUAWEI-commonparent | Y | | None | implicit | vkCmdBindInvocationMaskHUAWEI | Both 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-04983 | N | | None | explicit | vkCmdBindInvocationMaskHUAWEI | depth in vkCmdTraceRaysKHR must be 1 |
VUID-vkCmdBindInvocationMaskHUAWEI-imageLayout-parameter | Y | | None | implicit | vkCmdBindInvocationMaskHUAWEI | imageLayout must be a valid VkImageLayout value |
VUID-vkCmdBindInvocationMaskHUAWEI-imageView-04977 | N | | None | explicit | vkCmdBindInvocationMaskHUAWEI | If imageView is not VK_NULL_HANDLE, it must be a valid VkImageView handle of type VK_IMAGE_VIEW_TYPE_2D |
VUID-vkCmdBindInvocationMaskHUAWEI-imageView-04978 | N | | None | explicit | vkCmdBindInvocationMaskHUAWEI | If imageView is not VK_NULL_HANDLE, it must have a format of VK_FORMAT_R8_UINT |
VUID-vkCmdBindInvocationMaskHUAWEI-imageView-04979 | N | | None | explicit | vkCmdBindInvocationMaskHUAWEI | If imageView is not VK_NULL_HANDLE, it must have been created with VK_IMAGE_USAGE_INVOCATION_MASK_BIT_HUAWEI set |
VUID-vkCmdBindInvocationMaskHUAWEI-imageView-04980 | N | | None | explicit | vkCmdBindInvocationMaskHUAWEI | If imageView is not VK_NULL_HANDLE, imageLayout must be VK_IMAGE_LAYOUT_GENERAL |
VUID-vkCmdBindInvocationMaskHUAWEI-imageView-parameter | Y | | None | implicit | vkCmdBindInvocationMaskHUAWEI | If imageView is not VK_NULL_HANDLE, imageView must be a valid VkImageView handle |
VUID-vkCmdBindInvocationMaskHUAWEI-renderpass | Y | | None | implicit | vkCmdBindInvocationMaskHUAWEI | This command must only be called outside of a render pass instance |
VUID-vkCmdBindInvocationMaskHUAWEI-videocoding | Y | | None | implicit | vkCmdBindInvocationMaskHUAWEI | This command must only be called outside of a video coding scope |
VUID-vkCmdBindInvocationMaskHUAWEI-width-04981 | N | | None | explicit | vkCmdBindInvocationMaskHUAWEI | Thread mask image resolution must match the width and height in vkCmdTraceRaysKHR |
VUID-vkCmdBindPipelineShaderGroupNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdBindPipelineShaderGroupNV | The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations |
VUID-vkCmdBindPipelineShaderGroupNV-commandBuffer-parameter | Y | | None | implicit | vkCmdBindPipelineShaderGroupNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdBindPipelineShaderGroupNV-commandBuffer-recording | Y | | None | implicit | vkCmdBindPipelineShaderGroupNV | commandBuffer must be in the recording state |
VUID-vkCmdBindPipelineShaderGroupNV-commonparent | Y | | None | implicit | vkCmdBindPipelineShaderGroupNV | Both of commandBuffer, and pipeline must have been created, allocated, or retrieved from the same VkDevice |
VUID-vkCmdBindPipelineShaderGroupNV-deviceGeneratedCommands-02896 | N | | None | explicit | vkCmdBindPipelineShaderGroupNV | The deviceGeneratedCommands feature must be enabled |
VUID-vkCmdBindPipelineShaderGroupNV-groupIndex-02893 | N | | None | explicit | vkCmdBindPipelineShaderGroupNV | groupIndex must be 0 or less than the effective VkGraphicsPipelineShaderGroupsCreateInfoNV::groupCount including the referenced pipelines |
VUID-vkCmdBindPipelineShaderGroupNV-groupIndex-02895 | N | | None | explicit | vkCmdBindPipelineShaderGroupNV | The same restrictions as vkCmdBindPipeline apply as if the bound pipeline was created only with the Shader Group from the groupIndex information |
VUID-vkCmdBindPipelineShaderGroupNV-pipeline-parameter | Y | | None | implicit | vkCmdBindPipelineShaderGroupNV | pipeline must be a valid VkPipeline handle |
VUID-vkCmdBindPipelineShaderGroupNV-pipelineBindPoint-02894 | N | | None | explicit | vkCmdBindPipelineShaderGroupNV | The pipelineBindPoint must be VK_PIPELINE_BIND_POINT_GRAPHICS |
VUID-vkCmdBindPipelineShaderGroupNV-pipelineBindPoint-parameter | Y | | None | implicit | vkCmdBindPipelineShaderGroupNV | pipelineBindPoint must be a valid VkPipelineBindPoint value |
VUID-vkCmdBindPipelineShaderGroupNV-videocoding | Y | | None | implicit | vkCmdBindPipelineShaderGroupNV | This command must only be called outside of a video coding scope |
VUID-vkCmdBindShadingRateImageNV-None-02058 | Y | | None | explicit | vkCmdBindShadingRateImageNV | The shadingRateImage feature must be enabled |
VUID-vkCmdBindShadingRateImageNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdBindShadingRateImageNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdBindShadingRateImageNV-commandBuffer-parameter | Y | | None | implicit | vkCmdBindShadingRateImageNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdBindShadingRateImageNV-commandBuffer-recording | Y | | None | implicit | vkCmdBindShadingRateImageNV | commandBuffer must be in the recording state |
VUID-vkCmdBindShadingRateImageNV-commonparent | Y | | None | implicit | vkCmdBindShadingRateImageNV | Both 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-02063 | Y | | NegativeFragmentShadingRate.ShadingRateImageNV | explicit | vkCmdBindShadingRateImageNV | If imageView is not VK_NULL_HANDLE, imageLayout must be VK_IMAGE_LAYOUT_SHADING_RATE_OPTIMAL_NV or VK_IMAGE_LAYOUT_GENERAL |
VUID-vkCmdBindShadingRateImageNV-imageLayout-parameter | Y | | None | implicit | vkCmdBindShadingRateImageNV | imageLayout must be a valid VkImageLayout value |
VUID-vkCmdBindShadingRateImageNV-imageView-02059 | Y | | None | explicit | vkCmdBindShadingRateImageNV | If 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-02060 | Y | | NegativeFragmentShadingRate.ShadingRateImageNV | explicit | vkCmdBindShadingRateImageNV | If imageView is not VK_NULL_HANDLE, it must have a format of VK_FORMAT_R8_UINT |
VUID-vkCmdBindShadingRateImageNV-imageView-02061 | Y | | NegativeFragmentShadingRate.ShadingRateImageNV | explicit | vkCmdBindShadingRateImageNV | If 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-02062 | Y | | NegativeFragmentShadingRate.ShadingRateImageNV | explicit | vkCmdBindShadingRateImageNV | If 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-parameter | Y | | None | implicit | vkCmdBindShadingRateImageNV | If imageView is not VK_NULL_HANDLE, imageView must be a valid VkImageView handle |
VUID-vkCmdBindShadingRateImageNV-videocoding | Y | | None | implicit | vkCmdBindShadingRateImageNV | This command must only be called outside of a video coding scope |
VUID-vkCmdBuildAccelerationStructureNV-accelerationStructureReference-03786 | N | | None | explicit | vkCmdBuildAccelerationStructureNV | Each VkAccelerationStructureInstanceKHR::accelerationStructureReference value in instanceData must be a valid device address containing a value obtained from vkGetAccelerationStructureHandleNV |
VUID-vkCmdBuildAccelerationStructureNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdBuildAccelerationStructureNV | The VkCommandPool that commandBuffer was allocated from must support compute operations |
VUID-vkCmdBuildAccelerationStructureNV-commandBuffer-parameter | Y | | None | implicit | vkCmdBuildAccelerationStructureNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdBuildAccelerationStructureNV-commandBuffer-recording | Y | | NegativeRayTracingNV.ValidateCmdBuildAccelerationStructure | implicit | vkCmdBuildAccelerationStructureNV | commandBuffer must be in the recording state |
VUID-vkCmdBuildAccelerationStructureNV-commonparent | Y | | None | implicit | vkCmdBuildAccelerationStructureNV | Each 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-02488 | Y | | NegativeRayTracingNV.ValidateCmdBuildAccelerationStructure | explicit | vkCmdBuildAccelerationStructureNV | dst 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-07787 | Y | | None | explicit | vkCmdBuildAccelerationStructureNV | dst must be bound completely and contiguously to a single VkDeviceMemory object via vkBindAccelerationStructureMemoryNV |
VUID-vkCmdBuildAccelerationStructureNV-dst-parameter | Y | | None | implicit | vkCmdBuildAccelerationStructureNV | dst must be a valid VkAccelerationStructureNV handle |
VUID-vkCmdBuildAccelerationStructureNV-geometryCount-02241 | Y | | None | explicit | vkCmdBuildAccelerationStructureNV | geometryCount must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxGeometryCount |
VUID-vkCmdBuildAccelerationStructureNV-instanceData-03523 | N | | None | explicit | vkCmdBuildAccelerationStructureNV | If instanceData is not VK_NULL_HANDLE, instanceData must have been created with VK_BUFFER_USAGE_RAY_TRACING_BIT_NV usage flag |
VUID-vkCmdBuildAccelerationStructureNV-instanceData-parameter | Y | | None | implicit | vkCmdBuildAccelerationStructureNV | If instanceData is not VK_NULL_HANDLE, instanceData must be a valid VkBuffer handle |
VUID-vkCmdBuildAccelerationStructureNV-pInfo-parameter | Y | | None | implicit | vkCmdBuildAccelerationStructureNV | pInfo must be a valid pointer to a valid VkAccelerationStructureInfoNV structure |
VUID-vkCmdBuildAccelerationStructureNV-renderpass | Y | | NegativeRayTracingNV.ValidateCmdBuildAccelerationStructure | implicit | vkCmdBuildAccelerationStructureNV | This command must only be called outside of a render pass instance |
VUID-vkCmdBuildAccelerationStructureNV-scratch-03522 | N | | None | explicit | vkCmdBuildAccelerationStructureNV | scratch must have been created with VK_BUFFER_USAGE_RAY_TRACING_BIT_NV usage flag |
VUID-vkCmdBuildAccelerationStructureNV-scratch-parameter | Y | | None | implicit | vkCmdBuildAccelerationStructureNV | scratch must be a valid VkBuffer handle |
VUID-vkCmdBuildAccelerationStructureNV-src-parameter | Y | | None | implicit | vkCmdBuildAccelerationStructureNV | If src is not VK_NULL_HANDLE, src must be a valid VkAccelerationStructureNV handle |
VUID-vkCmdBuildAccelerationStructureNV-update-02489 | Y | | NegativeRayTracingNV.ValidateCmdBuildAccelerationStructure | explicit | vkCmdBuildAccelerationStructureNV | If update is VK_TRUE, src must not be VK_NULL_HANDLE |
VUID-vkCmdBuildAccelerationStructureNV-update-02490 | Y | | NegativeRayTracingNV.ValidateCmdBuildAccelerationStructure | explicit | vkCmdBuildAccelerationStructureNV | If 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-02491 | Y | | NegativeRayTracingNV.ValidateCmdBuildAccelerationStructure | explicit | vkCmdBuildAccelerationStructureNV | If 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-02492 | Y | | None | explicit | vkCmdBuildAccelerationStructureNV | If 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-03524 | N | | None | explicit | vkCmdBuildAccelerationStructureNV | If update is VK_TRUE, then objects that were previously active must not be made inactive as per Inactive Primitives and Instances |
VUID-vkCmdBuildAccelerationStructureNV-update-03525 | N | | None | explicit | vkCmdBuildAccelerationStructureNV | If update is VK_TRUE, then objects that were previously inactive must not be made active as per Inactive Primitives and Instances |
VUID-vkCmdBuildAccelerationStructureNV-update-03526 | N | | None | explicit | vkCmdBuildAccelerationStructureNV | If update is VK_TRUE, the src and dst objects must either be the same object or not have any memory aliasing |
VUID-vkCmdBuildAccelerationStructureNV-videocoding | Y | | None | implicit | vkCmdBuildAccelerationStructureNV | This command must only be called outside of a video coding scope |
VUID-vkCmdCopyAccelerationStructureNV-buffer-03718 | Y | | NegativeRayTracingNV.ValidateCmdCopyAccelerationStructure | explicit | vkCmdCopyAccelerationStructureNV | The buffer used to create src must be bound to device memory |
VUID-vkCmdCopyAccelerationStructureNV-buffer-03719 | Y | | NegativeRayTracingNV.ValidateCmdCopyAccelerationStructure | explicit | vkCmdCopyAccelerationStructureNV | The buffer used to create dst must be bound to device memory |
VUID-vkCmdCopyAccelerationStructureNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdCopyAccelerationStructureNV | The VkCommandPool that commandBuffer was allocated from must support compute operations |
VUID-vkCmdCopyAccelerationStructureNV-commandBuffer-parameter | Y | | None | implicit | vkCmdCopyAccelerationStructureNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdCopyAccelerationStructureNV-commandBuffer-recording | Y | | NegativeRayTracingNV.ValidateCmdCopyAccelerationStructure | implicit | vkCmdCopyAccelerationStructureNV | commandBuffer must be in the recording state |
VUID-vkCmdCopyAccelerationStructureNV-commonparent | Y | | None | implicit | vkCmdCopyAccelerationStructureNV | Each of commandBuffer, dst, and src must have been created, allocated, or retrieved from the same VkDevice |
VUID-vkCmdCopyAccelerationStructureNV-dst-07791 | N | | None | explicit | vkCmdCopyAccelerationStructureNV | The 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-07792 | Y | | NegativeRayTracingNV.ValidateCmdCopyAccelerationStructure | explicit | vkCmdCopyAccelerationStructureNV | dst must be bound completely and contiguously to a single VkDeviceMemory object via vkBindAccelerationStructureMemoryNV |
VUID-vkCmdCopyAccelerationStructureNV-dst-parameter | Y | | None | implicit | vkCmdCopyAccelerationStructureNV | dst must be a valid VkAccelerationStructureNV handle |
VUID-vkCmdCopyAccelerationStructureNV-mode-03410 | Y | | NegativeRayTracingNV.ValidateCmdCopyAccelerationStructure | explicit | vkCmdCopyAccelerationStructureNV | mode must be VK_COPY_ACCELERATION_STRUCTURE_MODE_COMPACT_KHR or VK_COPY_ACCELERATION_STRUCTURE_MODE_CLONE_KHR |
VUID-vkCmdCopyAccelerationStructureNV-mode-parameter | Y | | NegativeRayTracingNV.ValidateCmdCopyAccelerationStructure | implicit | vkCmdCopyAccelerationStructureNV | mode must be a valid VkCopyAccelerationStructureModeKHR value |
VUID-vkCmdCopyAccelerationStructureNV-renderpass | Y | | NegativeRayTracingNV.ValidateCmdCopyAccelerationStructure | implicit | vkCmdCopyAccelerationStructureNV | This command must only be called outside of a render pass instance |
VUID-vkCmdCopyAccelerationStructureNV-src-03411 | Y | | NegativeRayTracingNV.ValidateCmdCopyAccelerationStructure | explicit | vkCmdCopyAccelerationStructureNV | If 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-04963 | Y | | NegativeRayTracingNV.ValidateCmdCopyAccelerationStructure | explicit | vkCmdCopyAccelerationStructureNV | The source acceleration structure src must have been constructed prior to the execution of this command |
VUID-vkCmdCopyAccelerationStructureNV-src-parameter | Y | | None | implicit | vkCmdCopyAccelerationStructureNV | src must be a valid VkAccelerationStructureNV handle |
VUID-vkCmdCopyAccelerationStructureNV-videocoding | Y | | None | implicit | vkCmdCopyAccelerationStructureNV | This command must only be called outside of a video coding scope |
VUID-vkCmdCopyMemoryIndirectNV-None-07653 | N | | None | explicit | vkCmdCopyMemoryIndirectNV | The indirectCopy feature must be enabled |
VUID-vkCmdCopyMemoryIndirectNV-commandBuffer-07656 | N | | None | explicit | vkCmdCopyMemoryIndirectNV | The VkCommandPool that commandBuffer was allocated from must support at least one of the VkPhysicalDeviceCopyMemoryIndirectPropertiesNV::supportedQueues |
VUID-vkCmdCopyMemoryIndirectNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdCopyMemoryIndirectNV | The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations |
VUID-vkCmdCopyMemoryIndirectNV-commandBuffer-parameter | Y | | None | implicit | vkCmdCopyMemoryIndirectNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdCopyMemoryIndirectNV-commandBuffer-recording | Y | | None | implicit | vkCmdCopyMemoryIndirectNV | commandBuffer must be in the recording state |
VUID-vkCmdCopyMemoryIndirectNV-copyBufferAddress-07654 | N | | None | explicit | vkCmdCopyMemoryIndirectNV | copyBufferAddress must be 4 byte aligned |
VUID-vkCmdCopyMemoryIndirectNV-renderpass | Y | | None | implicit | vkCmdCopyMemoryIndirectNV | This command must only be called outside of a render pass instance |
VUID-vkCmdCopyMemoryIndirectNV-stride-07655 | N | | None | explicit | vkCmdCopyMemoryIndirectNV | stride must be a multiple of 4 and must be greater than or equal to sizeof(VkCopyMemoryIndirectCommandNV) |
VUID-vkCmdCopyMemoryIndirectNV-videocoding | Y | | None | implicit | vkCmdCopyMemoryIndirectNV | This command must only be called outside of a video coding scope |
VUID-vkCmdCopyMemoryToImageIndirectNV-None-07660 | N | | None | explicit | vkCmdCopyMemoryToImageIndirectNV | The indirectCopy feature must be enabled |
VUID-vkCmdCopyMemoryToImageIndirectNV-aspectMask-07662 | N | | None | explicit | vkCmdCopyMemoryToImageIndirectNV | The aspectMask member for every subresource in pImageSubresources must only have a single bit set |
VUID-vkCmdCopyMemoryToImageIndirectNV-commandBuffer-07674 | N | | None | explicit | vkCmdCopyMemoryToImageIndirectNV | If 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-cmdpool | Y | | None | implicit | vkCmdCopyMemoryToImageIndirectNV | The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations |
VUID-vkCmdCopyMemoryToImageIndirectNV-commandBuffer-parameter | Y | | None | implicit | vkCmdCopyMemoryToImageIndirectNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdCopyMemoryToImageIndirectNV-commandBuffer-recording | Y | | None | implicit | vkCmdCopyMemoryToImageIndirectNV | commandBuffer must be in the recording state |
VUID-vkCmdCopyMemoryToImageIndirectNV-commonparent | Y | | None | implicit | vkCmdCopyMemoryToImageIndirectNV | Both of commandBuffer, and dstImage must have been created, allocated, or retrieved from the same VkDevice |
VUID-vkCmdCopyMemoryToImageIndirectNV-copyCount-arraylength | Y | | None | implicit | vkCmdCopyMemoryToImageIndirectNV | copyCount must be greater than 0 |
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07661 | N | | None | explicit | vkCmdCopyMemoryToImageIndirectNV | dstImage must not be a protected image |
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07663 | N | | None | explicit | vkCmdCopyMemoryToImageIndirectNV | The image region specified by each element in copyBufferAddress must be a region that is contained within dstImage |
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07664 | N | | None | explicit | vkCmdCopyMemoryToImageIndirectNV | dstImage must have been created with VK_IMAGE_USAGE_TRANSFER_DST_BIT usage flag |
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07665 | N | | None | explicit | vkCmdCopyMemoryToImageIndirectNV | If dstImage is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object |
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07673 | N | | None | explicit | vkCmdCopyMemoryToImageIndirectNV | dstImage must not have been created with flags containing VK_IMAGE_CREATE_SUBSAMPLED_BIT_EXT |
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-07973 | N | | None | explicit | vkCmdCopyMemoryToImageIndirectNV | dstImage must have a sample count equal to VK_SAMPLE_COUNT_1_BIT |
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImage-parameter | Y | | None | implicit | vkCmdCopyMemoryToImageIndirectNV | dstImage must be a valid VkImage handle |
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImageLayout-07667 | N | | None | explicit | vkCmdCopyMemoryToImageIndirectNV | dstImageLayout must specify the layout of the image subresources of dstImage at the time this command is executed on a VkDevice |
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImageLayout-07669 | N | | None | explicit | vkCmdCopyMemoryToImageIndirectNV | dstImageLayout must be VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, VK_IMAGE_LAYOUT_SHARED_PRESENT_KHR, or VK_IMAGE_LAYOUT_GENERAL |
VUID-vkCmdCopyMemoryToImageIndirectNV-dstImageLayout-parameter | Y | | None | implicit | vkCmdCopyMemoryToImageIndirectNV | dstImageLayout must be a valid VkImageLayout value |
VUID-vkCmdCopyMemoryToImageIndirectNV-imageOffset-07672 | N | | None | explicit | vkCmdCopyMemoryToImageIndirectNV | The 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-07675 | N | | None | explicit | vkCmdCopyMemoryToImageIndirectNV | For 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-08764 | N | | None | explicit | vkCmdCopyMemoryToImageIndirectNV | If 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-07670 | N | | None | explicit | vkCmdCopyMemoryToImageIndirectNV | The specified mipLevel of each region must be less than the mipLevels specified in VkImageCreateInfo when dstImage was created |
VUID-vkCmdCopyMemoryToImageIndirectNV-offset-07676 | N | | None | explicit | vkCmdCopyMemoryToImageIndirectNV | offset must be 4 byte aligned |
VUID-vkCmdCopyMemoryToImageIndirectNV-pImageSubresources-parameter | Y | | None | implicit | vkCmdCopyMemoryToImageIndirectNV | pImageSubresources must be a valid pointer to an array of copyCount valid VkImageSubresourceLayers structures |
VUID-vkCmdCopyMemoryToImageIndirectNV-renderpass | Y | | None | implicit | vkCmdCopyMemoryToImageIndirectNV | This command must only be called outside of a render pass instance |
VUID-vkCmdCopyMemoryToImageIndirectNV-stride-07677 | N | | None | explicit | vkCmdCopyMemoryToImageIndirectNV | stride must be a multiple of 4 and must be greater than or equal to sizeof(VkCopyMemoryToImageIndirectCommandNV) |
VUID-vkCmdCopyMemoryToImageIndirectNV-videocoding | Y | | None | implicit | vkCmdCopyMemoryToImageIndirectNV | This command must only be called outside of a video coding scope |
VUID-vkCmdCuLaunchKernelNVX-commandBuffer-cmdpool | Y | | None | implicit | vkCmdCuLaunchKernelNVX | The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations |
VUID-vkCmdCuLaunchKernelNVX-commandBuffer-parameter | Y | | None | implicit | vkCmdCuLaunchKernelNVX | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdCuLaunchKernelNVX-commandBuffer-recording | Y | | None | implicit | vkCmdCuLaunchKernelNVX | commandBuffer must be in the recording state |
VUID-vkCmdCuLaunchKernelNVX-pLaunchInfo-parameter | Y | | None | implicit | vkCmdCuLaunchKernelNVX | pLaunchInfo must be a valid pointer to a valid VkCuLaunchInfoNVX structure |
VUID-vkCmdCuLaunchKernelNVX-videocoding | Y | | None | implicit | vkCmdCuLaunchKernelNVX | This command must only be called outside of a video coding scope |
VUID-vkCmdCudaLaunchKernelNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdCudaLaunchKernelNV | The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations |
VUID-vkCmdCudaLaunchKernelNV-commandBuffer-parameter | Y | | None | implicit | vkCmdCudaLaunchKernelNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdCudaLaunchKernelNV-commandBuffer-recording | Y | | None | implicit | vkCmdCudaLaunchKernelNV | commandBuffer must be in the recording state |
VUID-vkCmdCudaLaunchKernelNV-pLaunchInfo-parameter | Y | | None | implicit | vkCmdCudaLaunchKernelNV | pLaunchInfo must be a valid pointer to a valid VkCudaLaunchInfoNV structure |
VUID-vkCmdCudaLaunchKernelNV-videocoding | Y | | None | implicit | vkCmdCudaLaunchKernelNV | This command must only be called outside of a video coding scope |
VUID-vkCmdDecompressMemoryIndirectCountNV-None-07692 | N | | None | explicit | vkCmdDecompressMemoryIndirectCountNV | The memoryDecompression feature must be enabled |
VUID-vkCmdDecompressMemoryIndirectCountNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdDecompressMemoryIndirectCountNV | The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations |
VUID-vkCmdDecompressMemoryIndirectCountNV-commandBuffer-parameter | Y | | None | implicit | vkCmdDecompressMemoryIndirectCountNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdDecompressMemoryIndirectCountNV-commandBuffer-recording | Y | | None | implicit | vkCmdDecompressMemoryIndirectCountNV | commandBuffer must be in the recording state |
VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsAddress-07693 | N | | None | explicit | vkCmdDecompressMemoryIndirectCountNV | If indirectCommandsAddress comes from a non-sparse buffer then it must be bound completely and contiguously to a single VkDeviceMemory object |
VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsAddress-07694 | N | | None | explicit | vkCmdDecompressMemoryIndirectCountNV | The VkBuffer that indirectCommandsAddress comes from must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set |
VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsCountAddress-07696 | N | | None | explicit | vkCmdDecompressMemoryIndirectCountNV | If indirectCommandsCountAddress comes from a non-sparse buffer then it must be bound completely and contiguously to a single VkDeviceMemory object |
VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsCountAddress-07697 | N | | None | explicit | vkCmdDecompressMemoryIndirectCountNV | The VkBuffer that indirectCommandsCountAddress comes from must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set |
VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsCountAddress-07698 | N | | None | explicit | vkCmdDecompressMemoryIndirectCountNV | indirectCommandsCountAddress must be a multiple of 4 |
VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsCountAddress-07699 | N | | None | explicit | vkCmdDecompressMemoryIndirectCountNV | The count stored in indirectCommandsCountAddress must be less than or equal to VkPhysicalDeviceMemoryDecompressionPropertiesNV::maxDecompressionIndirectCount |
VUID-vkCmdDecompressMemoryIndirectCountNV-indirectCommandsCountAddress-07701 | N | | None | explicit | vkCmdDecompressMemoryIndirectCountNV | If 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-07702 | N | | None | explicit | vkCmdDecompressMemoryIndirectCountNV | If 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-07695 | N | | None | explicit | vkCmdDecompressMemoryIndirectCountNV | offset must be a multiple of 4 |
VUID-vkCmdDecompressMemoryIndirectCountNV-renderpass | Y | | None | implicit | vkCmdDecompressMemoryIndirectCountNV | This command must only be called outside of a render pass instance |
VUID-vkCmdDecompressMemoryIndirectCountNV-stride-07700 | N | | None | explicit | vkCmdDecompressMemoryIndirectCountNV | stride must be a multiple of 4 and must be greater than or equal to sizeof(VkDecompressMemoryRegionNV) |
VUID-vkCmdDecompressMemoryIndirectCountNV-videocoding | Y | | None | implicit | vkCmdDecompressMemoryIndirectCountNV | This command must only be called outside of a video coding scope |
VUID-vkCmdDecompressMemoryNV-None-07684 | N | | None | explicit | vkCmdDecompressMemoryNV | The memoryDecompression feature must be enabled |
VUID-vkCmdDecompressMemoryNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdDecompressMemoryNV | The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations |
VUID-vkCmdDecompressMemoryNV-commandBuffer-parameter | Y | | None | implicit | vkCmdDecompressMemoryNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdDecompressMemoryNV-commandBuffer-recording | Y | | None | implicit | vkCmdDecompressMemoryNV | commandBuffer must be in the recording state |
VUID-vkCmdDecompressMemoryNV-decompressRegionCount-arraylength | Y | | None | implicit | vkCmdDecompressMemoryNV | decompressRegionCount must be greater than 0 |
VUID-vkCmdDecompressMemoryNV-pDecompressMemoryRegions-parameter | Y | | None | implicit | vkCmdDecompressMemoryNV | pDecompressMemoryRegions must be a valid pointer to an array of decompressRegionCount valid VkDecompressMemoryRegionNV structures |
VUID-vkCmdDecompressMemoryNV-renderpass | Y | | None | implicit | vkCmdDecompressMemoryNV | This command must only be called outside of a render pass instance |
VUID-vkCmdDecompressMemoryNV-videocoding | Y | | None | implicit | vkCmdDecompressMemoryNV | This command must only be called outside of a video coding scope |
VUID-vkCmdDispatchGraphAMDX-ConstOffset-06551 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-09188 | N | | None | explicit | vkCmdDispatchGraphAMDX | Execution 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-02691 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-02692 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-02693 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-06479 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-06550 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-07288 | N | | None | explicit | vkCmdDispatchGraphAMDX | Any shader invocation executed by this command must terminate |
VUID-vkCmdDispatchGraphAMDX-None-07888 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-08114 | N | | None | explicit | vkCmdDispatchGraphAMDX | Descriptors 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-08115 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-08116 | N | | None | explicit | vkCmdDispatchGraphAMDX | Descriptors 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-08117 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-08119 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-08600 | N | | None | explicit | vkCmdDispatchGraphAMDX | For 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-08601 | N | | None | explicit | vkCmdDispatchGraphAMDX | 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 array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility |
VUID-vkCmdDispatchGraphAMDX-None-08604 | N | | None | explicit | vkCmdDispatchGraphAMDX | Descriptors 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-08605 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-08606 | N | | None | explicit | vkCmdDispatchGraphAMDX | If the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command |
VUID-vkCmdDispatchGraphAMDX-None-08607 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-08608 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-08609 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-08610 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-08611 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-08612 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-08613 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-09600 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-06975 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-06976 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-06974 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-09215 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-09216 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-09217 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-06973 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-06971 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-06972 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-06977 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-06978 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-04469 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-08795 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-08796 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-07027 | N | | None | explicit | vkCmdDispatchGraphAMDX | For 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-07028 | N | | None | explicit | vkCmdDispatchGraphAMDX | For 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-07029 | N | | None | explicit | vkCmdDispatchGraphAMDX | For 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-07030 | N | | None | explicit | vkCmdDispatchGraphAMDX | Any 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-04470 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-04471 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-04472 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-04473 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-bufferlevel | Y | | None | implicit | vkCmdDispatchGraphAMDX | commandBuffer must be a primary VkCommandBuffer |
VUID-vkCmdDispatchGraphAMDX-commandBuffer-02707 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-09181 | N | | None | explicit | vkCmdDispatchGraphAMDX | commandBuffer must not be a protected command buffer |
VUID-vkCmdDispatchGraphAMDX-commandBuffer-09182 | N | | None | explicit | vkCmdDispatchGraphAMDX | commandBuffer must be a primary command buffer |
VUID-vkCmdDispatchGraphAMDX-commandBuffer-cmdpool | Y | | None | implicit | vkCmdDispatchGraphAMDX | The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations |
VUID-vkCmdDispatchGraphAMDX-commandBuffer-parameter | Y | | None | implicit | vkCmdDispatchGraphAMDX | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdDispatchGraphAMDX-commandBuffer-recording | Y | | None | implicit | vkCmdDispatchGraphAMDX | commandBuffer must be in the recording state |
VUID-vkCmdDispatchGraphAMDX-cubicRangeClamp-09212 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-02694 | N | | None | explicit | vkCmdDispatchGraphAMDX | Any 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-02695 | N | | None | explicit | vkCmdDispatchGraphAMDX | Any 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-02696 | N | | None | explicit | vkCmdDispatchGraphAMDX | Any 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-07753 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-09146 | N | | None | explicit | vkCmdDispatchGraphAMDX | Host 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-04553 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-09598 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-08602 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-09186 | N | | None | explicit | vkCmdDispatchGraphAMDX | Execution 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-09187 | N | | None | explicit | vkCmdDispatchGraphAMDX | Execution of this command must not cause any shader to initialize more than maxExecutionGraphShaderPayloadCount output payloads |
VUID-vkCmdDispatchGraphAMDX-mipmapMode-04770 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-09599 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-09145 | N | | None | explicit | vkCmdDispatchGraphAMDX | pCountInfo->infos must be a host pointer to a memory allocation at least as large as the product of count and stride |
VUID-vkCmdDispatchGraphAMDX-pCountInfo-09147 | N | | None | explicit | vkCmdDispatchGraphAMDX | For 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-09148 | N | | None | explicit | vkCmdDispatchGraphAMDX | For 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-09149 | N | | None | explicit | vkCmdDispatchGraphAMDX | For 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-parameter | Y | | None | implicit | vkCmdDispatchGraphAMDX | pCountInfo must be a valid pointer to a valid VkDispatchGraphCountInfoAMDX structure |
VUID-vkCmdDispatchGraphAMDX-reductionMode-09213 | N | | None | explicit | vkCmdDispatchGraphAMDX | Any 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-renderpass | Y | | None | implicit | vkCmdDispatchGraphAMDX | This command must only be called outside of a render pass instance |
VUID-vkCmdDispatchGraphAMDX-scratch-09183 | N | | None | explicit | vkCmdDispatchGraphAMDX | scratch 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-09184 | N | | None | explicit | vkCmdDispatchGraphAMDX | scratch 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-09185 | N | | None | explicit | vkCmdDispatchGraphAMDX | Device 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-09214 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-04474 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-04475 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-06936 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-06935 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-unnormalizedCoordinates-09635 | N | | None | explicit | vkCmdDispatchGraphAMDX | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's levelCount and layerCount must be 1 |
VUID-vkCmdDispatchGraphAMDX-unnormalizedCoordinates-09636 | N | | None | explicit | vkCmdDispatchGraphAMDX | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D |
VUID-vkCmdDispatchGraphAMDX-videocoding | Y | | None | implicit | vkCmdDispatchGraphAMDX | This command must only be called outside of a video coding scope |
VUID-vkCmdDispatchGraphAMDX-viewType-07752 | N | | None | explicit | vkCmdDispatchGraphAMDX | If 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-06551 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-09188 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | Execution 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-02691 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-02692 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-02693 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-06479 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-06550 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-07288 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | Any shader invocation executed by this command must terminate |
VUID-vkCmdDispatchGraphIndirectAMDX-None-07888 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-08114 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | Descriptors 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-08115 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-08116 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | Descriptors 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-08117 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-08119 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-08600 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | For 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-08601 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | 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 array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility |
VUID-vkCmdDispatchGraphIndirectAMDX-None-08604 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | Descriptors 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-08605 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-08606 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command |
VUID-vkCmdDispatchGraphIndirectAMDX-None-08607 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-08608 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-08609 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-08610 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-08611 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-08612 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-08613 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-09600 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-06975 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-06976 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-06974 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-09215 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-09216 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-09217 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-06973 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-06971 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-06972 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-06977 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-06978 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-04469 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-08795 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-08796 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-07027 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | For 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-07028 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | For 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-07029 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | For 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-07030 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | Any 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-04470 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-04471 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-04472 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-04473 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-bufferlevel | Y | | None | implicit | vkCmdDispatchGraphIndirectAMDX | commandBuffer must be a primary VkCommandBuffer |
VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-02707 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-09181 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | commandBuffer must not be a protected command buffer |
VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-09182 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | commandBuffer must be a primary command buffer |
VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-cmdpool | Y | | None | implicit | vkCmdDispatchGraphIndirectAMDX | The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations |
VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-parameter | Y | | None | implicit | vkCmdDispatchGraphIndirectAMDX | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdDispatchGraphIndirectAMDX-commandBuffer-recording | Y | | None | implicit | vkCmdDispatchGraphIndirectAMDX | commandBuffer must be in the recording state |
VUID-vkCmdDispatchGraphIndirectAMDX-cubicRangeClamp-09212 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-02694 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | Any 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-02695 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | Any 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-02696 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | Any 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-07753 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-09153 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | Device 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-04553 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-09598 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-08602 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-09186 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | Execution 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-09187 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | Execution of this command must not cause any shader to initialize more than maxExecutionGraphShaderPayloadCount output payloads |
VUID-vkCmdDispatchGraphIndirectAMDX-mipmapMode-04770 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-09599 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-09150 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | pCountInfo->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-09151 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | pCountInfo->infos must be a device address within a VkBuffer created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT flag |
VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09152 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | pCountInfo->infos must be a multiple of executionGraphDispatchAddressAlignment |
VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09154 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | For 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-09155 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | For 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-09156 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | For each VkDispatchGraphInfoAMDX structure in pCountInfo->infos, payloads must be a multiple of executionGraphDispatchAddressAlignment |
VUID-vkCmdDispatchGraphIndirectAMDX-pCountInfo-09157 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | For 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-09158 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | For 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-parameter | Y | | None | implicit | vkCmdDispatchGraphIndirectAMDX | pCountInfo must be a valid pointer to a valid VkDispatchGraphCountInfoAMDX structure |
VUID-vkCmdDispatchGraphIndirectAMDX-reductionMode-09213 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | Any 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-renderpass | Y | | None | implicit | vkCmdDispatchGraphIndirectAMDX | This command must only be called outside of a render pass instance |
VUID-vkCmdDispatchGraphIndirectAMDX-scratch-09183 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | scratch 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-09184 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | scratch 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-09185 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | Device 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-09214 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-04474 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-04475 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-06936 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-06935 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-unnormalizedCoordinates-09635 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's levelCount and layerCount must be 1 |
VUID-vkCmdDispatchGraphIndirectAMDX-unnormalizedCoordinates-09636 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D |
VUID-vkCmdDispatchGraphIndirectAMDX-videocoding | Y | | None | implicit | vkCmdDispatchGraphIndirectAMDX | This command must only be called outside of a video coding scope |
VUID-vkCmdDispatchGraphIndirectAMDX-viewType-07752 | N | | None | explicit | vkCmdDispatchGraphIndirectAMDX | If 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-06551 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-09188 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | Execution 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-02691 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-02692 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-02693 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-06479 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-06550 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-07288 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | Any shader invocation executed by this command must terminate |
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-07888 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-08114 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | Descriptors 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-08115 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-08116 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | Descriptors 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-08117 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-08119 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-08600 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | For 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-08601 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | 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 array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility |
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08604 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | Descriptors 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-08605 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-08606 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command |
VUID-vkCmdDispatchGraphIndirectCountAMDX-None-08607 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-08608 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-08609 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-08610 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-08611 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-08612 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-08613 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-09600 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-06975 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-06976 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-06974 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-09215 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-09216 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-09217 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-06973 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-06971 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-06972 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-06977 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-06978 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-04469 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-08795 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-08796 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-07027 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | For 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-07028 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | For 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-07029 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | For 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-07030 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | Any 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-04470 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-04471 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-04472 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-04473 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-bufferlevel | Y | | None | implicit | vkCmdDispatchGraphIndirectCountAMDX | commandBuffer must be a primary VkCommandBuffer |
VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-02707 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-09181 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | commandBuffer must not be a protected command buffer |
VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-09182 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | commandBuffer must be a primary command buffer |
VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-cmdpool | Y | | None | implicit | vkCmdDispatchGraphIndirectCountAMDX | The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations |
VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-parameter | Y | | None | implicit | vkCmdDispatchGraphIndirectCountAMDX | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdDispatchGraphIndirectCountAMDX-commandBuffer-recording | Y | | None | implicit | vkCmdDispatchGraphIndirectCountAMDX | commandBuffer must be in the recording state |
VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09159 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | countInfo 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-09160 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | countInfo must be a device address within a VkBuffer created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT flag |
VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09161 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | countInfo must be a multiple of executionGraphDispatchAddressAlignment |
VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09162 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | countInfo->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-09163 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | countInfo->infos must be a device address within a VkBuffer created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT flag |
VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09164 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | countInfo->infos must be a multiple of executionGraphDispatchAddressAlignment |
VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09166 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | For 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-09167 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | For 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-09168 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | For each VkDispatchGraphInfoAMDX structure in countInfo->infos, payloads must be a multiple of executionGraphDispatchAddressAlignment |
VUID-vkCmdDispatchGraphIndirectCountAMDX-countInfo-09169 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | For 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-09170 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | For 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-09212 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-02694 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | Any 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-02695 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | Any 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-02696 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | Any 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-07753 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-09165 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | Device 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-04553 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-09598 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-08602 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-09186 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | Execution 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-09187 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | Execution of this command must not cause any shader to initialize more than maxExecutionGraphShaderPayloadCount output payloads |
VUID-vkCmdDispatchGraphIndirectCountAMDX-mipmapMode-04770 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-09599 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-09213 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | Any 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-renderpass | Y | | None | implicit | vkCmdDispatchGraphIndirectCountAMDX | This command must only be called outside of a render pass instance |
VUID-vkCmdDispatchGraphIndirectCountAMDX-scratch-09183 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | scratch 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-09184 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | scratch 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-09185 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | Device 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-09214 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-04474 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-04475 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-06936 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-06935 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-unnormalizedCoordinates-09635 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's levelCount and layerCount must be 1 |
VUID-vkCmdDispatchGraphIndirectCountAMDX-unnormalizedCoordinates-09636 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D |
VUID-vkCmdDispatchGraphIndirectCountAMDX-videocoding | Y | | None | implicit | vkCmdDispatchGraphIndirectCountAMDX | This command must only be called outside of a video coding scope |
VUID-vkCmdDispatchGraphIndirectCountAMDX-viewType-07752 | N | | None | explicit | vkCmdDispatchGraphIndirectCountAMDX | If 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-07823 | N | | None | explicit | vkCmdDrawClusterHUAWEI | The current pipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS must contain a shader stage using the ClusterCullingHUAWEI Execution Model |
VUID-vkCmdDrawClusterHUAWEI-ConstOffset-06551 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09597 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-02691 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-02692 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-02693 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04876 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04877 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06479 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06537 | N | | None | explicit | vkCmdDrawClusterHUAWEI | Memory 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-06539 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06550 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06666 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06886 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06887 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07074 | N | | None | explicit | vkCmdDrawClusterHUAWEI | Transform Feedback Queries must not be active |
VUID-vkCmdDrawClusterHUAWEI-None-07075 | N | | None | explicit | vkCmdDrawClusterHUAWEI | Primitives Generated Queries must not be active |
VUID-vkCmdDrawClusterHUAWEI-None-07288 | N | | None | explicit | vkCmdDrawClusterHUAWEI | Any shader invocation executed by this command must terminate |
VUID-vkCmdDrawClusterHUAWEI-None-07469 | N | | None | explicit | vkCmdDrawClusterHUAWEI | Input 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-07619 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07620 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07621 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07622 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07623 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07624 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07625 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07626 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07627 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07628 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07629 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07630 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07631 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07632 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07633 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07634 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07635 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07636 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07637 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07638 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07639 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07640 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07641 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07642 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07643 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07644 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07645 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07646 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07647 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07648 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07649 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07748 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If any shader statically accesses an input attachment, a valid descriptor must be bound to the pipeline via a descriptor set |
VUID-vkCmdDrawClusterHUAWEI-None-07749 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07751 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07819 | N | | None | explicit | vkCmdDrawClusterHUAWEI | The 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-07831 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07832 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07833 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07834 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07835 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07836 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07837 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07838 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07839 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07840 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07841 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07843 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07844 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07845 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07846 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07847 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07848 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07849 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07850 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command |
VUID-vkCmdDrawClusterHUAWEI-None-07878 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07879 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07880 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07881 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07888 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08114 | N | | None | explicit | vkCmdDrawClusterHUAWEI | Descriptors 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-08115 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08116 | N | | None | explicit | vkCmdDrawClusterHUAWEI | Descriptors 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-08117 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08119 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08600 | N | | None | explicit | vkCmdDrawClusterHUAWEI | For 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-08601 | N | | None | explicit | vkCmdDrawClusterHUAWEI | 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 array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility |
VUID-vkCmdDrawClusterHUAWEI-None-08604 | N | | None | explicit | vkCmdDrawClusterHUAWEI | Descriptors 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-08605 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08606 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command |
VUID-vkCmdDrawClusterHUAWEI-None-08607 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08608 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08609 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08610 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08611 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08612 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08613 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08617 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08618 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08619 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08620 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08621 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08622 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08623 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08624 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08625 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08626 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08627 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08628 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08629 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08630 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08631 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08632 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08633 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08634 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08635 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08636 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08637 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08638 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08639 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08640 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08641 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08643 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08644 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08646 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08647 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08648 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08649 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08650 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08651 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08652 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08653 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08654 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08655 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08656 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08657 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08658 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08659 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08660 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08661 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08662 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08663 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08664 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08665 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08666 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08667 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08668 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08669 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08670 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08671 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08672 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08673 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08674 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08675 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08676 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08677 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08678 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08679 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08680 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08681 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08682 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08683 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08684 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08685 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08686 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08687 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08688 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08689 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08690 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08693 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08694 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08695 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08696 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08698 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08699 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08876 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If a shader object is bound to any graphics stage, the current render pass instance must have been begun with vkCmdBeginRendering |
VUID-vkCmdDrawClusterHUAWEI-None-08877 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08878 | N | | None | explicit | vkCmdDrawClusterHUAWEI | All bound graphics shader objects must have been created with identical or identically defined push constant ranges |
VUID-vkCmdDrawClusterHUAWEI-None-08879 | N | | None | explicit | vkCmdDrawClusterHUAWEI | All bound graphics shader objects must have been created with identical or identically defined arrays of descriptor set layouts |
VUID-vkCmdDrawClusterHUAWEI-None-08880 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09000 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09001 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09002 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09003 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09116 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09211 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09232 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09237 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09363 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09364 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09365 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09366 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09368 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09369 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09548 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09549 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09600 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-None-09642 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If the current render pass was begun with vkCmdBeginRendering with the VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT flag, the bound graphics pipeline must have been created with VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT |
VUID-vkCmdDrawClusterHUAWEI-None-09643 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If the bound graphics pipeline was created with VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT, the current render pass must have begun with vkCmdBeginRendering with the VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT flag |
VUID-vkCmdDrawClusterHUAWEI-OpImageBlockMatchSADQCOM-06975 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06976 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06974 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09215 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09216 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09217 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06973 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06971 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06972 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06977 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06978 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04469 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08795 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08796 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07027 | N | | None | explicit | vkCmdDrawClusterHUAWEI | For 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-07028 | N | | None | explicit | vkCmdDrawClusterHUAWEI | For 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-07029 | N | | None | explicit | vkCmdDrawClusterHUAWEI | For 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-07030 | N | | None | explicit | vkCmdDrawClusterHUAWEI | Any 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-07468 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04470 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04471 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04472 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04473 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04141 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04142 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07480 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08919 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08920 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07750 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04727 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06179 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06185 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09362 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09372 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-02707 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-cmdpool | Y | | None | implicit | vkCmdDrawClusterHUAWEI | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdDrawClusterHUAWEI-commandBuffer-parameter | Y | | None | implicit | vkCmdDrawClusterHUAWEI | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdDrawClusterHUAWEI-commandBuffer-recording | Y | | None | implicit | vkCmdDrawClusterHUAWEI | commandBuffer must be in the recording state |
VUID-vkCmdDrawClusterHUAWEI-conservativePointAndLineRasterization-07499 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07488 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07491 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07490 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09212 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08910 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08911 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08912 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08913 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08914 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08915 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08916 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08917 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08918 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09235 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-02694 | N | | None | explicit | vkCmdDrawClusterHUAWEI | Any 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-02695 | N | | None | explicit | vkCmdDrawClusterHUAWEI | Any 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-07476 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07477 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07478 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07479 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-02696 | N | | None | explicit | vkCmdDrawClusterHUAWEI | Any 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-07753 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07820 | N | | None | explicit | vkCmdDrawClusterHUAWEI | groupCountX must be less than or equal to VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI::maxWorkGroupCount[0] |
VUID-vkCmdDrawClusterHUAWEI-groupCountY-07821 | N | | None | explicit | vkCmdDrawClusterHUAWEI | groupCountY must be less than or equal to VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI::maxWorkGroupCount[1] |
VUID-vkCmdDrawClusterHUAWEI-groupCountZ-07822 | N | | None | explicit | vkCmdDrawClusterHUAWEI | groupCountZ must be less than or equal to VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI::maxWorkGroupCount[2] |
VUID-vkCmdDrawClusterHUAWEI-imageView-06172 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06173 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06174 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06175 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06176 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06177 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06183 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06184 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04878 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04553 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09598 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08602 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09239 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-02688 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04770 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09599 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07284 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07285 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07286 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07287 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08963 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07470 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06186 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08964 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09595 | N | | None | explicit | vkCmdDrawClusterHUAWEI | Input 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-09596 | N | | None | explicit | vkCmdDrawClusterHUAWEI | Input 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-08715 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08716 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09370 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09371 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07935 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06187 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08965 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09238 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07076 | N | | None | explicit | vkCmdDrawClusterHUAWEI | The 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-04552 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-08642 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06709 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07481 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06708 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07471 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07474 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07489 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07494 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09367 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09236 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09416 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09417 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09418 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09419 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09420 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09213 | N | | None | explicit | vkCmdDrawClusterHUAWEI | Any 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-02684 | N | | None | explicit | vkCmdDrawClusterHUAWEI | The 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-06198 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-renderpass | Y | | None | implicit | vkCmdDrawClusterHUAWEI | This command must only be called inside of a render pass instance |
VUID-vkCmdDrawClusterHUAWEI-sampleLocationsEnable-02689 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07484 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07485 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07486 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07487 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07936 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07937 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07938 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07482 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07483 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07472 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07473 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-03418 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09214 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09233 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09234 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04474 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04475 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06480 | N | | None | explicit | vkCmdDrawClusterHUAWEI | The 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-07073 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07495 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07496 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07497 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07498 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-06936 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-02685 | N | | None | explicit | vkCmdDrawClusterHUAWEI | The 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-06935 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-unnormalizedCoordinates-09635 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's levelCount and layerCount must be 1 |
VUID-vkCmdDrawClusterHUAWEI-unnormalizedCoordinates-09636 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D |
VUID-vkCmdDrawClusterHUAWEI-videocoding | Y | | None | implicit | vkCmdDrawClusterHUAWEI | This command must only be called outside of a video coding scope |
VUID-vkCmdDrawClusterHUAWEI-viewMask-06178 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07752 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-03417 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-03419 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04137 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04138 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04139 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-04140 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07492 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07493 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-09421 | N | | None | explicit | vkCmdDrawClusterHUAWEI | If 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-07824 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | The current pipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS must contain a shader stage using the ClusterCullingHUAWEI Execution Model. |
VUID-vkCmdDrawClusterIndirectHUAWEI-ConstOffset-06551 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09597 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-02691 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-02692 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-02693 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04876 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04877 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06479 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06537 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | Memory 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-06539 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06550 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06666 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06886 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06887 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07074 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | Transform Feedback Queries must not be active |
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07075 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | Primitives Generated Queries must not be active |
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07288 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | Any shader invocation executed by this command must terminate |
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07469 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | Input 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-07619 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07620 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07621 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07622 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07623 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07624 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07625 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07626 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07627 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07628 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07629 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07630 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07631 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07632 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07633 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07634 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07635 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07636 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07637 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07638 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07639 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07640 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07641 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07642 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07643 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07644 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07645 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07646 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07647 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07648 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07649 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07748 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If any shader statically accesses an input attachment, a valid descriptor must be bound to the pipeline via a descriptor set |
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07749 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07751 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07831 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07832 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07833 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07834 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07835 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07836 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07837 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07838 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07839 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07840 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07841 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07843 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07844 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07845 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07846 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07847 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07848 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07849 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07850 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command |
VUID-vkCmdDrawClusterIndirectHUAWEI-None-07878 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07879 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07880 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07881 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07888 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08114 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | Descriptors 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-08115 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08116 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | Descriptors 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-08117 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08119 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08600 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | For 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-08601 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | 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 array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility |
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08604 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | Descriptors 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-08605 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08606 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command |
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08607 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08608 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08609 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08610 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08611 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08612 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08613 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08617 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08618 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08619 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08620 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08621 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08622 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08623 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08624 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08625 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08626 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08627 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08628 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08629 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08630 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08631 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08632 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08633 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08634 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08635 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08636 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08637 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08638 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08639 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08640 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08641 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08643 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08644 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08646 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08647 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08648 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08649 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08650 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08651 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08652 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08653 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08654 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08655 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08656 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08657 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08658 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08659 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08660 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08661 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08662 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08663 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08664 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08665 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08666 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08667 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08668 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08669 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08670 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08671 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08672 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08673 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08674 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08675 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08676 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08677 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08678 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08679 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08680 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08681 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08682 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08683 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08684 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08685 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08686 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08687 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08688 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08689 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08690 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08693 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08694 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08695 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08696 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08698 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08699 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08876 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If a shader object is bound to any graphics stage, the current render pass instance must have been begun with vkCmdBeginRendering |
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08877 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08878 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | All bound graphics shader objects must have been created with identical or identically defined push constant ranges |
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08879 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | All bound graphics shader objects must have been created with identical or identically defined arrays of descriptor set layouts |
VUID-vkCmdDrawClusterIndirectHUAWEI-None-08880 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09000 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09001 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09002 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09003 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09116 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09211 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09232 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09237 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09363 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09364 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09365 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09366 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09368 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09369 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09548 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09549 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09600 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-None-09642 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If the current render pass was begun with vkCmdBeginRendering with the VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT flag, the bound graphics pipeline must have been created with VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT |
VUID-vkCmdDrawClusterIndirectHUAWEI-None-09643 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If the bound graphics pipeline was created with VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT, the current render pass must have begun with vkCmdBeginRendering with the VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT flag |
VUID-vkCmdDrawClusterIndirectHUAWEI-OpImageBlockMatchSADQCOM-06975 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06976 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06974 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09215 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09216 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09217 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06973 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06971 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06972 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06977 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06978 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04469 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08795 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08796 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07027 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | For 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-07028 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | For 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-07029 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | For 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-07030 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | Any 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-07468 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04470 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04471 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04472 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04473 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04141 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04142 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07480 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08919 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08920 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07750 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04727 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-parameter | Y | | None | implicit | vkCmdDrawClusterIndirectHUAWEI | buffer must be a valid VkBuffer handle |
VUID-vkCmdDrawClusterIndirectHUAWEI-colorAttachmentCount-06179 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06185 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09362 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09372 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-02707 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-cmdpool | Y | | None | implicit | vkCmdDrawClusterIndirectHUAWEI | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdDrawClusterIndirectHUAWEI-commandBuffer-parameter | Y | | None | implicit | vkCmdDrawClusterIndirectHUAWEI | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdDrawClusterIndirectHUAWEI-commandBuffer-recording | Y | | None | implicit | vkCmdDrawClusterIndirectHUAWEI | commandBuffer must be in the recording state |
VUID-vkCmdDrawClusterIndirectHUAWEI-commonparent | Y | | None | implicit | vkCmdDrawClusterIndirectHUAWEI | Both of buffer, and commandBuffer must have been created, allocated, or retrieved from the same VkDevice |
VUID-vkCmdDrawClusterIndirectHUAWEI-conservativePointAndLineRasterization-07499 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07488 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07491 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07490 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09212 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-02718 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If the multiDrawIndirect feature is not enabled, drawCount must be 0 or 1 |
VUID-vkCmdDrawClusterIndirectHUAWEI-drawCount-02719 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | drawCount must be less than or equal to VkPhysicalDeviceLimits::maxDrawIndirectCount |
VUID-vkCmdDrawClusterIndirectHUAWEI-dynamicRenderingUnusedAttachments-08910 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08911 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08912 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08913 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08914 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08915 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08916 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08917 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08918 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09235 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-02694 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | Any 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-02695 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | Any 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-07476 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07477 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07478 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07479 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-02696 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | Any 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-07753 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06172 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06173 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06174 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06175 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06176 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06177 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06183 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06184 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04878 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04553 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09598 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08602 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09239 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-02688 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04770 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09599 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07284 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07285 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07286 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07287 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07918 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | offset must be a multiple of VkPhysicalDeviceClusterCullingShaderPropertiesHUAWEI::indirectBufferOffsetAlignment |
VUID-vkCmdDrawClusterIndirectHUAWEI-pColorAttachments-08963 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07470 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06186 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08964 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09595 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | Input 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-09596 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | Input 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-08715 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08716 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09370 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09371 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07935 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06187 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08965 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09238 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07076 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | The 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-04552 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-08642 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06709 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07481 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06708 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07471 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07474 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07489 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07494 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09367 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09236 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09416 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09417 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09418 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09419 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09420 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09213 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | Any 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-02684 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | The 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-06198 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-renderpass | Y | | None | implicit | vkCmdDrawClusterIndirectHUAWEI | This command must only be called inside of a render pass instance |
VUID-vkCmdDrawClusterIndirectHUAWEI-sampleLocationsEnable-02689 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07484 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07485 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07486 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07487 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07936 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07937 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07938 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07482 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07483 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07472 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07473 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-03418 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09214 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09233 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09234 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04474 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04475 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06480 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | The 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-07073 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07495 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07496 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07497 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07498 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06936 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-02685 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | The 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-06935 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-unnormalizedCoordinates-09635 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's levelCount and layerCount must be 1 |
VUID-vkCmdDrawClusterIndirectHUAWEI-unnormalizedCoordinates-09636 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D |
VUID-vkCmdDrawClusterIndirectHUAWEI-videocoding | Y | | None | implicit | vkCmdDrawClusterIndirectHUAWEI | This command must only be called outside of a video coding scope |
VUID-vkCmdDrawClusterIndirectHUAWEI-viewMask-06178 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07752 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-03417 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-03419 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04137 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04138 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04139 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-04140 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07492 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-07493 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-09421 | N | | None | explicit | vkCmdDrawClusterIndirectHUAWEI | If 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-06551 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09597 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07082 | Y | | NegativeMesh.DrawCmdsNV | explicit | vkCmdDrawMeshTasksIndirectCountNV | The current pipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS must contain a shader stage using the MeshNV Execution Model |
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-02691 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-02692 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-02693 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04445 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If drawIndirectCount is not enabled this function must not be used |
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-04876 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04877 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06479 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06537 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | Memory 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-06539 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06550 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06666 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06886 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06887 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07074 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | Transform Feedback Queries must not be active |
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07075 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | Primitives Generated Queries must not be active |
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07288 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | Any shader invocation executed by this command must terminate |
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07469 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | Input 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-07619 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07620 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07621 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07622 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07623 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07624 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07625 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07626 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07627 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07628 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07629 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07630 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07631 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07632 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07633 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07634 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07635 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07636 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07637 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07638 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07639 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07640 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07641 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07642 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07643 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07644 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07645 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07646 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07647 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07648 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07649 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07748 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If any shader statically accesses an input attachment, a valid descriptor must be bound to the pipeline via a descriptor set |
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07749 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07751 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07831 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07832 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07833 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07834 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07835 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07836 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07837 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07838 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07839 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07840 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07841 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07843 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07844 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07845 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07846 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07847 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07848 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07849 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07850 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command |
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-07878 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07879 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07880 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07881 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07888 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08114 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | Descriptors 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-08115 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08116 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | Descriptors 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-08117 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08119 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08600 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | For 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-08601 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | 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 array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility |
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08604 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | Descriptors 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-08605 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08606 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command |
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08607 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08608 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08609 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08610 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08611 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08612 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08613 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08617 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08618 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08619 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08620 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08621 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08622 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08623 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08624 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08625 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08626 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08627 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08628 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08629 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08630 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08631 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08632 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08633 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08634 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08635 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08636 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08637 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08638 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08639 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08640 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08641 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08643 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08644 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08646 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08647 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08648 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08649 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08650 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08651 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08652 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08653 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08654 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08655 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08656 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08657 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08658 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08659 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08660 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08661 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08662 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08663 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08664 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08665 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08666 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08667 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08668 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08669 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08670 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08671 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08672 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08673 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08674 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08675 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08676 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08677 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08678 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08679 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08680 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08681 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08682 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08683 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08684 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08685 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08686 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08687 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08688 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08689 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08690 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08693 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08694 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08695 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08696 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08698 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08699 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08876 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If a shader object is bound to any graphics stage, the current render pass instance must have been begun with vkCmdBeginRendering |
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08877 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08878 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | All bound graphics shader objects must have been created with identical or identically defined push constant ranges |
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08879 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | All bound graphics shader objects must have been created with identical or identically defined arrays of descriptor set layouts |
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-08880 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09000 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09001 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09002 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09003 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09116 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09211 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09232 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09237 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09363 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09364 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09365 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09366 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09368 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09369 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09548 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09549 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09600 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-None-09642 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If the current render pass was begun with vkCmdBeginRendering with the VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT flag, the bound graphics pipeline must have been created with VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT |
VUID-vkCmdDrawMeshTasksIndirectCountNV-None-09643 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If the bound graphics pipeline was created with VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT, the current render pass must have begun with vkCmdBeginRendering with the VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT flag |
VUID-vkCmdDrawMeshTasksIndirectCountNV-OpImageBlockMatchSADQCOM-06975 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06976 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06974 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09215 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09216 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09217 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06973 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06971 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06972 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06977 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06978 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04469 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08795 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08796 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07027 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | For 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-07028 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | For 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-07029 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | For 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-07030 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | Any 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-07468 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04470 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04471 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04472 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04473 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04141 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04142 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07480 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08919 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08920 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07750 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04727 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-02708 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If buffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object |
VUID-vkCmdDrawMeshTasksIndirectCountNV-buffer-02709 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | buffer must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set |
VUID-vkCmdDrawMeshTasksIndirectCountNV-buffer-parameter | Y | | None | implicit | vkCmdDrawMeshTasksIndirectCountNV | buffer must be a valid VkBuffer handle |
VUID-vkCmdDrawMeshTasksIndirectCountNV-colorAttachmentCount-06179 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06185 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09362 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09372 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-02707 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-02711 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | commandBuffer must not be a protected command buffer |
VUID-vkCmdDrawMeshTasksIndirectCountNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdDrawMeshTasksIndirectCountNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdDrawMeshTasksIndirectCountNV-commandBuffer-parameter | Y | | None | implicit | vkCmdDrawMeshTasksIndirectCountNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdDrawMeshTasksIndirectCountNV-commandBuffer-recording | Y | | None | implicit | vkCmdDrawMeshTasksIndirectCountNV | commandBuffer must be in the recording state |
VUID-vkCmdDrawMeshTasksIndirectCountNV-commonparent | Y | | None | implicit | vkCmdDrawMeshTasksIndirectCountNV | Each of buffer, commandBuffer, and countBuffer must have been created, allocated, or retrieved from the same VkDevice |
VUID-vkCmdDrawMeshTasksIndirectCountNV-conservativePointAndLineRasterization-07499 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-02191 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-02192 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-02714 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If countBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object |
VUID-vkCmdDrawMeshTasksIndirectCountNV-countBuffer-02715 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | countBuffer must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set |
VUID-vkCmdDrawMeshTasksIndirectCountNV-countBuffer-02717 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | The count stored in countBuffer must be less than or equal to VkPhysicalDeviceLimits::maxDrawIndirectCount |
VUID-vkCmdDrawMeshTasksIndirectCountNV-countBuffer-parameter | Y | | None | implicit | vkCmdDrawMeshTasksIndirectCountNV | countBuffer must be a valid VkBuffer handle |
VUID-vkCmdDrawMeshTasksIndirectCountNV-countBufferOffset-02716 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | countBufferOffset must be a multiple of 4 |
VUID-vkCmdDrawMeshTasksIndirectCountNV-countBufferOffset-04129 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | (countBufferOffset + sizeof(uint32_t)) must be less than or equal to the size of countBuffer |
VUID-vkCmdDrawMeshTasksIndirectCountNV-coverageModulationTableEnable-07488 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07491 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07490 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09212 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08910 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08911 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08912 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08913 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08914 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08915 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08916 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08917 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08918 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09235 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-02694 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | Any 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-02695 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | Any 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-07476 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07477 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07478 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07479 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-02696 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | Any 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-07753 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06172 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06173 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06174 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06175 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06176 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06177 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06183 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06184 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04878 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04553 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09598 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08602 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-02183 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09239 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-02688 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04770 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09599 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07284 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07285 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07286 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07287 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-02710 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | offset must be a multiple of 4 |
VUID-vkCmdDrawMeshTasksIndirectCountNV-pColorAttachments-08963 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07470 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06186 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08964 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09595 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | Input 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-09596 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | Input 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-08715 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08716 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09370 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09371 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07935 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06187 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08965 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09238 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07076 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | The 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-04552 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-08642 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06709 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07481 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06708 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07471 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07474 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07489 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07494 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09367 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09236 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09416 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09417 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09418 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09419 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09420 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09213 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | Any 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-02684 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | The 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-06198 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-renderpass | Y | | None | implicit | vkCmdDrawMeshTasksIndirectCountNV | This command must only be called inside of a render pass instance |
VUID-vkCmdDrawMeshTasksIndirectCountNV-sampleLocationsEnable-02689 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07484 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07485 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07486 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07487 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07936 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07937 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07938 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07482 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07483 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07472 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07473 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-03418 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09214 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09233 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09234 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04474 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04475 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06480 | Y | | NegativeMesh.DrawCmdsNV | explicit | vkCmdDrawMeshTasksIndirectCountNV | The 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-07073 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07495 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07496 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07497 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07498 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06936 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-02182 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | stride must be a multiple of 4 and must be greater than or equal to sizeof(VkDrawMeshTasksIndirectCommandNV) |
VUID-vkCmdDrawMeshTasksIndirectCountNV-subpass-02685 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | The 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-06935 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-unnormalizedCoordinates-09635 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's levelCount and layerCount must be 1 |
VUID-vkCmdDrawMeshTasksIndirectCountNV-unnormalizedCoordinates-09636 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D |
VUID-vkCmdDrawMeshTasksIndirectCountNV-videocoding | Y | | None | implicit | vkCmdDrawMeshTasksIndirectCountNV | This command must only be called outside of a video coding scope |
VUID-vkCmdDrawMeshTasksIndirectCountNV-viewMask-06178 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07752 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-03417 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-03419 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04137 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04138 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04139 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-04140 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07492 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-07493 | N | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-09421 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectCountNV | If 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-06551 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09597 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07081 | Y | | NegativeMesh.DrawCmdsNV | explicit | vkCmdDrawMeshTasksIndirectNV | The current pipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS must contain a shader stage using the MeshNV Execution Model |
VUID-vkCmdDrawMeshTasksIndirectNV-None-02691 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-02692 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-02693 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04876 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04877 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06479 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06537 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | Memory 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-06539 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06550 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06666 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06886 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06887 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07074 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | Transform Feedback Queries must not be active |
VUID-vkCmdDrawMeshTasksIndirectNV-None-07075 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | Primitives Generated Queries must not be active |
VUID-vkCmdDrawMeshTasksIndirectNV-None-07288 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | Any shader invocation executed by this command must terminate |
VUID-vkCmdDrawMeshTasksIndirectNV-None-07469 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | Input 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-07619 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07620 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07621 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07622 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07623 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07624 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07625 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07626 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07627 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07628 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07629 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07630 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07631 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07632 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07633 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07634 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07635 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07636 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07637 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07638 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07639 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07640 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07641 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07642 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07643 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07644 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07645 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07646 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07647 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07648 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07649 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07748 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If any shader statically accesses an input attachment, a valid descriptor must be bound to the pipeline via a descriptor set |
VUID-vkCmdDrawMeshTasksIndirectNV-None-07749 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07751 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07831 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07832 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07833 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07834 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07835 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07836 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07837 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07838 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07839 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07840 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07841 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07843 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07844 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07845 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07846 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07847 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07848 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07849 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07850 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command |
VUID-vkCmdDrawMeshTasksIndirectNV-None-07878 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07879 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07880 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07881 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07888 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08114 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | Descriptors 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-08115 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08116 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | Descriptors 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-08117 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08119 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08600 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | For 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-08601 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | 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 array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility |
VUID-vkCmdDrawMeshTasksIndirectNV-None-08604 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | Descriptors 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-08605 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08606 | Y | | NegativeMesh.BasicUsageNV | explicit | vkCmdDrawMeshTasksIndirectNV | If the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command |
VUID-vkCmdDrawMeshTasksIndirectNV-None-08607 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08608 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08609 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08610 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08611 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08612 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08613 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08617 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08618 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08619 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08620 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08621 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08622 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08623 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08624 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08625 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08626 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08627 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08628 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08629 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08630 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08631 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08632 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08633 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08634 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08635 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08636 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08637 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08638 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08639 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08640 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08641 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08643 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08644 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08646 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08647 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08648 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08649 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08650 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08651 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08652 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08653 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08654 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08655 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08656 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08657 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08658 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08659 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08660 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08661 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08662 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08663 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08664 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08665 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08666 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08667 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08668 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08669 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08670 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08671 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08672 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08673 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08674 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08675 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08676 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08677 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08678 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08679 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08680 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08681 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08682 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08683 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08684 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08685 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08686 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08687 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08688 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08689 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08690 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08693 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08694 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08695 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08696 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08698 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08699 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08876 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If a shader object is bound to any graphics stage, the current render pass instance must have been begun with vkCmdBeginRendering |
VUID-vkCmdDrawMeshTasksIndirectNV-None-08877 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08878 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | All bound graphics shader objects must have been created with identical or identically defined push constant ranges |
VUID-vkCmdDrawMeshTasksIndirectNV-None-08879 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | All bound graphics shader objects must have been created with identical or identically defined arrays of descriptor set layouts |
VUID-vkCmdDrawMeshTasksIndirectNV-None-08880 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09000 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09001 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09002 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09003 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09116 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09211 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09232 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09237 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09363 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09364 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09365 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09366 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09368 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09369 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09548 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09549 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09600 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-None-09642 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If the current render pass was begun with vkCmdBeginRendering with the VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT flag, the bound graphics pipeline must have been created with VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT |
VUID-vkCmdDrawMeshTasksIndirectNV-None-09643 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If the bound graphics pipeline was created with VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT, the current render pass must have begun with vkCmdBeginRendering with the VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT flag |
VUID-vkCmdDrawMeshTasksIndirectNV-OpImageBlockMatchSADQCOM-06975 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06976 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06974 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09215 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09216 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09217 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06973 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06971 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06972 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06977 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06978 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04469 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08795 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08796 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07027 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | For 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-07028 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | For 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-07029 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | For 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-07030 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | Any 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-07468 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04470 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04471 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04472 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04473 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04141 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04142 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07480 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08919 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08920 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07750 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04727 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-02708 | Y | | NegativeMesh.BasicUsageNV | explicit | vkCmdDrawMeshTasksIndirectNV | If buffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object |
VUID-vkCmdDrawMeshTasksIndirectNV-buffer-02709 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | buffer must have been created with the VK_BUFFER_USAGE_INDIRECT_BUFFER_BIT bit set |
VUID-vkCmdDrawMeshTasksIndirectNV-buffer-parameter | Y | | None | implicit | vkCmdDrawMeshTasksIndirectNV | buffer must be a valid VkBuffer handle |
VUID-vkCmdDrawMeshTasksIndirectNV-colorAttachmentCount-06179 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06185 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09362 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09372 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-02707 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-02711 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | commandBuffer must not be a protected command buffer |
VUID-vkCmdDrawMeshTasksIndirectNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdDrawMeshTasksIndirectNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdDrawMeshTasksIndirectNV-commandBuffer-parameter | Y | | None | implicit | vkCmdDrawMeshTasksIndirectNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdDrawMeshTasksIndirectNV-commandBuffer-recording | Y | | None | implicit | vkCmdDrawMeshTasksIndirectNV | commandBuffer must be in the recording state |
VUID-vkCmdDrawMeshTasksIndirectNV-commonparent | Y | | None | implicit | vkCmdDrawMeshTasksIndirectNV | Both of buffer, and commandBuffer must have been created, allocated, or retrieved from the same VkDevice |
VUID-vkCmdDrawMeshTasksIndirectNV-conservativePointAndLineRasterization-07499 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07488 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07491 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07490 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09212 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-02146 | Y | | NegativeMesh.BasicUsageNV | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-02156 | Y | | NegativeMesh.DrawCmdsNV | explicit | vkCmdDrawMeshTasksIndirectNV | If drawCount is equal to 1, (offset + sizeof(VkDrawMeshTasksIndirectCommandNV)) must be less than or equal to the size of buffer |
VUID-vkCmdDrawMeshTasksIndirectNV-drawCount-02157 | Y | | NegativeMesh.BasicUsageNV | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-02718 | Y | | NegativeMesh.BasicUsageNV | explicit | vkCmdDrawMeshTasksIndirectNV | If the multiDrawIndirect feature is not enabled, drawCount must be 0 or 1 |
VUID-vkCmdDrawMeshTasksIndirectNV-drawCount-02719 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | drawCount must be less than or equal to VkPhysicalDeviceLimits::maxDrawIndirectCount |
VUID-vkCmdDrawMeshTasksIndirectNV-dynamicRenderingUnusedAttachments-08910 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08911 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08912 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08913 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08914 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08915 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08916 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08917 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08918 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09235 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-02694 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | Any 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-02695 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | Any 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-07476 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07477 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07478 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07479 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-02696 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | Any 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-07753 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06172 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06173 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06174 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06175 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06176 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06177 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06183 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06184 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04878 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04553 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09598 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08602 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09239 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-02688 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04770 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09599 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07284 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07285 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07286 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07287 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-02710 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | offset must be a multiple of 4 |
VUID-vkCmdDrawMeshTasksIndirectNV-pColorAttachments-08963 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07470 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06186 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08964 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09595 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | Input 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-09596 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | Input 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-08715 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08716 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09370 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09371 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07935 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06187 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08965 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09238 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07076 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | The 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-04552 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-08642 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06709 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07481 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06708 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07471 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07474 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07489 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07494 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09367 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09236 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09416 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09417 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09418 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09419 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09420 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09213 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | Any 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-02684 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | The 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-06198 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-renderpass | Y | | None | implicit | vkCmdDrawMeshTasksIndirectNV | This command must only be called inside of a render pass instance |
VUID-vkCmdDrawMeshTasksIndirectNV-sampleLocationsEnable-02689 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07484 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07485 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07486 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07487 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07936 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07937 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07938 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07482 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07483 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07472 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07473 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-03418 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09214 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09233 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09234 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04474 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04475 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06480 | Y | | NegativeMesh.DrawCmdsNV | explicit | vkCmdDrawMeshTasksIndirectNV | The 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-07073 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07495 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07496 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07497 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07498 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06936 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-02685 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | The 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-06935 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-unnormalizedCoordinates-09635 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's levelCount and layerCount must be 1 |
VUID-vkCmdDrawMeshTasksIndirectNV-unnormalizedCoordinates-09636 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D |
VUID-vkCmdDrawMeshTasksIndirectNV-videocoding | Y | | None | implicit | vkCmdDrawMeshTasksIndirectNV | This command must only be called outside of a video coding scope |
VUID-vkCmdDrawMeshTasksIndirectNV-viewMask-06178 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07752 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-03417 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-03419 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04137 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04138 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04139 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-04140 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07492 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-07493 | N | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-09421 | Y | | None | explicit | vkCmdDrawMeshTasksIndirectNV | If 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-06551 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09597 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07080 | Y | | NegativeMesh.DrawCmdsNV | explicit | vkCmdDrawMeshTasksNV | The current pipeline bound to VK_PIPELINE_BIND_POINT_GRAPHICS must contain a shader stage using the MeshNV Execution Model |
VUID-vkCmdDrawMeshTasksNV-None-02691 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-02692 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-02693 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04876 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04877 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06479 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06537 | Y | | None | explicit | vkCmdDrawMeshTasksNV | Memory 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-06539 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06550 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06666 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06886 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06887 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07074 | Y | | None | explicit | vkCmdDrawMeshTasksNV | Transform Feedback Queries must not be active |
VUID-vkCmdDrawMeshTasksNV-None-07075 | Y | | None | explicit | vkCmdDrawMeshTasksNV | Primitives Generated Queries must not be active |
VUID-vkCmdDrawMeshTasksNV-None-07288 | N | | None | explicit | vkCmdDrawMeshTasksNV | Any shader invocation executed by this command must terminate |
VUID-vkCmdDrawMeshTasksNV-None-07469 | N | | None | explicit | vkCmdDrawMeshTasksNV | Input 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-07619 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07620 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07621 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07622 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07623 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07624 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07625 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07626 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07627 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07628 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07629 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07630 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07631 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07632 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07633 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07634 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07635 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07636 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07637 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07638 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07639 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07640 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07641 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07642 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07643 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07644 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07645 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07646 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07647 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07648 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07649 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07748 | N | | None | explicit | vkCmdDrawMeshTasksNV | If any shader statically accesses an input attachment, a valid descriptor must be bound to the pipeline via a descriptor set |
VUID-vkCmdDrawMeshTasksNV-None-07749 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07751 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07831 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07832 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07833 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07834 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07835 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07836 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07837 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07838 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07839 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07840 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07841 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07843 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07844 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07845 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07846 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07847 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07848 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07849 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07850 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command |
VUID-vkCmdDrawMeshTasksNV-None-07878 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07879 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07880 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07881 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07888 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08114 | Y | | None | explicit | vkCmdDrawMeshTasksNV | Descriptors 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-08115 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08116 | N | | None | explicit | vkCmdDrawMeshTasksNV | Descriptors 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-08117 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08119 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08600 | Y | | None | explicit | vkCmdDrawMeshTasksNV | For 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-08601 | N | | None | explicit | vkCmdDrawMeshTasksNV | 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 array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility |
VUID-vkCmdDrawMeshTasksNV-None-08604 | N | | None | explicit | vkCmdDrawMeshTasksNV | Descriptors 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-08605 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08606 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command |
VUID-vkCmdDrawMeshTasksNV-None-08607 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08608 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08609 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08610 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08611 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08612 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08613 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08617 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08618 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08619 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08620 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08621 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08622 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08623 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08624 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08625 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08626 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08627 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08628 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08629 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08630 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08631 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08632 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08633 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08634 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08635 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08636 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08637 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08638 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08639 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08640 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08641 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08643 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08644 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08646 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08647 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08648 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08649 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08650 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08651 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08652 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08653 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08654 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08655 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08656 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08657 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08658 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08659 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08660 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08661 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08662 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08663 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08664 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08665 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08666 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08667 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08668 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08669 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08670 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08671 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08672 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08673 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08674 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08675 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08676 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08677 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08678 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08679 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08680 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08681 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08682 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08683 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08684 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08685 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08686 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08687 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08688 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08689 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08690 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08693 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08694 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08695 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08696 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08698 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08699 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08876 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If a shader object is bound to any graphics stage, the current render pass instance must have been begun with vkCmdBeginRendering |
VUID-vkCmdDrawMeshTasksNV-None-08877 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08878 | Y | | None | explicit | vkCmdDrawMeshTasksNV | All bound graphics shader objects must have been created with identical or identically defined push constant ranges |
VUID-vkCmdDrawMeshTasksNV-None-08879 | Y | | None | explicit | vkCmdDrawMeshTasksNV | All bound graphics shader objects must have been created with identical or identically defined arrays of descriptor set layouts |
VUID-vkCmdDrawMeshTasksNV-None-08880 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09000 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09001 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09002 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09003 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09116 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09211 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09232 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09237 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09363 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09364 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09365 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09366 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09368 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09369 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09548 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09549 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09600 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-None-09642 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If the current render pass was begun with vkCmdBeginRendering with the VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT flag, the bound graphics pipeline must have been created with VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT |
VUID-vkCmdDrawMeshTasksNV-None-09643 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If the bound graphics pipeline was created with VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT, the current render pass must have begun with vkCmdBeginRendering with the VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT flag |
VUID-vkCmdDrawMeshTasksNV-OpImageBlockMatchSADQCOM-06975 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06976 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06974 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09215 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09216 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09217 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06973 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06971 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06972 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06977 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06978 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04469 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08795 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08796 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07027 | Y | | None | explicit | vkCmdDrawMeshTasksNV | For 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-07028 | Y | | None | explicit | vkCmdDrawMeshTasksNV | For 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-07029 | Y | | None | explicit | vkCmdDrawMeshTasksNV | For 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-07030 | Y | | None | explicit | vkCmdDrawMeshTasksNV | Any 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-07468 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04470 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04471 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04472 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04473 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04141 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04142 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07480 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08919 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08920 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07750 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04727 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06179 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06185 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09362 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09372 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-02707 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-cmdpool | Y | | None | implicit | vkCmdDrawMeshTasksNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdDrawMeshTasksNV-commandBuffer-parameter | Y | | None | implicit | vkCmdDrawMeshTasksNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdDrawMeshTasksNV-commandBuffer-recording | Y | | None | implicit | vkCmdDrawMeshTasksNV | commandBuffer must be in the recording state |
VUID-vkCmdDrawMeshTasksNV-conservativePointAndLineRasterization-07499 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07488 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07491 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07490 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09212 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08910 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08911 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08912 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08913 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08914 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08915 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08916 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08917 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08918 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09235 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-02694 | Y | | None | explicit | vkCmdDrawMeshTasksNV | Any 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-02695 | Y | | None | explicit | vkCmdDrawMeshTasksNV | Any 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-07476 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07477 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07478 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07479 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-02696 | Y | | None | explicit | vkCmdDrawMeshTasksNV | Any 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-07753 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06172 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06173 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06174 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06175 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06176 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06177 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06183 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06184 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04878 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04553 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09598 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08602 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09239 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-02688 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04770 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09599 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07284 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07285 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07286 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07287 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08963 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07470 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06186 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08964 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09595 | N | | None | explicit | vkCmdDrawMeshTasksNV | Input 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-09596 | N | | None | explicit | vkCmdDrawMeshTasksNV | Input 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-08715 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08716 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09370 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09371 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07935 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06187 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08965 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09238 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07076 | N | | None | explicit | vkCmdDrawMeshTasksNV | The 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-04552 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-08642 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06709 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07481 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06708 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07471 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07474 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07489 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07494 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09367 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09236 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09416 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09417 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09418 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09419 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09420 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09213 | N | | None | explicit | vkCmdDrawMeshTasksNV | Any 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-02684 | Y | | None | explicit | vkCmdDrawMeshTasksNV | The 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-06198 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-renderpass | Y | | None | implicit | vkCmdDrawMeshTasksNV | This command must only be called inside of a render pass instance |
VUID-vkCmdDrawMeshTasksNV-sampleLocationsEnable-02689 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07484 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07485 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07486 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07487 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07936 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07937 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07938 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07482 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07483 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07472 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07473 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-03418 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09214 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09233 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09234 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04474 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04475 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06480 | Y | | NegativeMesh.DrawCmdsNV | explicit | vkCmdDrawMeshTasksNV | The 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-07073 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07495 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07496 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07497 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07498 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06936 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-02685 | Y | | None | explicit | vkCmdDrawMeshTasksNV | The 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-02119 | Y | | None | explicit | vkCmdDrawMeshTasksNV | taskCount must be less than or equal to VkPhysicalDeviceMeshShaderPropertiesNV::maxDrawMeshTasksCount |
VUID-vkCmdDrawMeshTasksNV-uniformBuffers-06935 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-unnormalizedCoordinates-09635 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's levelCount and layerCount must be 1 |
VUID-vkCmdDrawMeshTasksNV-unnormalizedCoordinates-09636 | N | | None | explicit | vkCmdDrawMeshTasksNV | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D |
VUID-vkCmdDrawMeshTasksNV-videocoding | Y | | None | implicit | vkCmdDrawMeshTasksNV | This command must only be called outside of a video coding scope |
VUID-vkCmdDrawMeshTasksNV-viewMask-06178 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07752 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-03417 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-03419 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04137 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04138 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04139 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-04140 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07492 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-07493 | N | | None | explicit | vkCmdDrawMeshTasksNV | If 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-09421 | Y | | None | explicit | vkCmdDrawMeshTasksNV | If 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-06551 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07939 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08734 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09597 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-02691 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-02692 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-02693 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-02721 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If robustBufferAccess is not enabled, and that pipeline was created without enabling VK_PIPELINE_ROBUSTNESS_BUFFER_BEHAVIOR_ROBUST_BUFFER_ACCESS_EXT for vertexInputs, then for 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-02910 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | Transform feedback must not be active |
VUID-vkCmdExecuteGeneratedCommandsNV-None-04007 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | All 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-04008 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04875 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04876 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04877 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04879 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04914 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06479 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06537 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | Memory 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-06539 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06550 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06666 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06886 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06887 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07288 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | Any shader invocation executed by this command must terminate |
VUID-vkCmdExecuteGeneratedCommandsNV-None-07469 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | Input 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-07619 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07620 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07621 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07622 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07623 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07624 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07625 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07626 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07627 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07628 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07629 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07630 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07631 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07632 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07633 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07634 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07635 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07636 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07637 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07638 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07639 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07640 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07641 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07642 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07643 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07644 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07645 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07646 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07647 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07648 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07649 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07748 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If any shader statically accesses an input attachment, a valid descriptor must be bound to the pipeline via a descriptor set |
VUID-vkCmdExecuteGeneratedCommandsNV-None-07749 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07751 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07831 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07832 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07833 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07834 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07835 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07836 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07837 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07838 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07839 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07840 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07841 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07842 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07843 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07844 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07845 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07846 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07847 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07848 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07849 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07850 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If dynamic state was inherited from VkCommandBufferInheritanceViewportScissorInfoNV, it must be set in the current command buffer prior to this drawing command |
VUID-vkCmdExecuteGeneratedCommandsNV-None-07878 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07879 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07880 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07881 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07888 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08114 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | Descriptors 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-08115 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08116 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | Descriptors 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-08117 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08119 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08600 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | For 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-08601 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | 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 array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility |
VUID-vkCmdExecuteGeneratedCommandsNV-None-08604 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | Descriptors 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-08605 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08606 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command |
VUID-vkCmdExecuteGeneratedCommandsNV-None-08607 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08608 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08609 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08610 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08611 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08612 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08613 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08617 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08618 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08619 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08620 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08621 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08622 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08623 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08624 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08625 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08626 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08627 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08628 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08629 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08630 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08631 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08632 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08633 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08634 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08635 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08636 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08637 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08638 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08639 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08640 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08641 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08643 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08644 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08646 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08647 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08648 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08649 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08650 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08651 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08652 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08653 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08654 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08655 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08656 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08657 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08658 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08659 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08660 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08661 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08662 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08663 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08664 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08665 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08666 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08667 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08668 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08669 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08670 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08671 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08672 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08673 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08674 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08675 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08676 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08677 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08678 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08679 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08680 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08681 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08682 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08683 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08684 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08685 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08686 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08687 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08688 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08689 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08690 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08693 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08694 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08695 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08696 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08698 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08699 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08876 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If a shader object is bound to any graphics stage, the current render pass instance must have been begun with vkCmdBeginRendering |
VUID-vkCmdExecuteGeneratedCommandsNV-None-08877 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08878 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | All bound graphics shader objects must have been created with identical or identically defined push constant ranges |
VUID-vkCmdExecuteGeneratedCommandsNV-None-08879 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | All bound graphics shader objects must have been created with identical or identically defined arrays of descriptor set layouts |
VUID-vkCmdExecuteGeneratedCommandsNV-None-08880 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08885 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | There 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-09000 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09001 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09002 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09003 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09116 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09203 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09211 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09232 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09237 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09363 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09364 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09365 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09366 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09368 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09369 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09548 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09549 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09600 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-None-09637 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If the primitiveTopologyListRestart feature is not enabled, the topology is VK_PRIMITIVE_TOPOLOGY_POINT_LIST, VK_PRIMITIVE_TOPOLOGY_LINE_LIST, VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST, VK_PRIMITIVE_TOPOLOGY_LINE_LIST_WITH_ADJACENCY, or VK_PRIMITIVE_TOPOLOGY_TRIANGLE_LIST_WITH_ADJACENCY, 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 be set to VK_FALSE |
VUID-vkCmdExecuteGeneratedCommandsNV-None-09642 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If the current render pass was begun with vkCmdBeginRendering with the VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT flag, the bound graphics pipeline must have been created with VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT |
VUID-vkCmdExecuteGeneratedCommandsNV-None-09643 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If the bound graphics pipeline was created with VK_PIPELINE_CREATE_2_ENABLE_LEGACY_DITHERING_BIT_EXT, the current render pass must have begun with vkCmdBeginRendering with the VK_RENDERING_ENABLE_LEGACY_DITHERING_BIT_EXT flag |
VUID-vkCmdExecuteGeneratedCommandsNV-OpImageBlockMatchSADQCOM-06975 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06976 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06974 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09215 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09216 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09217 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06973 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06971 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06972 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06977 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06978 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04469 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08795 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08796 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07027 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | For 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-07028 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | For 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-07029 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | For 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-07030 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | Any 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-07468 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04470 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04471 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04472 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04473 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04141 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04142 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07480 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08919 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08920 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07750 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04727 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06179 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06185 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09362 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09372 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-02707 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-02970 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | commandBuffer must not be a protected command buffer |
VUID-vkCmdExecuteGeneratedCommandsNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdExecuteGeneratedCommandsNV | The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations |
VUID-vkCmdExecuteGeneratedCommandsNV-commandBuffer-parameter | Y | | None | implicit | vkCmdExecuteGeneratedCommandsNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdExecuteGeneratedCommandsNV-commandBuffer-recording | Y | | None | implicit | vkCmdExecuteGeneratedCommandsNV | commandBuffer must be in the recording state |
VUID-vkCmdExecuteGeneratedCommandsNV-conservativePointAndLineRasterization-07499 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07488 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07491 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07490 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09212 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-02911 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | The VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV::deviceGeneratedCommands feature must be enabled |
VUID-vkCmdExecuteGeneratedCommandsNV-dynamicPrimitiveTopologyUnrestricted-07500 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08910 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08911 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08912 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08913 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08914 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08915 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08916 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08917 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08918 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09235 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-02694 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | Any 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-02695 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | Any 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-07476 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07477 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07478 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07479 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-02696 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | Any 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-07753 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08936 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08937 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06172 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06173 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06174 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06175 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06176 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06177 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06183 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06184 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-02908 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04878 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04553 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09598 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08602 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09239 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-02688 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04770 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09599 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07284 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07285 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07286 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07287 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08963 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07470 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06186 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08964 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09595 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | Input 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-09596 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | Input 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-08715 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08716 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09370 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09371 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-parameter | Y | | None | implicit | vkCmdExecuteGeneratedCommandsNV | pGeneratedCommandsInfo must be a valid pointer to a valid VkGeneratedCommandsInfoNV structure |
VUID-vkCmdExecuteGeneratedCommandsNV-pNext-07935 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06187 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08965 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04913 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-02909 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | VkGeneratedCommandsInfoNV::pipeline must match the current bound pipeline at VkGeneratedCommandsInfoNV::pipelineBindPoint |
VUID-vkCmdExecuteGeneratedCommandsNV-pipelineFragmentShadingRate-09238 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04552 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-08642 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06709 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07481 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06708 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07471 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07474 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07489 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07494 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09367 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09236 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09416 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09417 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09418 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09419 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09420 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09213 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | Any 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-02684 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | The 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-06198 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-renderpass | Y | | None | implicit | vkCmdExecuteGeneratedCommandsNV | This command must only be called inside of a render pass instance |
VUID-vkCmdExecuteGeneratedCommandsNV-sampleLocationsEnable-02689 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07484 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07485 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07486 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07487 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07936 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07937 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07938 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07482 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07483 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07472 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07473 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-03418 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09214 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09233 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09234 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04474 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04475 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06481 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | The 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-07073 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07495 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07496 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07497 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07498 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-06936 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-02685 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | The 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-06935 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-unnormalizedCoordinates-09635 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's levelCount and layerCount must be 1 |
VUID-vkCmdExecuteGeneratedCommandsNV-unnormalizedCoordinates-09636 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D |
VUID-vkCmdExecuteGeneratedCommandsNV-videocoding | Y | | None | implicit | vkCmdExecuteGeneratedCommandsNV | This command must only be called outside of a video coding scope |
VUID-vkCmdExecuteGeneratedCommandsNV-viewMask-06178 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07752 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-03417 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-03419 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04137 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04138 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04139 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-04140 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07492 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-07493 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-09421 | N | | None | explicit | vkCmdExecuteGeneratedCommandsNV | If 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-bufferlevel | Y | | None | implicit | vkCmdInitializeGraphScratchMemoryAMDX | commandBuffer must be a primary VkCommandBuffer |
VUID-vkCmdInitializeGraphScratchMemoryAMDX-commandBuffer-cmdpool | Y | | None | implicit | vkCmdInitializeGraphScratchMemoryAMDX | The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations |
VUID-vkCmdInitializeGraphScratchMemoryAMDX-commandBuffer-parameter | Y | | None | implicit | vkCmdInitializeGraphScratchMemoryAMDX | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdInitializeGraphScratchMemoryAMDX-commandBuffer-recording | Y | | None | implicit | vkCmdInitializeGraphScratchMemoryAMDX | commandBuffer must be in the recording state |
VUID-vkCmdInitializeGraphScratchMemoryAMDX-renderpass | Y | | None | implicit | vkCmdInitializeGraphScratchMemoryAMDX | This command must only be called outside of a render pass instance |
VUID-vkCmdInitializeGraphScratchMemoryAMDX-scratch-09143 | N | | None | explicit | vkCmdInitializeGraphScratchMemoryAMDX | scratch 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-09144 | N | | None | explicit | vkCmdInitializeGraphScratchMemoryAMDX | scratch must be a multiple of 64 |
VUID-vkCmdInitializeGraphScratchMemoryAMDX-videocoding | Y | | None | implicit | vkCmdInitializeGraphScratchMemoryAMDX | This command must only be called outside of a video coding scope |
VUID-vkCmdOpticalFlowExecuteNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdOpticalFlowExecuteNV | The VkCommandPool that commandBuffer was allocated from must support optical flow operations |
VUID-vkCmdOpticalFlowExecuteNV-commandBuffer-parameter | Y | | None | implicit | vkCmdOpticalFlowExecuteNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdOpticalFlowExecuteNV-commandBuffer-recording | Y | | None | implicit | vkCmdOpticalFlowExecuteNV | commandBuffer must be in the recording state |
VUID-vkCmdOpticalFlowExecuteNV-commonparent | Y | | None | implicit | vkCmdOpticalFlowExecuteNV | Both of commandBuffer, and session must have been created, allocated, or retrieved from the same VkDevice |
VUID-vkCmdOpticalFlowExecuteNV-pExecuteInfo-parameter | Y | | None | implicit | vkCmdOpticalFlowExecuteNV | pExecuteInfo must be a valid pointer to a valid VkOpticalFlowExecuteInfoNV structure |
VUID-vkCmdOpticalFlowExecuteNV-renderpass | Y | | None | implicit | vkCmdOpticalFlowExecuteNV | This command must only be called outside of a render pass instance |
VUID-vkCmdOpticalFlowExecuteNV-session-parameter | Y | | None | implicit | vkCmdOpticalFlowExecuteNV | session must be a valid VkOpticalFlowSessionNV handle |
VUID-vkCmdOpticalFlowExecuteNV-videocoding | Y | | None | implicit | vkCmdOpticalFlowExecuteNV | This command must only be called outside of a video coding scope |
VUID-vkCmdPreprocessGeneratedCommandsNV-commandBuffer-02974 | N | | None | explicit | vkCmdPreprocessGeneratedCommandsNV | commandBuffer must not be a protected command buffer |
VUID-vkCmdPreprocessGeneratedCommandsNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdPreprocessGeneratedCommandsNV | The VkCommandPool that commandBuffer was allocated from must support graphics, or compute operations |
VUID-vkCmdPreprocessGeneratedCommandsNV-commandBuffer-parameter | Y | | None | implicit | vkCmdPreprocessGeneratedCommandsNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdPreprocessGeneratedCommandsNV-commandBuffer-recording | Y | | None | implicit | vkCmdPreprocessGeneratedCommandsNV | commandBuffer must be in the recording state |
VUID-vkCmdPreprocessGeneratedCommandsNV-deviceGeneratedCommands-02928 | N | | None | explicit | vkCmdPreprocessGeneratedCommandsNV | The VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV::deviceGeneratedCommands feature must be enabled |
VUID-vkCmdPreprocessGeneratedCommandsNV-pGeneratedCommandsInfo-02927 | N | | None | explicit | vkCmdPreprocessGeneratedCommandsNV | pGeneratedCommandsInfo`s indirectCommandsLayout must have been created with the VK_INDIRECT_COMMANDS_LAYOUT_USAGE_EXPLICIT_PREPROCESS_BIT_NV bit set |
VUID-vkCmdPreprocessGeneratedCommandsNV-pGeneratedCommandsInfo-parameter | Y | | None | implicit | vkCmdPreprocessGeneratedCommandsNV | pGeneratedCommandsInfo must be a valid pointer to a valid VkGeneratedCommandsInfoNV structure |
VUID-vkCmdPreprocessGeneratedCommandsNV-renderpass | Y | | None | implicit | vkCmdPreprocessGeneratedCommandsNV | This command must only be called outside of a render pass instance |
VUID-vkCmdPreprocessGeneratedCommandsNV-videocoding | Y | | None | implicit | vkCmdPreprocessGeneratedCommandsNV | This command must only be called outside of a video coding scope |
VUID-vkCmdSetCheckpointNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetCheckpointNV | The VkCommandPool that commandBuffer was allocated from must support graphics, compute, or transfer operations |
VUID-vkCmdSetCheckpointNV-commandBuffer-parameter | Y | | None | implicit | vkCmdSetCheckpointNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetCheckpointNV-commandBuffer-recording | Y | | NegativeTooling.ValidateNVDeviceDiagnosticCheckpoints | implicit | vkCmdSetCheckpointNV | commandBuffer must be in the recording state |
VUID-vkCmdSetCheckpointNV-videocoding | Y | | None | implicit | vkCmdSetCheckpointNV | This command must only be called outside of a video coding scope |
VUID-vkCmdSetCoarseSampleOrderNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetCoarseSampleOrderNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdSetCoarseSampleOrderNV-commandBuffer-parameter | Y | | None | implicit | vkCmdSetCoarseSampleOrderNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetCoarseSampleOrderNV-commandBuffer-recording | Y | | None | implicit | vkCmdSetCoarseSampleOrderNV | commandBuffer must be in the recording state |
VUID-vkCmdSetCoarseSampleOrderNV-pCustomSampleOrders-02235 | N | | None | explicit | vkCmdSetCoarseSampleOrderNV | The array pCustomSampleOrders must not contain two structures with matching values for both the shadingRate and sampleCount members |
VUID-vkCmdSetCoarseSampleOrderNV-pCustomSampleOrders-parameter | Y | | None | implicit | vkCmdSetCoarseSampleOrderNV | If customSampleOrderCount is not 0, pCustomSampleOrders must be a valid pointer to an array of customSampleOrderCount valid VkCoarseSampleOrderCustomNV structures |
VUID-vkCmdSetCoarseSampleOrderNV-sampleOrderType-02081 | Y | | NegativeFragmentShadingRate.ShadingRateImageNV | explicit | vkCmdSetCoarseSampleOrderNV | If sampleOrderType is not VK_COARSE_SAMPLE_ORDER_TYPE_CUSTOM_NV, customSamplerOrderCount must be 0 |
VUID-vkCmdSetCoarseSampleOrderNV-sampleOrderType-parameter | Y | | None | implicit | vkCmdSetCoarseSampleOrderNV | sampleOrderType must be a valid VkCoarseSampleOrderTypeNV value |
VUID-vkCmdSetCoarseSampleOrderNV-videocoding | Y | | None | implicit | vkCmdSetCoarseSampleOrderNV | This command must only be called outside of a video coding scope |
VUID-vkCmdSetCoverageModulationModeNV-None-09423 | Y | | NegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabled | explicit | vkCmdSetCoverageModulationModeNV | At least one of the following must be true:
The extendedDynamicState3CoverageModulationMode feature is
enabled
The shaderObject feature is enabled
|
VUID-vkCmdSetCoverageModulationModeNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetCoverageModulationModeNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdSetCoverageModulationModeNV-commandBuffer-parameter | Y | | None | implicit | vkCmdSetCoverageModulationModeNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetCoverageModulationModeNV-commandBuffer-recording | Y | | None | implicit | vkCmdSetCoverageModulationModeNV | commandBuffer must be in the recording state |
VUID-vkCmdSetCoverageModulationModeNV-coverageModulationMode-parameter | Y | | None | implicit | vkCmdSetCoverageModulationModeNV | coverageModulationMode must be a valid VkCoverageModulationModeNV value |
VUID-vkCmdSetCoverageModulationModeNV-videocoding | Y | | None | implicit | vkCmdSetCoverageModulationModeNV | This command must only be called outside of a video coding scope |
VUID-vkCmdSetCoverageModulationTableEnableNV-None-09423 | Y | | NegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabled | explicit | vkCmdSetCoverageModulationTableEnableNV | At least one of the following must be true:
The extendedDynamicState3CoverageModulationTableEnable feature is
enabled
The shaderObject feature is enabled
|
VUID-vkCmdSetCoverageModulationTableEnableNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetCoverageModulationTableEnableNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdSetCoverageModulationTableEnableNV-commandBuffer-parameter | Y | | None | implicit | vkCmdSetCoverageModulationTableEnableNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetCoverageModulationTableEnableNV-commandBuffer-recording | Y | | None | implicit | vkCmdSetCoverageModulationTableEnableNV | commandBuffer must be in the recording state |
VUID-vkCmdSetCoverageModulationTableEnableNV-videocoding | Y | | None | implicit | vkCmdSetCoverageModulationTableEnableNV | This command must only be called outside of a video coding scope |
VUID-vkCmdSetCoverageModulationTableNV-None-09423 | Y | | NegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabled | explicit | vkCmdSetCoverageModulationTableNV | At least one of the following must be true:
The extendedDynamicState3CoverageModulationTable feature is
enabled
The shaderObject feature is enabled
|
VUID-vkCmdSetCoverageModulationTableNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetCoverageModulationTableNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdSetCoverageModulationTableNV-commandBuffer-parameter | Y | | None | implicit | vkCmdSetCoverageModulationTableNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetCoverageModulationTableNV-commandBuffer-recording | Y | | None | implicit | vkCmdSetCoverageModulationTableNV | commandBuffer must be in the recording state |
VUID-vkCmdSetCoverageModulationTableNV-coverageModulationTableCount-arraylength | Y | | None | implicit | vkCmdSetCoverageModulationTableNV | coverageModulationTableCount must be greater than 0 |
VUID-vkCmdSetCoverageModulationTableNV-pCoverageModulationTable-parameter | Y | | None | implicit | vkCmdSetCoverageModulationTableNV | pCoverageModulationTable must be a valid pointer to an array of coverageModulationTableCount float values |
VUID-vkCmdSetCoverageModulationTableNV-videocoding | Y | | None | implicit | vkCmdSetCoverageModulationTableNV | This command must only be called outside of a video coding scope |
VUID-vkCmdSetCoverageReductionModeNV-None-09423 | Y | | NegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabled | explicit | vkCmdSetCoverageReductionModeNV | At least one of the following must be true:
The extendedDynamicState3CoverageReductionMode feature is
enabled
The shaderObject feature is enabled
|
VUID-vkCmdSetCoverageReductionModeNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetCoverageReductionModeNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdSetCoverageReductionModeNV-commandBuffer-parameter | Y | | None | implicit | vkCmdSetCoverageReductionModeNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetCoverageReductionModeNV-commandBuffer-recording | Y | | None | implicit | vkCmdSetCoverageReductionModeNV | commandBuffer must be in the recording state |
VUID-vkCmdSetCoverageReductionModeNV-coverageReductionMode-parameter | Y | | None | implicit | vkCmdSetCoverageReductionModeNV | coverageReductionMode must be a valid VkCoverageReductionModeNV value |
VUID-vkCmdSetCoverageReductionModeNV-videocoding | Y | | None | implicit | vkCmdSetCoverageReductionModeNV | This command must only be called outside of a video coding scope |
VUID-vkCmdSetCoverageToColorEnableNV-None-09423 | Y | | NegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabled | explicit | vkCmdSetCoverageToColorEnableNV | At least one of the following must be true:
The extendedDynamicState3CoverageToColorEnable feature is
enabled
The shaderObject feature is enabled
|
VUID-vkCmdSetCoverageToColorEnableNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetCoverageToColorEnableNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdSetCoverageToColorEnableNV-commandBuffer-parameter | Y | | None | implicit | vkCmdSetCoverageToColorEnableNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetCoverageToColorEnableNV-commandBuffer-recording | Y | | None | implicit | vkCmdSetCoverageToColorEnableNV | commandBuffer must be in the recording state |
VUID-vkCmdSetCoverageToColorEnableNV-videocoding | Y | | None | implicit | vkCmdSetCoverageToColorEnableNV | This command must only be called outside of a video coding scope |
VUID-vkCmdSetCoverageToColorLocationNV-None-09423 | Y | | NegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabled | explicit | vkCmdSetCoverageToColorLocationNV | At least one of the following must be true:
The extendedDynamicState3CoverageToColorLocation feature is
enabled
The shaderObject feature is enabled
|
VUID-vkCmdSetCoverageToColorLocationNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetCoverageToColorLocationNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdSetCoverageToColorLocationNV-commandBuffer-parameter | Y | | None | implicit | vkCmdSetCoverageToColorLocationNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetCoverageToColorLocationNV-commandBuffer-recording | Y | | None | implicit | vkCmdSetCoverageToColorLocationNV | commandBuffer must be in the recording state |
VUID-vkCmdSetCoverageToColorLocationNV-videocoding | Y | | None | implicit | vkCmdSetCoverageToColorLocationNV | This command must only be called outside of a video coding scope |
VUID-vkCmdSetExclusiveScissorEnableNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetExclusiveScissorEnableNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdSetExclusiveScissorEnableNV-commandBuffer-parameter | Y | | None | implicit | vkCmdSetExclusiveScissorEnableNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetExclusiveScissorEnableNV-commandBuffer-recording | Y | | None | implicit | vkCmdSetExclusiveScissorEnableNV | commandBuffer must be in the recording state |
VUID-vkCmdSetExclusiveScissorEnableNV-exclusiveScissor-07853 | Y | | None | explicit | vkCmdSetExclusiveScissorEnableNV | The exclusiveScissor feature must be enabled, and the implementation must support at least specVersion 2 of the VK_NV_scissor_exclusive extension |
VUID-vkCmdSetExclusiveScissorEnableNV-exclusiveScissorCount-arraylength | Y | | None | implicit | vkCmdSetExclusiveScissorEnableNV | exclusiveScissorCount must be greater than 0 |
VUID-vkCmdSetExclusiveScissorEnableNV-pExclusiveScissorEnables-parameter | Y | | None | implicit | vkCmdSetExclusiveScissorEnableNV | pExclusiveScissorEnables must be a valid pointer to an array of exclusiveScissorCount VkBool32 values |
VUID-vkCmdSetExclusiveScissorEnableNV-videocoding | Y | | None | implicit | vkCmdSetExclusiveScissorEnableNV | This command must only be called outside of a video coding scope |
VUID-vkCmdSetExclusiveScissorNV-None-02031 | Y | | None | explicit | vkCmdSetExclusiveScissorNV | The exclusiveScissor feature must be enabled |
VUID-vkCmdSetExclusiveScissorNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetExclusiveScissorNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdSetExclusiveScissorNV-commandBuffer-parameter | Y | | None | implicit | vkCmdSetExclusiveScissorNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetExclusiveScissorNV-commandBuffer-recording | Y | | None | implicit | vkCmdSetExclusiveScissorNV | commandBuffer must be in the recording state |
VUID-vkCmdSetExclusiveScissorNV-exclusiveScissorCount-02036 | Y | | NegativeCommand.ExclusiveScissorNV | explicit | vkCmdSetExclusiveScissorNV | If the multiViewport feature is not enabled, exclusiveScissorCount must be 1 |
VUID-vkCmdSetExclusiveScissorNV-exclusiveScissorCount-arraylength | Y | | NegativeCommand.ExclusiveScissorNV | implicit | vkCmdSetExclusiveScissorNV | exclusiveScissorCount must be greater than 0 |
VUID-vkCmdSetExclusiveScissorNV-firstExclusiveScissor-02034 | Y | | None | explicit | vkCmdSetExclusiveScissorNV | The sum of firstExclusiveScissor and exclusiveScissorCount must be between 1 and VkPhysicalDeviceLimits::maxViewports, inclusive |
VUID-vkCmdSetExclusiveScissorNV-firstExclusiveScissor-02035 | Y | | NegativeCommand.ExclusiveScissorNV | explicit | vkCmdSetExclusiveScissorNV | If the multiViewport feature is not enabled, firstExclusiveScissor must be 0 |
VUID-vkCmdSetExclusiveScissorNV-offset-02038 | Y | | NegativeCommand.ExclusiveScissorNV | explicit | vkCmdSetExclusiveScissorNV | Evaluation of (offset.x + extent.width) for each member of pExclusiveScissors must not cause a signed integer addition overflow |
VUID-vkCmdSetExclusiveScissorNV-offset-02039 | Y | | NegativeCommand.ExclusiveScissorNV | explicit | vkCmdSetExclusiveScissorNV | Evaluation of (offset.y + extent.height) for each member of pExclusiveScissors must not cause a signed integer addition overflow |
VUID-vkCmdSetExclusiveScissorNV-pExclusiveScissors-parameter | Y | | NegativeCommand.ExclusiveScissorNV | implicit | vkCmdSetExclusiveScissorNV | pExclusiveScissors must be a valid pointer to an array of exclusiveScissorCount VkRect2D structures |
VUID-vkCmdSetExclusiveScissorNV-videocoding | Y | | None | implicit | vkCmdSetExclusiveScissorNV | This command must only be called outside of a video coding scope |
VUID-vkCmdSetExclusiveScissorNV-x-02037 | Y | | NegativeCommand.ExclusiveScissorNV | explicit | vkCmdSetExclusiveScissorNV | The x and y members of offset in each member of pExclusiveScissors must be greater than or equal to 0 |
VUID-vkCmdSetFragmentShadingRateEnumNV-attachmentFragmentShadingRate-04582 | N | | None | explicit | vkCmdSetFragmentShadingRateEnumNV | If the attachmentFragmentShadingRate feature is not enabled, combinerOps[1] must be VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR |
VUID-vkCmdSetFragmentShadingRateEnumNV-combinerOps-parameter | Y | | None | implicit | vkCmdSetFragmentShadingRateEnumNV | Each element of combinerOps must be a valid VkFragmentShadingRateCombinerOpKHR value |
VUID-vkCmdSetFragmentShadingRateEnumNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetFragmentShadingRateEnumNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdSetFragmentShadingRateEnumNV-commandBuffer-parameter | Y | | None | implicit | vkCmdSetFragmentShadingRateEnumNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetFragmentShadingRateEnumNV-commandBuffer-recording | Y | | None | implicit | vkCmdSetFragmentShadingRateEnumNV | commandBuffer must be in the recording state |
VUID-vkCmdSetFragmentShadingRateEnumNV-fragmentShadingRateEnums-04579 | Y | | None | explicit | vkCmdSetFragmentShadingRateEnumNV | The fragmentShadingRateEnums feature must be enabled |
VUID-vkCmdSetFragmentShadingRateEnumNV-fragmentSizeNonTrivialCombinerOps-04583 | N | | None | explicit | vkCmdSetFragmentShadingRateEnumNV | If 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-04578 | N | | None | explicit | vkCmdSetFragmentShadingRateEnumNV | If noInvocationFragmentShadingRates is not enabled, shadingRate must not be VK_FRAGMENT_SHADING_RATE_NO_INVOCATIONS_NV |
VUID-vkCmdSetFragmentShadingRateEnumNV-pipelineFragmentShadingRate-04576 | N | | None | explicit | vkCmdSetFragmentShadingRateEnumNV | If pipelineFragmentShadingRate is not enabled, shadingRate must be VK_FRAGMENT_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV |
VUID-vkCmdSetFragmentShadingRateEnumNV-pipelineFragmentShadingRate-04580 | N | | None | explicit | vkCmdSetFragmentShadingRateEnumNV | One of the pipelineFragmentShadingRate, primitiveFragmentShadingRate, or attachmentFragmentShadingRate features must be enabled |
VUID-vkCmdSetFragmentShadingRateEnumNV-primitiveFragmentShadingRate-04581 | N | | None | explicit | vkCmdSetFragmentShadingRateEnumNV | If the primitiveFragmentShadingRate feature is not enabled, combinerOps[0] must be VK_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_KHR |
VUID-vkCmdSetFragmentShadingRateEnumNV-shadingRate-parameter | Y | | None | implicit | vkCmdSetFragmentShadingRateEnumNV | shadingRate must be a valid VkFragmentShadingRateNV value |
VUID-vkCmdSetFragmentShadingRateEnumNV-supersampleFragmentShadingRates-04577 | N | | None | explicit | vkCmdSetFragmentShadingRateEnumNV | If 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-videocoding | Y | | None | implicit | vkCmdSetFragmentShadingRateEnumNV | This command must only be called outside of a video coding scope |
VUID-vkCmdSetPerformanceMarkerINTEL-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetPerformanceMarkerINTEL | The VkCommandPool that commandBuffer was allocated from must support graphics, compute, or transfer operations |
VUID-vkCmdSetPerformanceMarkerINTEL-commandBuffer-parameter | Y | | None | implicit | vkCmdSetPerformanceMarkerINTEL | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetPerformanceMarkerINTEL-commandBuffer-recording | Y | | None | implicit | vkCmdSetPerformanceMarkerINTEL | commandBuffer must be in the recording state |
VUID-vkCmdSetPerformanceMarkerINTEL-pMarkerInfo-parameter | Y | | None | implicit | vkCmdSetPerformanceMarkerINTEL | pMarkerInfo must be a valid pointer to a valid VkPerformanceMarkerInfoINTEL structure |
VUID-vkCmdSetPerformanceMarkerINTEL-videocoding | Y | | None | implicit | vkCmdSetPerformanceMarkerINTEL | This command must only be called outside of a video coding scope |
VUID-vkCmdSetPerformanceOverrideINTEL-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetPerformanceOverrideINTEL | The VkCommandPool that commandBuffer was allocated from must support graphics, compute, or transfer operations |
VUID-vkCmdSetPerformanceOverrideINTEL-commandBuffer-parameter | Y | | None | implicit | vkCmdSetPerformanceOverrideINTEL | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetPerformanceOverrideINTEL-commandBuffer-recording | Y | | None | implicit | vkCmdSetPerformanceOverrideINTEL | commandBuffer must be in the recording state |
VUID-vkCmdSetPerformanceOverrideINTEL-pOverrideInfo-02736 | N | | None | explicit | vkCmdSetPerformanceOverrideINTEL | pOverrideInfo must not be used with a VkPerformanceOverrideTypeINTEL that is not reported available by vkGetPerformanceParameterINTEL |
VUID-vkCmdSetPerformanceOverrideINTEL-pOverrideInfo-parameter | Y | | None | implicit | vkCmdSetPerformanceOverrideINTEL | pOverrideInfo must be a valid pointer to a valid VkPerformanceOverrideInfoINTEL structure |
VUID-vkCmdSetPerformanceOverrideINTEL-videocoding | Y | | None | implicit | vkCmdSetPerformanceOverrideINTEL | This command must only be called outside of a video coding scope |
VUID-vkCmdSetPerformanceStreamMarkerINTEL-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetPerformanceStreamMarkerINTEL | The VkCommandPool that commandBuffer was allocated from must support graphics, compute, or transfer operations |
VUID-vkCmdSetPerformanceStreamMarkerINTEL-commandBuffer-parameter | Y | | None | implicit | vkCmdSetPerformanceStreamMarkerINTEL | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetPerformanceStreamMarkerINTEL-commandBuffer-recording | Y | | None | implicit | vkCmdSetPerformanceStreamMarkerINTEL | commandBuffer must be in the recording state |
VUID-vkCmdSetPerformanceStreamMarkerINTEL-pMarkerInfo-parameter | Y | | None | implicit | vkCmdSetPerformanceStreamMarkerINTEL | pMarkerInfo must be a valid pointer to a valid VkPerformanceStreamMarkerInfoINTEL structure |
VUID-vkCmdSetPerformanceStreamMarkerINTEL-videocoding | Y | | None | implicit | vkCmdSetPerformanceStreamMarkerINTEL | This command must only be called outside of a video coding scope |
VUID-vkCmdSetRepresentativeFragmentTestEnableNV-None-09423 | Y | | NegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabled | explicit | vkCmdSetRepresentativeFragmentTestEnableNV | At least one of the following must be true:
The extendedDynamicState3RepresentativeFragmentTestEnable feature is
enabled
The shaderObject feature is enabled
|
VUID-vkCmdSetRepresentativeFragmentTestEnableNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetRepresentativeFragmentTestEnableNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdSetRepresentativeFragmentTestEnableNV-commandBuffer-parameter | Y | | None | implicit | vkCmdSetRepresentativeFragmentTestEnableNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetRepresentativeFragmentTestEnableNV-commandBuffer-recording | Y | | None | implicit | vkCmdSetRepresentativeFragmentTestEnableNV | commandBuffer must be in the recording state |
VUID-vkCmdSetRepresentativeFragmentTestEnableNV-videocoding | Y | | None | implicit | vkCmdSetRepresentativeFragmentTestEnableNV | This command must only be called outside of a video coding scope |
VUID-vkCmdSetShadingRateImageEnableNV-None-09423 | Y | | NegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabled | explicit | vkCmdSetShadingRateImageEnableNV | At least one of the following must be true:
The extendedDynamicState3ShadingRateImageEnable feature is
enabled
The shaderObject feature is enabled
|
VUID-vkCmdSetShadingRateImageEnableNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetShadingRateImageEnableNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdSetShadingRateImageEnableNV-commandBuffer-parameter | Y | | None | implicit | vkCmdSetShadingRateImageEnableNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetShadingRateImageEnableNV-commandBuffer-recording | Y | | None | implicit | vkCmdSetShadingRateImageEnableNV | commandBuffer must be in the recording state |
VUID-vkCmdSetShadingRateImageEnableNV-videocoding | Y | | None | implicit | vkCmdSetShadingRateImageEnableNV | This command must only be called outside of a video coding scope |
VUID-vkCmdSetViewportShadingRatePaletteNV-None-02064 | Y | | None | explicit | vkCmdSetViewportShadingRatePaletteNV | The shadingRateImage feature must be enabled |
VUID-vkCmdSetViewportShadingRatePaletteNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetViewportShadingRatePaletteNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdSetViewportShadingRatePaletteNV-commandBuffer-parameter | Y | | None | implicit | vkCmdSetViewportShadingRatePaletteNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetViewportShadingRatePaletteNV-commandBuffer-recording | Y | | None | implicit | vkCmdSetViewportShadingRatePaletteNV | commandBuffer must be in the recording state |
VUID-vkCmdSetViewportShadingRatePaletteNV-firstViewport-02067 | Y | | NegativeFragmentShadingRate.ShadingRateImageNV | explicit | vkCmdSetViewportShadingRatePaletteNV | The sum of firstViewport and viewportCount must be between 1 and VkPhysicalDeviceLimits::maxViewports, inclusive |
VUID-vkCmdSetViewportShadingRatePaletteNV-firstViewport-02068 | Y | | NegativeFragmentShadingRate.ShadingRateImageNV | explicit | vkCmdSetViewportShadingRatePaletteNV | If the multiViewport feature is not enabled, firstViewport must be 0 |
VUID-vkCmdSetViewportShadingRatePaletteNV-pShadingRatePalettes-parameter | Y | | None | implicit | vkCmdSetViewportShadingRatePaletteNV | pShadingRatePalettes must be a valid pointer to an array of viewportCount valid VkShadingRatePaletteNV structures |
VUID-vkCmdSetViewportShadingRatePaletteNV-videocoding | Y | | None | implicit | vkCmdSetViewportShadingRatePaletteNV | This command must only be called outside of a video coding scope |
VUID-vkCmdSetViewportShadingRatePaletteNV-viewportCount-02069 | Y | | NegativeFragmentShadingRate.ShadingRateImageNV | explicit | vkCmdSetViewportShadingRatePaletteNV | If the multiViewport feature is not enabled, viewportCount must be 1 |
VUID-vkCmdSetViewportShadingRatePaletteNV-viewportCount-arraylength | Y | | None | implicit | vkCmdSetViewportShadingRatePaletteNV | viewportCount must be greater than 0 |
VUID-vkCmdSetViewportSwizzleNV-None-09423 | Y | | NegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabled | explicit | vkCmdSetViewportSwizzleNV | At least one of the following must be true:
The extendedDynamicState3ViewportSwizzle feature is
enabled
The shaderObject feature is enabled
|
VUID-vkCmdSetViewportSwizzleNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetViewportSwizzleNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdSetViewportSwizzleNV-commandBuffer-parameter | Y | | None | implicit | vkCmdSetViewportSwizzleNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetViewportSwizzleNV-commandBuffer-recording | Y | | None | implicit | vkCmdSetViewportSwizzleNV | commandBuffer must be in the recording state |
VUID-vkCmdSetViewportSwizzleNV-pViewportSwizzles-parameter | Y | | None | implicit | vkCmdSetViewportSwizzleNV | pViewportSwizzles must be a valid pointer to an array of viewportCount valid VkViewportSwizzleNV structures |
VUID-vkCmdSetViewportSwizzleNV-videocoding | Y | | None | implicit | vkCmdSetViewportSwizzleNV | This command must only be called outside of a video coding scope |
VUID-vkCmdSetViewportSwizzleNV-viewportCount-arraylength | Y | | None | implicit | vkCmdSetViewportSwizzleNV | viewportCount must be greater than 0 |
VUID-vkCmdSetViewportWScalingEnableNV-None-09423 | Y | | NegativeDynamicState.ExtendedDynamicState3CmdSetFeatureDisabled | explicit | vkCmdSetViewportWScalingEnableNV | At least one of the following must be true:
The extendedDynamicState3ViewportWScalingEnable feature is
enabled
The shaderObject feature is enabled
|
VUID-vkCmdSetViewportWScalingEnableNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetViewportWScalingEnableNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdSetViewportWScalingEnableNV-commandBuffer-parameter | Y | | None | implicit | vkCmdSetViewportWScalingEnableNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetViewportWScalingEnableNV-commandBuffer-recording | Y | | None | implicit | vkCmdSetViewportWScalingEnableNV | commandBuffer must be in the recording state |
VUID-vkCmdSetViewportWScalingEnableNV-videocoding | Y | | None | implicit | vkCmdSetViewportWScalingEnableNV | This command must only be called outside of a video coding scope |
VUID-vkCmdSetViewportWScalingNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdSetViewportWScalingNV | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdSetViewportWScalingNV-commandBuffer-parameter | Y | | None | implicit | vkCmdSetViewportWScalingNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSetViewportWScalingNV-commandBuffer-recording | Y | | None | implicit | vkCmdSetViewportWScalingNV | commandBuffer must be in the recording state |
VUID-vkCmdSetViewportWScalingNV-firstViewport-01324 | Y | | NegativeCommand.ViewportWScalingNV | explicit | vkCmdSetViewportWScalingNV | The sum of firstViewport and viewportCount must be between 1 and VkPhysicalDeviceLimits::maxViewports, inclusive |
VUID-vkCmdSetViewportWScalingNV-pViewportWScalings-parameter | Y | | None | implicit | vkCmdSetViewportWScalingNV | pViewportWScalings must be a valid pointer to an array of viewportCount VkViewportWScalingNV structures |
VUID-vkCmdSetViewportWScalingNV-videocoding | Y | | None | implicit | vkCmdSetViewportWScalingNV | This command must only be called outside of a video coding scope |
VUID-vkCmdSetViewportWScalingNV-viewportCount-arraylength | Y | | None | implicit | vkCmdSetViewportWScalingNV | viewportCount must be greater than 0 |
VUID-vkCmdSubpassShadingHUAWEI-ConstOffset-06551 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-02691 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-02692 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-02693 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-04931 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | This 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-06479 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-06550 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-07288 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | Any shader invocation executed by this command must terminate |
VUID-vkCmdSubpassShadingHUAWEI-None-07888 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-08114 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | Descriptors 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-08115 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-08116 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | Descriptors 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-08117 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-08119 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-08600 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | For 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-08601 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | 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 array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility |
VUID-vkCmdSubpassShadingHUAWEI-None-08604 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | Descriptors 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-08605 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-08606 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command |
VUID-vkCmdSubpassShadingHUAWEI-None-08607 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-08608 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-08609 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-08610 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-08611 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-08612 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-08613 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-09600 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-06975 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-06976 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-06974 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-09215 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-09216 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-09217 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-06973 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-06971 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-06972 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-06977 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-06978 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-04469 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-08795 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-08796 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-07027 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | For 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-07028 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | For 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-07029 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | For 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-07030 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | Any 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-04470 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-04471 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-04472 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-04473 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-02707 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-cmdpool | Y | | None | implicit | vkCmdSubpassShadingHUAWEI | The VkCommandPool that commandBuffer was allocated from must support graphics operations |
VUID-vkCmdSubpassShadingHUAWEI-commandBuffer-parameter | Y | | None | implicit | vkCmdSubpassShadingHUAWEI | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdSubpassShadingHUAWEI-commandBuffer-recording | Y | | None | implicit | vkCmdSubpassShadingHUAWEI | commandBuffer must be in the recording state |
VUID-vkCmdSubpassShadingHUAWEI-cubicRangeClamp-09212 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-02694 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | Any 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-02695 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | Any 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-02696 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | Any 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-07753 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-04553 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-09598 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-08602 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-04770 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-09599 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-09213 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | Any 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-renderpass | Y | | None | implicit | vkCmdSubpassShadingHUAWEI | This command must only be called inside of a render pass instance |
VUID-vkCmdSubpassShadingHUAWEI-selectableCubicWeights-09214 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-04474 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-04475 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-06936 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-06935 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-unnormalizedCoordinates-09635 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's levelCount and layerCount must be 1 |
VUID-vkCmdSubpassShadingHUAWEI-unnormalizedCoordinates-09636 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D |
VUID-vkCmdSubpassShadingHUAWEI-videocoding | Y | | None | implicit | vkCmdSubpassShadingHUAWEI | This command must only be called outside of a video coding scope |
VUID-vkCmdSubpassShadingHUAWEI-viewType-07752 | N | | None | explicit | vkCmdSubpassShadingHUAWEI | If 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-06551 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-02691 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-02692 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-02693 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-03429 | N | | None | explicit | vkCmdTraceRaysNV | Any shader group handle referenced by this call must have been queried from the currently bound ray tracing pipeline |
VUID-vkCmdTraceRaysNV-None-06479 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-06550 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-07288 | N | | None | explicit | vkCmdTraceRaysNV | Any shader invocation executed by this command must terminate |
VUID-vkCmdTraceRaysNV-None-07888 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-08114 | Y | | None | explicit | vkCmdTraceRaysNV | Descriptors 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-08115 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-08116 | N | | None | explicit | vkCmdTraceRaysNV | Descriptors 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-08117 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-08119 | N | | None | explicit | vkCmdTraceRaysNV | If 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-08600 | Y | | PositiveShaderPushConstants.SpecConstantSizeSet | explicit | vkCmdTraceRaysNV | For 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-08601 | N | | None | explicit | vkCmdTraceRaysNV | 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 array used to create the current VkShaderEXT , as described in Pipeline Layout Compatibility |
VUID-vkCmdTraceRaysNV-None-08604 | N | | None | explicit | vkCmdTraceRaysNV | Descriptors 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-08605 | N | | None | explicit | vkCmdTraceRaysNV | If 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-08606 | Y | | None | explicit | vkCmdTraceRaysNV | If the shaderObject feature is not enabled, a valid pipeline must be bound to the pipeline bind point used by this command |
VUID-vkCmdTraceRaysNV-None-08607 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-08608 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-08609 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-08610 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-08611 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-08612 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-08613 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-09458 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-09600 | N | | None | explicit | vkCmdTraceRaysNV | If 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-06975 | N | | None | explicit | vkCmdTraceRaysNV | If 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-06976 | N | | None | explicit | vkCmdTraceRaysNV | If 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-06974 | N | | None | explicit | vkCmdTraceRaysNV | If 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-09215 | N | | None | explicit | vkCmdTraceRaysNV | If 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-09216 | N | | None | explicit | vkCmdTraceRaysNV | If 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-09217 | N | | None | explicit | vkCmdTraceRaysNV | If 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-06973 | N | | None | explicit | vkCmdTraceRaysNV | If 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-06971 | N | | None | explicit | vkCmdTraceRaysNV | If 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-06972 | N | | None | explicit | vkCmdTraceRaysNV | If 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-06977 | N | | None | explicit | vkCmdTraceRaysNV | If 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-06978 | N | | None | explicit | vkCmdTraceRaysNV | If 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-04469 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-08795 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-08796 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-07027 | Y | | None | explicit | vkCmdTraceRaysNV | For 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-07028 | Y | | None | explicit | vkCmdTraceRaysNV | For 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-07029 | Y | | None | explicit | vkCmdTraceRaysNV | For 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-07030 | Y | | None | explicit | vkCmdTraceRaysNV | Any 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-04470 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-04471 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-04472 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-04473 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-02461 | Y | | None | explicit | vkCmdTraceRaysNV | callableShaderBindingOffset must be less than the size of callableShaderBindingTableBuffer |
VUID-vkCmdTraceRaysNV-callableShaderBindingOffset-02462 | Y | | PositiveShaderPushConstants.SpecConstantSizeSet | explicit | vkCmdTraceRaysNV | callableShaderBindingOffset must be a multiple of VkPhysicalDeviceRayTracingPropertiesNV::shaderGroupBaseAlignment |
VUID-vkCmdTraceRaysNV-callableShaderBindingStride-02465 | Y | | PositiveShaderPushConstants.SpecConstantSizeSet | explicit | vkCmdTraceRaysNV | callableShaderBindingStride must be a multiple of VkPhysicalDeviceRayTracingPropertiesNV::shaderGroupHandleSize |
VUID-vkCmdTraceRaysNV-callableShaderBindingStride-02468 | Y | | PositiveShaderPushConstants.SpecConstantSizeSet | explicit | vkCmdTraceRaysNV | callableShaderBindingStride must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxShaderGroupStride |
VUID-vkCmdTraceRaysNV-callableShaderBindingTableBuffer-04045 | N | | None | explicit | vkCmdTraceRaysNV | If callableShaderBindingTableBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object |
VUID-vkCmdTraceRaysNV-callableShaderBindingTableBuffer-parameter | Y | | None | implicit | vkCmdTraceRaysNV | If callableShaderBindingTableBuffer is not VK_NULL_HANDLE, callableShaderBindingTableBuffer must be a valid VkBuffer handle |
VUID-vkCmdTraceRaysNV-commandBuffer-02707 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-04624 | Y | | None | explicit | vkCmdTraceRaysNV | commandBuffer must not be a protected command buffer |
VUID-vkCmdTraceRaysNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdTraceRaysNV | The VkCommandPool that commandBuffer was allocated from must support compute operations |
VUID-vkCmdTraceRaysNV-commandBuffer-parameter | Y | | None | implicit | vkCmdTraceRaysNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdTraceRaysNV-commandBuffer-recording | Y | | None | implicit | vkCmdTraceRaysNV | commandBuffer must be in the recording state |
VUID-vkCmdTraceRaysNV-commonparent | Y | | None | implicit | vkCmdTraceRaysNV | Each 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-09212 | N | | None | explicit | vkCmdTraceRaysNV | If 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-02471 | Y | | PositiveShaderPushConstants.SpecConstantSizeSet | explicit | vkCmdTraceRaysNV | depth must be less than or equal to VkPhysicalDeviceLimits::maxComputeWorkGroupCount[2] |
VUID-vkCmdTraceRaysNV-filterCubic-02694 | Y | | None | explicit | vkCmdTraceRaysNV | Any 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-02695 | Y | | None | explicit | vkCmdTraceRaysNV | Any 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-02696 | Y | | None | explicit | vkCmdTraceRaysNV | Any 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-07753 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-02470 | Y | | PositiveShaderPushConstants.SpecConstantSizeSet | explicit | vkCmdTraceRaysNV | height must be less than or equal to VkPhysicalDeviceLimits::maxComputeWorkGroupCount[1] |
VUID-vkCmdTraceRaysNV-hitShaderBindingOffset-02459 | Y | | None | explicit | vkCmdTraceRaysNV | hitShaderBindingOffset must be less than the size of hitShaderBindingTableBuffer |
VUID-vkCmdTraceRaysNV-hitShaderBindingOffset-02460 | Y | | PositiveShaderPushConstants.SpecConstantSizeSet | explicit | vkCmdTraceRaysNV | hitShaderBindingOffset must be a multiple of VkPhysicalDeviceRayTracingPropertiesNV::shaderGroupBaseAlignment |
VUID-vkCmdTraceRaysNV-hitShaderBindingStride-02464 | Y | | PositiveShaderPushConstants.SpecConstantSizeSet | explicit | vkCmdTraceRaysNV | hitShaderBindingStride must be a multiple of VkPhysicalDeviceRayTracingPropertiesNV::shaderGroupHandleSize |
VUID-vkCmdTraceRaysNV-hitShaderBindingStride-02467 | Y | | PositiveShaderPushConstants.SpecConstantSizeSet | explicit | vkCmdTraceRaysNV | hitShaderBindingStride must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxShaderGroupStride |
VUID-vkCmdTraceRaysNV-hitShaderBindingTableBuffer-04044 | N | | None | explicit | vkCmdTraceRaysNV | If hitShaderBindingTableBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object |
VUID-vkCmdTraceRaysNV-hitShaderBindingTableBuffer-parameter | Y | | None | implicit | vkCmdTraceRaysNV | If hitShaderBindingTableBuffer is not VK_NULL_HANDLE, hitShaderBindingTableBuffer must be a valid VkBuffer handle |
VUID-vkCmdTraceRaysNV-magFilter-04553 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-09598 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-08602 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-03625 | N | | None | explicit | vkCmdTraceRaysNV | This 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-04770 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-09599 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-02457 | Y | | None | explicit | vkCmdTraceRaysNV | missShaderBindingOffset must be less than the size of missShaderBindingTableBuffer |
VUID-vkCmdTraceRaysNV-missShaderBindingOffset-02458 | Y | | PositiveShaderPushConstants.SpecConstantSizeSet | explicit | vkCmdTraceRaysNV | missShaderBindingOffset must be a multiple of VkPhysicalDeviceRayTracingPropertiesNV::shaderGroupBaseAlignment |
VUID-vkCmdTraceRaysNV-missShaderBindingStride-02463 | Y | | PositiveShaderPushConstants.SpecConstantSizeSet | explicit | vkCmdTraceRaysNV | missShaderBindingStride must be a multiple of VkPhysicalDeviceRayTracingPropertiesNV::shaderGroupHandleSize |
VUID-vkCmdTraceRaysNV-missShaderBindingStride-02466 | Y | | PositiveShaderPushConstants.SpecConstantSizeSet | explicit | vkCmdTraceRaysNV | missShaderBindingStride must be less than or equal to VkPhysicalDeviceRayTracingPropertiesNV::maxShaderGroupStride |
VUID-vkCmdTraceRaysNV-missShaderBindingTableBuffer-04043 | N | | None | explicit | vkCmdTraceRaysNV | If missShaderBindingTableBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object |
VUID-vkCmdTraceRaysNV-missShaderBindingTableBuffer-parameter | Y | | None | implicit | vkCmdTraceRaysNV | If missShaderBindingTableBuffer is not VK_NULL_HANDLE, missShaderBindingTableBuffer must be a valid VkBuffer handle |
VUID-vkCmdTraceRaysNV-raygenShaderBindingOffset-02455 | Y | | None | explicit | vkCmdTraceRaysNV | raygenShaderBindingOffset must be less than the size of raygenShaderBindingTableBuffer |
VUID-vkCmdTraceRaysNV-raygenShaderBindingOffset-02456 | Y | | PositiveShaderPushConstants.SpecConstantSizeSet | explicit | vkCmdTraceRaysNV | raygenShaderBindingOffset must be a multiple of VkPhysicalDeviceRayTracingPropertiesNV::shaderGroupBaseAlignment |
VUID-vkCmdTraceRaysNV-raygenShaderBindingTableBuffer-04042 | N | | None | explicit | vkCmdTraceRaysNV | If raygenShaderBindingTableBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object |
VUID-vkCmdTraceRaysNV-raygenShaderBindingTableBuffer-parameter | Y | | None | implicit | vkCmdTraceRaysNV | raygenShaderBindingTableBuffer must be a valid VkBuffer handle |
VUID-vkCmdTraceRaysNV-reductionMode-09213 | N | | None | explicit | vkCmdTraceRaysNV | Any 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-renderpass | Y | | None | implicit | vkCmdTraceRaysNV | This command must only be called outside of a render pass instance |
VUID-vkCmdTraceRaysNV-selectableCubicWeights-09214 | N | | None | explicit | vkCmdTraceRaysNV | If 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-04474 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-04475 | N | | None | explicit | vkCmdTraceRaysNV | If 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-06936 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-06935 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-unnormalizedCoordinates-09635 | Y | | None | explicit | vkCmdTraceRaysNV | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's levelCount and layerCount must be 1 |
VUID-vkCmdTraceRaysNV-unnormalizedCoordinates-09636 | N | | None | explicit | vkCmdTraceRaysNV | If a VkSampler created with unnormalizedCoordinates equal to VK_TRUE is used to sample a VkImageView as a result of this command, then the image view's viewType must be VK_IMAGE_VIEW_TYPE_1D or VK_IMAGE_VIEW_TYPE_2D |
VUID-vkCmdTraceRaysNV-videocoding | Y | | None | implicit | vkCmdTraceRaysNV | This command must only be called outside of a video coding scope |
VUID-vkCmdTraceRaysNV-viewType-07752 | Y | | None | explicit | vkCmdTraceRaysNV | If 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-02469 | Y | | PositiveShaderPushConstants.SpecConstantSizeSet | explicit | vkCmdTraceRaysNV | width must be less than or equal to VkPhysicalDeviceLimits::maxComputeWorkGroupCount[0] |
VUID-vkCmdUpdatePipelineIndirectBufferNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdUpdatePipelineIndirectBufferNV | The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations |
VUID-vkCmdUpdatePipelineIndirectBufferNV-commandBuffer-parameter | Y | | None | implicit | vkCmdUpdatePipelineIndirectBufferNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdUpdatePipelineIndirectBufferNV-commandBuffer-recording | Y | | None | implicit | vkCmdUpdatePipelineIndirectBufferNV | commandBuffer must be in the recording state |
VUID-vkCmdUpdatePipelineIndirectBufferNV-commonparent | Y | | None | implicit | vkCmdUpdatePipelineIndirectBufferNV | Both of commandBuffer, and pipeline must have been created, allocated, or retrieved from the same VkDevice |
VUID-vkCmdUpdatePipelineIndirectBufferNV-deviceGeneratedComputePipelines-09021 | N | | None | explicit | vkCmdUpdatePipelineIndirectBufferNV | The VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedComputePipelines feature must be enabled |
VUID-vkCmdUpdatePipelineIndirectBufferNV-pipeline-09019 | N | | None | explicit | vkCmdUpdatePipelineIndirectBufferNV | pipeline must have been created with VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV flag set |
VUID-vkCmdUpdatePipelineIndirectBufferNV-pipeline-09020 | N | | None | explicit | vkCmdUpdatePipelineIndirectBufferNV | pipeline must have been created with VkComputePipelineIndirectBufferInfoNV structure specifying a valid address where its metadata will be saved |
VUID-vkCmdUpdatePipelineIndirectBufferNV-pipeline-parameter | Y | | None | implicit | vkCmdUpdatePipelineIndirectBufferNV | pipeline must be a valid VkPipeline handle |
VUID-vkCmdUpdatePipelineIndirectBufferNV-pipelineBindPoint-09018 | N | | None | explicit | vkCmdUpdatePipelineIndirectBufferNV | pipelineBindPoint must be VK_PIPELINE_BIND_POINT_COMPUTE |
VUID-vkCmdUpdatePipelineIndirectBufferNV-pipelineBindPoint-parameter | Y | | None | implicit | vkCmdUpdatePipelineIndirectBufferNV | pipelineBindPoint must be a valid VkPipelineBindPoint value |
VUID-vkCmdUpdatePipelineIndirectBufferNV-renderpass | Y | | None | implicit | vkCmdUpdatePipelineIndirectBufferNV | This command must only be called outside of a render pass instance |
VUID-vkCmdUpdatePipelineIndirectBufferNV-videocoding | Y | | None | implicit | vkCmdUpdatePipelineIndirectBufferNV | This command must only be called outside of a video coding scope |
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-accelerationStructure-03757 | N | | None | explicit | vkCmdWriteAccelerationStructuresPropertiesNV | accelerationStructure must be bound completely and contiguously to a single VkDeviceMemory object via vkBindAccelerationStructureMemoryNV |
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-accelerationStructureCount-arraylength | Y | | None | implicit | vkCmdWriteAccelerationStructuresPropertiesNV | accelerationStructureCount must be greater than 0 |
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-commandBuffer-cmdpool | Y | | None | implicit | vkCmdWriteAccelerationStructuresPropertiesNV | The VkCommandPool that commandBuffer was allocated from must support compute operations |
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-commandBuffer-parameter | Y | | None | implicit | vkCmdWriteAccelerationStructuresPropertiesNV | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-commandBuffer-recording | Y | | None | implicit | vkCmdWriteAccelerationStructuresPropertiesNV | commandBuffer must be in the recording state |
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-commonparent | Y | | None | implicit | vkCmdWriteAccelerationStructuresPropertiesNV | Each of commandBuffer, queryPool, and the elements of pAccelerationStructures must have been created, allocated, or retrieved from the same VkDevice |
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-pAccelerationStructures-04958 | N | | None | explicit | vkCmdWriteAccelerationStructuresPropertiesNV | All acceleration structures in pAccelerationStructures must have been built prior to the execution of this command |
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-pAccelerationStructures-06215 | Y | | None | explicit | vkCmdWriteAccelerationStructuresPropertiesNV | All 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-parameter | Y | | None | implicit | vkCmdWriteAccelerationStructuresPropertiesNV | pAccelerationStructures must be a valid pointer to an array of accelerationStructureCount valid VkAccelerationStructureNV handles |
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryPool-03755 | Y | | None | explicit | vkCmdWriteAccelerationStructuresPropertiesNV | queryPool must have been created with a queryType matching queryType |
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryPool-03756 | N | | None | explicit | vkCmdWriteAccelerationStructuresPropertiesNV | The queries identified by queryPool and firstQuery must be unavailable |
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryPool-parameter | Y | | None | implicit | vkCmdWriteAccelerationStructuresPropertiesNV | queryPool must be a valid VkQueryPool handle |
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryType-06216 | Y | | None | explicit | vkCmdWriteAccelerationStructuresPropertiesNV | queryType must be VK_QUERY_TYPE_ACCELERATION_STRUCTURE_COMPACTED_SIZE_NV |
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-queryType-parameter | Y | | None | implicit | vkCmdWriteAccelerationStructuresPropertiesNV | queryType must be a valid VkQueryType value |
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-renderpass | Y | | None | implicit | vkCmdWriteAccelerationStructuresPropertiesNV | This command must only be called outside of a render pass instance |
VUID-vkCmdWriteAccelerationStructuresPropertiesNV-videocoding | Y | | None | implicit | vkCmdWriteAccelerationStructuresPropertiesNV | This command must only be called outside of a video coding scope |
VUID-vkCmdWriteBufferMarker2AMD-commandBuffer-cmdpool | Y | | None | implicit | vkCmdWriteBufferMarker2AMD | The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations |
VUID-vkCmdWriteBufferMarker2AMD-commandBuffer-parameter | Y | | None | implicit | vkCmdWriteBufferMarker2AMD | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdWriteBufferMarker2AMD-commandBuffer-recording | Y | | None | implicit | vkCmdWriteBufferMarker2AMD | commandBuffer must be in the recording state |
VUID-vkCmdWriteBufferMarker2AMD-commonparent | Y | | None | implicit | vkCmdWriteBufferMarker2AMD | Both of commandBuffer, and dstBuffer must have been created, allocated, or retrieved from the same VkDevice |
VUID-vkCmdWriteBufferMarker2AMD-dstBuffer-03897 | N | | None | explicit | vkCmdWriteBufferMarker2AMD | dstBuffer must have been created with the VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag |
VUID-vkCmdWriteBufferMarker2AMD-dstBuffer-03898 | N | | None | explicit | vkCmdWriteBufferMarker2AMD | If dstBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object |
VUID-vkCmdWriteBufferMarker2AMD-dstBuffer-parameter | Y | | None | implicit | vkCmdWriteBufferMarker2AMD | dstBuffer must be a valid VkBuffer handle |
VUID-vkCmdWriteBufferMarker2AMD-dstOffset-03896 | N | | None | explicit | vkCmdWriteBufferMarker2AMD | dstOffset must be less than or equal to the size of dstBuffer minus 4 |
VUID-vkCmdWriteBufferMarker2AMD-dstOffset-03899 | N | | None | explicit | vkCmdWriteBufferMarker2AMD | dstOffset must be a multiple of 4 |
VUID-vkCmdWriteBufferMarker2AMD-stage-03894 | N | | None | explicit | vkCmdWriteBufferMarker2AMD | stage must include only a single pipeline stage |
VUID-vkCmdWriteBufferMarker2AMD-stage-03895 | N | | None | explicit | vkCmdWriteBufferMarker2AMD | stage 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-03929 | Y | | None | explicit | vkCmdWriteBufferMarker2AMD | If the geometryShader feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_GEOMETRY_SHADER_BIT |
VUID-vkCmdWriteBufferMarker2AMD-stage-03930 | Y | | None | explicit | vkCmdWriteBufferMarker2AMD | If 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-03931 | Y | | None | explicit | vkCmdWriteBufferMarker2AMD | If the conditionalRendering feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_CONDITIONAL_RENDERING_BIT_EXT |
VUID-vkCmdWriteBufferMarker2AMD-stage-03932 | Y | | None | explicit | vkCmdWriteBufferMarker2AMD | If the fragmentDensityMap feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_FRAGMENT_DENSITY_PROCESS_BIT_EXT |
VUID-vkCmdWriteBufferMarker2AMD-stage-03933 | Y | | None | explicit | vkCmdWriteBufferMarker2AMD | If the transformFeedback feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_TRANSFORM_FEEDBACK_BIT_EXT |
VUID-vkCmdWriteBufferMarker2AMD-stage-03934 | Y | | None | explicit | vkCmdWriteBufferMarker2AMD | If the meshShader feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_MESH_SHADER_BIT_EXT |
VUID-vkCmdWriteBufferMarker2AMD-stage-03935 | Y | | None | explicit | vkCmdWriteBufferMarker2AMD | If the taskShader feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_TASK_SHADER_BIT_EXT |
VUID-vkCmdWriteBufferMarker2AMD-stage-04957 | Y | | None | explicit | vkCmdWriteBufferMarker2AMD | If the subpassShading feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_SUBPASS_SHADER_BIT_HUAWEI |
VUID-vkCmdWriteBufferMarker2AMD-stage-04995 | Y | | None | explicit | vkCmdWriteBufferMarker2AMD | If the invocationMask feature is not enabled, stage must not contain VK_PIPELINE_STAGE_2_INVOCATION_MASK_BIT_HUAWEI |
VUID-vkCmdWriteBufferMarker2AMD-stage-07316 | Y | | None | explicit | vkCmdWriteBufferMarker2AMD | If neither the shadingRateImage or attachmentFragmentShadingRate are enabled, stage must not contain VK_PIPELINE_STAGE_2_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
VUID-vkCmdWriteBufferMarker2AMD-stage-07946 | Y | | None | explicit | vkCmdWriteBufferMarker2AMD | If 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-parameter | Y | | None | implicit | vkCmdWriteBufferMarker2AMD | stage must be a valid combination of VkPipelineStageFlagBits2 values |
VUID-vkCmdWriteBufferMarker2AMD-synchronization2-03893 | N | | None | explicit | vkCmdWriteBufferMarker2AMD | The synchronization2 feature must be enabled |
VUID-vkCmdWriteBufferMarker2AMD-videocoding | Y | | None | implicit | vkCmdWriteBufferMarker2AMD | This command must only be called outside of a video coding scope |
VUID-vkCmdWriteBufferMarkerAMD-commandBuffer-cmdpool | Y | | None | implicit | vkCmdWriteBufferMarkerAMD | The VkCommandPool that commandBuffer was allocated from must support transfer, graphics, or compute operations |
VUID-vkCmdWriteBufferMarkerAMD-commandBuffer-parameter | Y | | None | implicit | vkCmdWriteBufferMarkerAMD | commandBuffer must be a valid VkCommandBuffer handle |
VUID-vkCmdWriteBufferMarkerAMD-commandBuffer-recording | Y | | None | implicit | vkCmdWriteBufferMarkerAMD | commandBuffer must be in the recording state |
VUID-vkCmdWriteBufferMarkerAMD-commonparent | Y | | None | implicit | vkCmdWriteBufferMarkerAMD | Both of commandBuffer, and dstBuffer must have been created, allocated, or retrieved from the same VkDevice |
VUID-vkCmdWriteBufferMarkerAMD-dstBuffer-01799 | N | | None | explicit | vkCmdWriteBufferMarkerAMD | dstBuffer must have been created with VK_BUFFER_USAGE_TRANSFER_DST_BIT usage flag |
VUID-vkCmdWriteBufferMarkerAMD-dstBuffer-01800 | N | | None | explicit | vkCmdWriteBufferMarkerAMD | If dstBuffer is non-sparse then it must be bound completely and contiguously to a single VkDeviceMemory object |
VUID-vkCmdWriteBufferMarkerAMD-dstBuffer-parameter | Y | | None | implicit | vkCmdWriteBufferMarkerAMD | dstBuffer must be a valid VkBuffer handle |
VUID-vkCmdWriteBufferMarkerAMD-dstOffset-01798 | N | | None | explicit | vkCmdWriteBufferMarkerAMD | dstOffset must be less than or equal to the size of dstBuffer minus 4 |
VUID-vkCmdWriteBufferMarkerAMD-dstOffset-01801 | N | | None | explicit | vkCmdWriteBufferMarkerAMD | dstOffset must be a multiple of 4 |
VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04074 | Y | | None | explicit | vkCmdWriteBufferMarkerAMD | pipelineStage 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-04075 | Y | | None | explicit | vkCmdWriteBufferMarkerAMD | If the geometryShader feature is not enabled, pipelineStage must not be VK_PIPELINE_STAGE_GEOMETRY_SHADER_BIT |
VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04076 | Y | | None | explicit | vkCmdWriteBufferMarkerAMD | If 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-04077 | Y | | None | explicit | vkCmdWriteBufferMarkerAMD | If the conditionalRendering feature is not enabled, pipelineStage must not be VK_PIPELINE_STAGE_CONDITIONAL_RENDERING_BIT_EXT |
VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04078 | Y | | None | explicit | vkCmdWriteBufferMarkerAMD | If the fragmentDensityMap feature is not enabled, pipelineStage must not be VK_PIPELINE_STAGE_FRAGMENT_DENSITY_PROCESS_BIT_EXT |
VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04079 | Y | | None | explicit | vkCmdWriteBufferMarkerAMD | If the transformFeedback feature is not enabled, pipelineStage must not be VK_PIPELINE_STAGE_TRANSFORM_FEEDBACK_BIT_EXT |
VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-04080 | Y | | None | explicit | vkCmdWriteBufferMarkerAMD | If the meshShader feature is not enabled, pipelineStage must not be VK_PIPELINE_STAGE_MESH_SHADER_BIT_EXT |
VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-07077 | Y | | None | explicit | vkCmdWriteBufferMarkerAMD | If the taskShader feature is not enabled, pipelineStage must not be VK_PIPELINE_STAGE_TASK_SHADER_BIT_EXT |
VUID-vkCmdWriteBufferMarkerAMD-pipelineStage-parameter | Y | | None | implicit | vkCmdWriteBufferMarkerAMD | If pipelineStage is not 0, pipelineStage must be a valid VkPipelineStageFlagBits value |
VUID-vkCmdWriteBufferMarkerAMD-rayTracingPipeline-07943 | N | | None | explicit | vkCmdWriteBufferMarkerAMD | If 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-07314 | N | | None | explicit | vkCmdWriteBufferMarkerAMD | If neither the shadingRateImage or attachmentFragmentShadingRate are enabled, pipelineStage must not be VK_PIPELINE_STAGE_FRAGMENT_SHADING_RATE_ATTACHMENT_BIT_KHR |
VUID-vkCmdWriteBufferMarkerAMD-synchronization2-06489 | N | | None | explicit | vkCmdWriteBufferMarkerAMD | If the synchronization2 feature is not enabled, pipelineStage must not be VK_PIPELINE_STAGE_NONE |
VUID-vkCmdWriteBufferMarkerAMD-videocoding | Y | | None | implicit | vkCmdWriteBufferMarkerAMD | This command must only be called outside of a video coding scope |
VUID-vkCompileDeferredNV-device-parameter | Y | | None | implicit | vkCompileDeferredNV | device must be a valid VkDevice handle |
VUID-vkCompileDeferredNV-pipeline-02237 | N | | None | explicit | vkCompileDeferredNV | pipeline must have been created with VK_PIPELINE_CREATE_DEFER_COMPILE_BIT_NV |
VUID-vkCompileDeferredNV-pipeline-04621 | N | | None | explicit | vkCompileDeferredNV | pipeline must be a ray tracing pipeline |
VUID-vkCompileDeferredNV-pipeline-parameter | Y | | None | implicit | vkCompileDeferredNV | pipeline must be a valid VkPipeline handle |
VUID-vkCompileDeferredNV-pipeline-parent | Y | | None | implicit | vkCompileDeferredNV | pipeline must have been created, allocated, or retrieved from device |
VUID-vkCompileDeferredNV-shader-02238 | N | | None | explicit | vkCompileDeferredNV | shader must not have been called as a deferred compile before |
VUID-vkCreateAccelerationStructureNV-device-parameter | Y | | None | implicit | vkCreateAccelerationStructureNV | device must be a valid VkDevice handle |
VUID-vkCreateAccelerationStructureNV-pAccelerationStructure-parameter | Y | | None | implicit | vkCreateAccelerationStructureNV | pAccelerationStructure must be a valid pointer to a VkAccelerationStructureNV handle |
VUID-vkCreateAccelerationStructureNV-pAllocator-parameter | Y | | None | implicit | vkCreateAccelerationStructureNV | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkCreateAccelerationStructureNV-pCreateInfo-parameter | Y | | None | implicit | vkCreateAccelerationStructureNV | pCreateInfo must be a valid pointer to a valid VkAccelerationStructureCreateInfoNV structure |
VUID-vkCreateBufferCollectionFUCHSIA-device-parameter | Y | | None | implicit | vkCreateBufferCollectionFUCHSIA | device must be a valid VkDevice handle |
VUID-vkCreateBufferCollectionFUCHSIA-pAllocator-parameter | Y | | None | implicit | vkCreateBufferCollectionFUCHSIA | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkCreateBufferCollectionFUCHSIA-pCollection-parameter | Y | | None | implicit | vkCreateBufferCollectionFUCHSIA | pCollection must be a valid pointer to a VkBufferCollectionFUCHSIA handle |
VUID-vkCreateBufferCollectionFUCHSIA-pCreateInfo-parameter | Y | | None | implicit | vkCreateBufferCollectionFUCHSIA | pCreateInfo must be a valid pointer to a valid VkBufferCollectionCreateInfoFUCHSIA structure |
VUID-vkCreateCuFunctionNVX-device-parameter | Y | | None | implicit | vkCreateCuFunctionNVX | device must be a valid VkDevice handle |
VUID-vkCreateCuFunctionNVX-pAllocator-parameter | Y | | None | implicit | vkCreateCuFunctionNVX | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkCreateCuFunctionNVX-pCreateInfo-parameter | Y | | None | implicit | vkCreateCuFunctionNVX | pCreateInfo must be a valid pointer to a valid VkCuFunctionCreateInfoNVX structure |
VUID-vkCreateCuFunctionNVX-pFunction-parameter | Y | | None | implicit | vkCreateCuFunctionNVX | pFunction must be a valid pointer to a VkCuFunctionNVX handle |
VUID-vkCreateCuModuleNVX-device-parameter | Y | | None | implicit | vkCreateCuModuleNVX | device must be a valid VkDevice handle |
VUID-vkCreateCuModuleNVX-pAllocator-parameter | Y | | None | implicit | vkCreateCuModuleNVX | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkCreateCuModuleNVX-pCreateInfo-parameter | Y | | None | implicit | vkCreateCuModuleNVX | pCreateInfo must be a valid pointer to a valid VkCuModuleCreateInfoNVX structure |
VUID-vkCreateCuModuleNVX-pModule-parameter | Y | | None | implicit | vkCreateCuModuleNVX | pModule must be a valid pointer to a VkCuModuleNVX handle |
VUID-vkCreateCudaFunctionNV-device-parameter | Y | | None | implicit | vkCreateCudaFunctionNV | device must be a valid VkDevice handle |
VUID-vkCreateCudaFunctionNV-pAllocator-parameter | Y | | None | implicit | vkCreateCudaFunctionNV | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkCreateCudaFunctionNV-pCreateInfo-parameter | Y | | None | implicit | vkCreateCudaFunctionNV | pCreateInfo must be a valid pointer to a valid VkCudaFunctionCreateInfoNV structure |
VUID-vkCreateCudaFunctionNV-pFunction-parameter | Y | | None | implicit | vkCreateCudaFunctionNV | pFunction must be a valid pointer to a VkCudaFunctionNV handle |
VUID-vkCreateCudaModuleNV-device-parameter | Y | | None | implicit | vkCreateCudaModuleNV | device must be a valid VkDevice handle |
VUID-vkCreateCudaModuleNV-pAllocator-parameter | Y | | None | implicit | vkCreateCudaModuleNV | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkCreateCudaModuleNV-pCreateInfo-parameter | Y | | None | implicit | vkCreateCudaModuleNV | pCreateInfo must be a valid pointer to a valid VkCudaModuleCreateInfoNV structure |
VUID-vkCreateCudaModuleNV-pModule-parameter | Y | | None | implicit | vkCreateCudaModuleNV | pModule must be a valid pointer to a VkCudaModuleNV handle |
VUID-vkCreateExecutionGraphPipelinesAMDX-createInfoCount-arraylength | Y | | None | implicit | vkCreateExecutionGraphPipelinesAMDX | createInfoCount must be greater than 0 |
VUID-vkCreateExecutionGraphPipelinesAMDX-device-parameter | Y | | None | implicit | vkCreateExecutionGraphPipelinesAMDX | device must be a valid VkDevice handle |
VUID-vkCreateExecutionGraphPipelinesAMDX-flags-09125 | N | | None | explicit | vkCreateExecutionGraphPipelinesAMDX | If 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-09126 | N | | None | explicit | vkCreateExecutionGraphPipelinesAMDX | If 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-parameter | Y | | None | implicit | vkCreateExecutionGraphPipelinesAMDX | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkCreateExecutionGraphPipelinesAMDX-pCreateInfos-parameter | Y | | None | implicit | vkCreateExecutionGraphPipelinesAMDX | pCreateInfos must be a valid pointer to an array of createInfoCount valid VkExecutionGraphPipelineCreateInfoAMDX structures |
VUID-vkCreateExecutionGraphPipelinesAMDX-pPipelines-parameter | Y | | None | implicit | vkCreateExecutionGraphPipelinesAMDX | pPipelines must be a valid pointer to an array of createInfoCount VkPipeline handles |
VUID-vkCreateExecutionGraphPipelinesAMDX-pipelineCache-09127 | N | | None | explicit | vkCreateExecutionGraphPipelinesAMDX | If pipelineCache was created with VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, host access to pipelineCache must be externally synchronized |
VUID-vkCreateExecutionGraphPipelinesAMDX-pipelineCache-parameter | Y | | None | implicit | vkCreateExecutionGraphPipelinesAMDX | If pipelineCache is not VK_NULL_HANDLE, pipelineCache must be a valid VkPipelineCache handle |
VUID-vkCreateExecutionGraphPipelinesAMDX-pipelineCache-parent | Y | | None | implicit | vkCreateExecutionGraphPipelinesAMDX | If pipelineCache is a valid handle, it must have been created, allocated, or retrieved from device |
VUID-vkCreateExecutionGraphPipelinesAMDX-shaderEnqueue-09124 | N | | None | explicit | vkCreateExecutionGraphPipelinesAMDX | The shaderEnqueue feature must be enabled |
VUID-vkCreateIOSSurfaceMVK-instance-parameter | Y | | None | implicit | vkCreateIOSSurfaceMVK | instance must be a valid VkInstance handle |
VUID-vkCreateIOSSurfaceMVK-pAllocator-parameter | Y | | None | implicit | vkCreateIOSSurfaceMVK | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkCreateIOSSurfaceMVK-pCreateInfo-parameter | Y | | None | implicit | vkCreateIOSSurfaceMVK | pCreateInfo must be a valid pointer to a valid VkIOSSurfaceCreateInfoMVK structure |
VUID-vkCreateIOSSurfaceMVK-pSurface-parameter | Y | | None | implicit | vkCreateIOSSurfaceMVK | pSurface must be a valid pointer to a VkSurfaceKHR handle |
VUID-vkCreateImagePipeSurfaceFUCHSIA-instance-parameter | Y | | None | implicit | vkCreateImagePipeSurfaceFUCHSIA | instance must be a valid VkInstance handle |
VUID-vkCreateImagePipeSurfaceFUCHSIA-pAllocator-parameter | Y | | None | implicit | vkCreateImagePipeSurfaceFUCHSIA | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkCreateImagePipeSurfaceFUCHSIA-pCreateInfo-parameter | Y | | None | implicit | vkCreateImagePipeSurfaceFUCHSIA | pCreateInfo must be a valid pointer to a valid VkImagePipeSurfaceCreateInfoFUCHSIA structure |
VUID-vkCreateImagePipeSurfaceFUCHSIA-pSurface-parameter | Y | | None | implicit | vkCreateImagePipeSurfaceFUCHSIA | pSurface must be a valid pointer to a VkSurfaceKHR handle |
VUID-vkCreateIndirectCommandsLayoutNV-device-parameter | Y | | None | implicit | vkCreateIndirectCommandsLayoutNV | device must be a valid VkDevice handle |
VUID-vkCreateIndirectCommandsLayoutNV-deviceGeneratedCommands-02929 | N | | None | explicit | vkCreateIndirectCommandsLayoutNV | The VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV::deviceGeneratedCommands feature must be enabled |
VUID-vkCreateIndirectCommandsLayoutNV-pAllocator-parameter | Y | | None | implicit | vkCreateIndirectCommandsLayoutNV | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkCreateIndirectCommandsLayoutNV-pCreateInfo-parameter | Y | | None | implicit | vkCreateIndirectCommandsLayoutNV | pCreateInfo must be a valid pointer to a valid VkIndirectCommandsLayoutCreateInfoNV structure |
VUID-vkCreateIndirectCommandsLayoutNV-pIndirectCommandsLayout-parameter | Y | | None | implicit | vkCreateIndirectCommandsLayoutNV | pIndirectCommandsLayout must be a valid pointer to a VkIndirectCommandsLayoutNV handle |
VUID-vkCreateMacOSSurfaceMVK-instance-parameter | Y | | None | implicit | vkCreateMacOSSurfaceMVK | instance must be a valid VkInstance handle |
VUID-vkCreateMacOSSurfaceMVK-pAllocator-parameter | Y | | None | implicit | vkCreateMacOSSurfaceMVK | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkCreateMacOSSurfaceMVK-pCreateInfo-parameter | Y | | None | implicit | vkCreateMacOSSurfaceMVK | pCreateInfo must be a valid pointer to a valid VkMacOSSurfaceCreateInfoMVK structure |
VUID-vkCreateMacOSSurfaceMVK-pSurface-parameter | Y | | None | implicit | vkCreateMacOSSurfaceMVK | pSurface must be a valid pointer to a VkSurfaceKHR handle |
VUID-vkCreateOpticalFlowSessionNV-device-parameter | Y | | None | implicit | vkCreateOpticalFlowSessionNV | device must be a valid VkDevice handle |
VUID-vkCreateOpticalFlowSessionNV-pAllocator-parameter | Y | | None | implicit | vkCreateOpticalFlowSessionNV | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkCreateOpticalFlowSessionNV-pCreateInfo-parameter | Y | | None | implicit | vkCreateOpticalFlowSessionNV | pCreateInfo must be a valid pointer to a valid VkOpticalFlowSessionCreateInfoNV structure |
VUID-vkCreateOpticalFlowSessionNV-pSession-parameter | Y | | None | implicit | vkCreateOpticalFlowSessionNV | pSession must be a valid pointer to a VkOpticalFlowSessionNV handle |
VUID-vkCreateRayTracingPipelinesNV-createInfoCount-arraylength | Y | | NegativeRayTracingPipelineNV.BasicUsage | implicit | vkCreateRayTracingPipelinesNV | createInfoCount must be greater than 0 |
VUID-vkCreateRayTracingPipelinesNV-device-parameter | Y | | None | implicit | vkCreateRayTracingPipelinesNV | device must be a valid VkDevice handle |
VUID-vkCreateRayTracingPipelinesNV-flags-03415 | Y | | NegativeRayTracingPipelineNV.BasicUsage | explicit | vkCreateRayTracingPipelinesNV | If 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-03416 | Y | | None | explicit | vkCreateRayTracingPipelinesNV | If 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-03816 | Y | | None | explicit | vkCreateRayTracingPipelinesNV | flags must not contain the VK_PIPELINE_CREATE_DISPATCH_BASE flag |
VUID-vkCreateRayTracingPipelinesNV-pAllocator-parameter | Y | | None | implicit | vkCreateRayTracingPipelinesNV | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkCreateRayTracingPipelinesNV-pCreateInfos-parameter | Y | | None | implicit | vkCreateRayTracingPipelinesNV | pCreateInfos must be a valid pointer to an array of createInfoCount valid VkRayTracingPipelineCreateInfoNV structures |
VUID-vkCreateRayTracingPipelinesNV-pPipelines-parameter | Y | | None | implicit | vkCreateRayTracingPipelinesNV | pPipelines must be a valid pointer to an array of createInfoCount VkPipeline handles |
VUID-vkCreateRayTracingPipelinesNV-pipelineCache-02903 | N | | None | explicit | vkCreateRayTracingPipelinesNV | If pipelineCache was created with VK_PIPELINE_CACHE_CREATE_EXTERNALLY_SYNCHRONIZED_BIT, host access to pipelineCache must be externally synchronized |
VUID-vkCreateRayTracingPipelinesNV-pipelineCache-parameter | Y | | None | implicit | vkCreateRayTracingPipelinesNV | If pipelineCache is not VK_NULL_HANDLE, pipelineCache must be a valid VkPipelineCache handle |
VUID-vkCreateRayTracingPipelinesNV-pipelineCache-parent | Y | | None | implicit | vkCreateRayTracingPipelinesNV | If pipelineCache is a valid handle, it must have been created, allocated, or retrieved from device |
VUID-vkCreateScreenSurfaceQNX-instance-parameter | Y | | None | implicit | vkCreateScreenSurfaceQNX | instance must be a valid VkInstance handle |
VUID-vkCreateScreenSurfaceQNX-pAllocator-parameter | Y | | None | implicit | vkCreateScreenSurfaceQNX | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkCreateScreenSurfaceQNX-pCreateInfo-parameter | Y | | None | implicit | vkCreateScreenSurfaceQNX | pCreateInfo must be a valid pointer to a valid VkScreenSurfaceCreateInfoQNX structure |
VUID-vkCreateScreenSurfaceQNX-pSurface-parameter | Y | | None | implicit | vkCreateScreenSurfaceQNX | pSurface must be a valid pointer to a VkSurfaceKHR handle |
VUID-vkCreateStreamDescriptorSurfaceGGP-instance-parameter | Y | | None | implicit | vkCreateStreamDescriptorSurfaceGGP | instance must be a valid VkInstance handle |
VUID-vkCreateStreamDescriptorSurfaceGGP-pAllocator-parameter | Y | | None | implicit | vkCreateStreamDescriptorSurfaceGGP | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkCreateStreamDescriptorSurfaceGGP-pCreateInfo-parameter | Y | | None | implicit | vkCreateStreamDescriptorSurfaceGGP | pCreateInfo must be a valid pointer to a valid VkStreamDescriptorSurfaceCreateInfoGGP structure |
VUID-vkCreateStreamDescriptorSurfaceGGP-pSurface-parameter | Y | | None | implicit | vkCreateStreamDescriptorSurfaceGGP | pSurface must be a valid pointer to a VkSurfaceKHR handle |
VUID-vkCreateViSurfaceNN-instance-parameter | Y | | None | implicit | vkCreateViSurfaceNN | instance must be a valid VkInstance handle |
VUID-vkCreateViSurfaceNN-pAllocator-parameter | Y | | None | implicit | vkCreateViSurfaceNN | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkCreateViSurfaceNN-pCreateInfo-parameter | Y | | None | implicit | vkCreateViSurfaceNN | pCreateInfo must be a valid pointer to a valid VkViSurfaceCreateInfoNN structure |
VUID-vkCreateViSurfaceNN-pSurface-parameter | Y | | None | implicit | vkCreateViSurfaceNN | pSurface must be a valid pointer to a VkSurfaceKHR handle |
VUID-vkDestroyAccelerationStructureNV-accelerationStructure-03752 | Y | | NegativeRayTracingNV.ObjInUseCmdBuildAccelerationStructure | explicit | vkDestroyAccelerationStructureNV | All submitted commands that refer to accelerationStructure must have completed execution |
VUID-vkDestroyAccelerationStructureNV-accelerationStructure-03753 | Y | | None | explicit | vkDestroyAccelerationStructureNV | If VkAllocationCallbacks were provided when accelerationStructure was created, a compatible set of callbacks must be provided here |
VUID-vkDestroyAccelerationStructureNV-accelerationStructure-03754 | Y | | None | explicit | vkDestroyAccelerationStructureNV | If no VkAllocationCallbacks were provided when accelerationStructure was created, pAllocator must be NULL |
VUID-vkDestroyAccelerationStructureNV-accelerationStructure-parameter | Y | | None | implicit | vkDestroyAccelerationStructureNV | If accelerationStructure is not VK_NULL_HANDLE, accelerationStructure must be a valid VkAccelerationStructureNV handle |
VUID-vkDestroyAccelerationStructureNV-accelerationStructure-parent | Y | | None | implicit | vkDestroyAccelerationStructureNV | If accelerationStructure is a valid handle, it must have been created, allocated, or retrieved from device |
VUID-vkDestroyAccelerationStructureNV-device-parameter | Y | | None | implicit | vkDestroyAccelerationStructureNV | device must be a valid VkDevice handle |
VUID-vkDestroyAccelerationStructureNV-pAllocator-parameter | Y | | None | implicit | vkDestroyAccelerationStructureNV | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkDestroyBufferCollectionFUCHSIA-collection-06407 | N | | None | explicit | vkDestroyBufferCollectionFUCHSIA | VkImage 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-parameter | Y | | None | implicit | vkDestroyBufferCollectionFUCHSIA | collection must be a valid VkBufferCollectionFUCHSIA handle |
VUID-vkDestroyBufferCollectionFUCHSIA-collection-parent | Y | | None | implicit | vkDestroyBufferCollectionFUCHSIA | collection must have been created, allocated, or retrieved from device |
VUID-vkDestroyBufferCollectionFUCHSIA-device-parameter | Y | | None | implicit | vkDestroyBufferCollectionFUCHSIA | device must be a valid VkDevice handle |
VUID-vkDestroyBufferCollectionFUCHSIA-pAllocator-parameter | Y | | None | implicit | vkDestroyBufferCollectionFUCHSIA | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkDestroyCuFunctionNVX-device-parameter | Y | | None | implicit | vkDestroyCuFunctionNVX | device must be a valid VkDevice handle |
VUID-vkDestroyCuFunctionNVX-function-parameter | Y | | None | implicit | vkDestroyCuFunctionNVX | function must be a valid VkCuFunctionNVX handle |
VUID-vkDestroyCuFunctionNVX-function-parent | Y | | None | implicit | vkDestroyCuFunctionNVX | function must have been created, allocated, or retrieved from device |
VUID-vkDestroyCuFunctionNVX-pAllocator-parameter | Y | | None | implicit | vkDestroyCuFunctionNVX | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkDestroyCuModuleNVX-device-parameter | Y | | None | implicit | vkDestroyCuModuleNVX | device must be a valid VkDevice handle |
VUID-vkDestroyCuModuleNVX-module-parameter | Y | | None | implicit | vkDestroyCuModuleNVX | module must be a valid VkCuModuleNVX handle |
VUID-vkDestroyCuModuleNVX-module-parent | Y | | None | implicit | vkDestroyCuModuleNVX | module must have been created, allocated, or retrieved from device |
VUID-vkDestroyCuModuleNVX-pAllocator-parameter | Y | | None | implicit | vkDestroyCuModuleNVX | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkDestroyCudaFunctionNV-device-parameter | Y | | None | implicit | vkDestroyCudaFunctionNV | device must be a valid VkDevice handle |
VUID-vkDestroyCudaFunctionNV-function-parameter | Y | | None | implicit | vkDestroyCudaFunctionNV | function must be a valid VkCudaFunctionNV handle |
VUID-vkDestroyCudaFunctionNV-function-parent | Y | | None | implicit | vkDestroyCudaFunctionNV | function must have been created, allocated, or retrieved from device |
VUID-vkDestroyCudaFunctionNV-pAllocator-parameter | Y | | None | implicit | vkDestroyCudaFunctionNV | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkDestroyCudaModuleNV-device-parameter | Y | | None | implicit | vkDestroyCudaModuleNV | device must be a valid VkDevice handle |
VUID-vkDestroyCudaModuleNV-module-parameter | Y | | None | implicit | vkDestroyCudaModuleNV | module must be a valid VkCudaModuleNV handle |
VUID-vkDestroyCudaModuleNV-module-parent | Y | | None | implicit | vkDestroyCudaModuleNV | module must have been created, allocated, or retrieved from device |
VUID-vkDestroyCudaModuleNV-pAllocator-parameter | Y | | None | implicit | vkDestroyCudaModuleNV | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkDestroyIndirectCommandsLayoutNV-device-parameter | Y | | None | implicit | vkDestroyIndirectCommandsLayoutNV | device must be a valid VkDevice handle |
VUID-vkDestroyIndirectCommandsLayoutNV-deviceGeneratedCommands-02941 | N | | None | explicit | vkDestroyIndirectCommandsLayoutNV | The VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV::deviceGeneratedCommands feature must be enabled |
VUID-vkDestroyIndirectCommandsLayoutNV-indirectCommandsLayout-02938 | N | | None | explicit | vkDestroyIndirectCommandsLayoutNV | All submitted commands that refer to indirectCommandsLayout must have completed execution |
VUID-vkDestroyIndirectCommandsLayoutNV-indirectCommandsLayout-02939 | N | | None | explicit | vkDestroyIndirectCommandsLayoutNV | If VkAllocationCallbacks were provided when indirectCommandsLayout was created, a compatible set of callbacks must be provided here |
VUID-vkDestroyIndirectCommandsLayoutNV-indirectCommandsLayout-02940 | N | | None | explicit | vkDestroyIndirectCommandsLayoutNV | If no VkAllocationCallbacks were provided when indirectCommandsLayout was created, pAllocator must be NULL |
VUID-vkDestroyIndirectCommandsLayoutNV-indirectCommandsLayout-parameter | Y | | None | implicit | vkDestroyIndirectCommandsLayoutNV | If indirectCommandsLayout is not VK_NULL_HANDLE, indirectCommandsLayout must be a valid VkIndirectCommandsLayoutNV handle |
VUID-vkDestroyIndirectCommandsLayoutNV-indirectCommandsLayout-parent | Y | | None | implicit | vkDestroyIndirectCommandsLayoutNV | If indirectCommandsLayout is a valid handle, it must have been created, allocated, or retrieved from device |
VUID-vkDestroyIndirectCommandsLayoutNV-pAllocator-parameter | Y | | None | implicit | vkDestroyIndirectCommandsLayoutNV | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkDestroyOpticalFlowSessionNV-device-parameter | Y | | None | implicit | vkDestroyOpticalFlowSessionNV | device must be a valid VkDevice handle |
VUID-vkDestroyOpticalFlowSessionNV-pAllocator-parameter | Y | | None | implicit | vkDestroyOpticalFlowSessionNV | If pAllocator is not NULL, pAllocator must be a valid pointer to a valid VkAllocationCallbacks structure |
VUID-vkDestroyOpticalFlowSessionNV-session-parameter | Y | | None | implicit | vkDestroyOpticalFlowSessionNV | session must be a valid VkOpticalFlowSessionNV handle |
VUID-vkDestroyOpticalFlowSessionNV-session-parent | Y | | None | implicit | vkDestroyOpticalFlowSessionNV | session must have been created, allocated, or retrieved from device |
VUID-vkGetAccelerationStructureHandleNV-accelerationStructure-02787 | Y | | NegativeRayTracingNV.ValidateGetAccelerationStructureHandle | explicit | vkGetAccelerationStructureHandleNV | accelerationStructure must be bound completely and contiguously to a single VkDeviceMemory object via vkBindAccelerationStructureMemoryNV |
VUID-vkGetAccelerationStructureHandleNV-accelerationStructure-parameter | Y | | None | implicit | vkGetAccelerationStructureHandleNV | accelerationStructure must be a valid VkAccelerationStructureNV handle |
VUID-vkGetAccelerationStructureHandleNV-accelerationStructure-parent | Y | | None | implicit | vkGetAccelerationStructureHandleNV | accelerationStructure must have been created, allocated, or retrieved from device |
VUID-vkGetAccelerationStructureHandleNV-dataSize-02240 | Y | | NegativeRayTracingNV.ValidateGetAccelerationStructureHandle | explicit | vkGetAccelerationStructureHandleNV | dataSize must be large enough to contain the result of the query, as described above |
VUID-vkGetAccelerationStructureHandleNV-dataSize-arraylength | Y | | None | implicit | vkGetAccelerationStructureHandleNV | dataSize must be greater than 0 |
VUID-vkGetAccelerationStructureHandleNV-device-parameter | Y | | None | implicit | vkGetAccelerationStructureHandleNV | device must be a valid VkDevice handle |
VUID-vkGetAccelerationStructureHandleNV-pData-parameter | Y | | None | implicit | vkGetAccelerationStructureHandleNV | pData must be a valid pointer to an array of dataSize bytes |
VUID-vkGetAccelerationStructureMemoryRequirementsNV-device-parameter | Y | | None | implicit | vkGetAccelerationStructureMemoryRequirementsNV | device must be a valid VkDevice handle |
VUID-vkGetAccelerationStructureMemoryRequirementsNV-pInfo-parameter | Y | | None | implicit | vkGetAccelerationStructureMemoryRequirementsNV | pInfo must be a valid pointer to a valid VkAccelerationStructureMemoryRequirementsInfoNV structure |
VUID-vkGetAccelerationStructureMemoryRequirementsNV-pMemoryRequirements-parameter | Y | | None | implicit | vkGetAccelerationStructureMemoryRequirementsNV | pMemoryRequirements must be a valid pointer to a VkMemoryRequirements2KHR structure |
VUID-vkGetAndroidHardwareBufferPropertiesANDROID-buffer-01884 | Y | | NegativeAndroidHardwareBuffer.DedicatedUsageDS, NegativeAndroidHardwareBuffer.GpuUsage, NegativeAndroidHardwareBuffer.ImportBuffer, PositiveAndroidHardwareBuffer.DepthStencil | explicit | vkGetAndroidHardwareBufferPropertiesANDROID | buffer 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-parameter | Y | | NegativeAndroidHardwareBuffer.NullAHBProperties | implicit | vkGetAndroidHardwareBufferPropertiesANDROID | buffer must be a valid pointer to a valid AHardwareBuffer value |
VUID-vkGetAndroidHardwareBufferPropertiesANDROID-device-parameter | Y | | None | implicit | vkGetAndroidHardwareBufferPropertiesANDROID | device must be a valid VkDevice handle |
VUID-vkGetAndroidHardwareBufferPropertiesANDROID-pProperties-parameter | Y | | None | implicit | vkGetAndroidHardwareBufferPropertiesANDROID | pProperties must be a valid pointer to a VkAndroidHardwareBufferPropertiesANDROID structure |
VUID-vkGetBufferCollectionPropertiesFUCHSIA-None-06405 | N | | None | explicit | vkGetBufferCollectionPropertiesFUCHSIA | Prior to calling vkGetBufferCollectionPropertiesFUCHSIA, the constraints on the buffer collection must have been set by either vkSetBufferCollectionImageConstraintsFUCHSIA or vkSetBufferCollectionBufferConstraintsFUCHSIA |
VUID-vkGetBufferCollectionPropertiesFUCHSIA-collection-parameter | Y | | None | implicit | vkGetBufferCollectionPropertiesFUCHSIA | collection must be a valid VkBufferCollectionFUCHSIA handle |
VUID-vkGetBufferCollectionPropertiesFUCHSIA-collection-parent | Y | | None | implicit | vkGetBufferCollectionPropertiesFUCHSIA | collection must have been created, allocated, or retrieved from device |
VUID-vkGetBufferCollectionPropertiesFUCHSIA-device-parameter | Y | | None | implicit | vkGetBufferCollectionPropertiesFUCHSIA | device must be a valid VkDevice handle |
VUID-vkGetBufferCollectionPropertiesFUCHSIA-pProperties-parameter | Y | | None | implicit | vkGetBufferCollectionPropertiesFUCHSIA | pProperties must be a valid pointer to a VkBufferCollectionPropertiesFUCHSIA structure |
VUID-vkGetCudaModuleCacheNV-device-parameter | Y | | None | implicit | vkGetCudaModuleCacheNV | device must be a valid VkDevice handle |
VUID-vkGetCudaModuleCacheNV-module-parameter | Y | | None | implicit | vkGetCudaModuleCacheNV | module must be a valid VkCudaModuleNV handle |
VUID-vkGetCudaModuleCacheNV-module-parent | Y | | None | implicit | vkGetCudaModuleCacheNV | module must have been created, allocated, or retrieved from device |
VUID-vkGetCudaModuleCacheNV-pCacheData-parameter | Y | | None | implicit | vkGetCudaModuleCacheNV | If 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-parameter | Y | | None | implicit | vkGetCudaModuleCacheNV | pCacheSize must be a valid pointer to a size_t value |
VUID-vkGetDescriptorSetHostMappingVALVE-descriptorSet-parameter | Y | | None | implicit | vkGetDescriptorSetHostMappingVALVE | descriptorSet must be a valid VkDescriptorSet handle |
VUID-vkGetDescriptorSetHostMappingVALVE-descriptorSet-parent | Y | | None | implicit | vkGetDescriptorSetHostMappingVALVE | descriptorSet must have been created, allocated, or retrieved from device |
VUID-vkGetDescriptorSetHostMappingVALVE-device-parameter | Y | | None | implicit | vkGetDescriptorSetHostMappingVALVE | device must be a valid VkDevice handle |
VUID-vkGetDescriptorSetHostMappingVALVE-ppData-parameter | Y | | None | implicit | vkGetDescriptorSetHostMappingVALVE | ppData must be a valid pointer to a pointer value |
VUID-vkGetDescriptorSetLayoutHostMappingInfoVALVE-device-parameter | Y | | None | implicit | vkGetDescriptorSetLayoutHostMappingInfoVALVE | device must be a valid VkDevice handle |
VUID-vkGetDescriptorSetLayoutHostMappingInfoVALVE-pBindingReference-parameter | Y | | None | implicit | vkGetDescriptorSetLayoutHostMappingInfoVALVE | pBindingReference must be a valid pointer to a valid VkDescriptorSetBindingReferenceVALVE structure |
VUID-vkGetDescriptorSetLayoutHostMappingInfoVALVE-pHostMapping-parameter | Y | | None | implicit | vkGetDescriptorSetLayoutHostMappingInfoVALVE | pHostMapping must be a valid pointer to a VkDescriptorSetLayoutHostMappingInfoVALVE structure |
VUID-vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI-device-parameter | Y | | None | implicit | vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI | device must be a valid VkDevice handle |
VUID-vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI-pMaxWorkgroupSize-parameter | Y | | None | implicit | vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI | pMaxWorkgroupSize must be a valid pointer to VkExtent2D structures |
VUID-vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI-renderpass-parameter | Y | | None | implicit | vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI | renderpass must be a valid VkRenderPass handle |
VUID-vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI-renderpass-parent | Y | | None | implicit | vkGetDeviceSubpassShadingMaxWorkgroupSizeHUAWEI | renderpass must have been created, allocated, or retrieved from device |
VUID-vkGetDynamicRenderingTilePropertiesQCOM-device-parameter | Y | | None | implicit | vkGetDynamicRenderingTilePropertiesQCOM | device must be a valid VkDevice handle |
VUID-vkGetDynamicRenderingTilePropertiesQCOM-pProperties-parameter | Y | | None | implicit | vkGetDynamicRenderingTilePropertiesQCOM | pProperties must be a valid pointer to a VkTilePropertiesQCOM structure |
VUID-vkGetDynamicRenderingTilePropertiesQCOM-pRenderingInfo-parameter | Y | | None | implicit | vkGetDynamicRenderingTilePropertiesQCOM | pRenderingInfo must be a valid pointer to a valid VkRenderingInfo structure |
VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-device-parameter | Y | | None | implicit | vkGetExecutionGraphPipelineNodeIndexAMDX | device must be a valid VkDevice handle |
VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-executionGraph-09142 | N | | None | explicit | vkGetExecutionGraphPipelineNodeIndexAMDX | There must be a node in executionGraph with a shader name and index equal to pNodeInfo->pName and pNodeInfo->index |
VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-executionGraph-parameter | Y | | None | implicit | vkGetExecutionGraphPipelineNodeIndexAMDX | executionGraph must be a valid VkPipeline handle |
VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-executionGraph-parent | Y | | None | implicit | vkGetExecutionGraphPipelineNodeIndexAMDX | executionGraph must have been created, allocated, or retrieved from device |
VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-pNodeIndex-parameter | Y | | None | implicit | vkGetExecutionGraphPipelineNodeIndexAMDX | pNodeIndex must be a valid pointer to a uint32_t value |
VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-pNodeInfo-09140 | N | | None | explicit | vkGetExecutionGraphPipelineNodeIndexAMDX | pNodeInfo->pName must not be NULL |
VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-pNodeInfo-09141 | N | | None | explicit | vkGetExecutionGraphPipelineNodeIndexAMDX | pNodeInfo->index must not be VK_SHADER_INDEX_UNUSED_AMDX |
VUID-vkGetExecutionGraphPipelineNodeIndexAMDX-pNodeInfo-parameter | Y | | None | implicit | vkGetExecutionGraphPipelineNodeIndexAMDX | pNodeInfo must be a valid pointer to a valid VkPipelineShaderStageNodeCreateInfoAMDX structure |
VUID-vkGetExecutionGraphPipelineScratchSizeAMDX-device-parameter | Y | | None | implicit | vkGetExecutionGraphPipelineScratchSizeAMDX | device must be a valid VkDevice handle |
VUID-vkGetExecutionGraphPipelineScratchSizeAMDX-executionGraph-parameter | Y | | None | implicit | vkGetExecutionGraphPipelineScratchSizeAMDX | executionGraph must be a valid VkPipeline handle |
VUID-vkGetExecutionGraphPipelineScratchSizeAMDX-executionGraph-parent | Y | | None | implicit | vkGetExecutionGraphPipelineScratchSizeAMDX | executionGraph must have been created, allocated, or retrieved from device |
VUID-vkGetExecutionGraphPipelineScratchSizeAMDX-pSizeInfo-parameter | Y | | None | implicit | vkGetExecutionGraphPipelineScratchSizeAMDX | pSizeInfo must be a valid pointer to a VkExecutionGraphPipelineScratchSizeAMDX structure |
VUID-vkGetFramebufferTilePropertiesQCOM-device-parameter | Y | | None | implicit | vkGetFramebufferTilePropertiesQCOM | device must be a valid VkDevice handle |
VUID-vkGetFramebufferTilePropertiesQCOM-framebuffer-parameter | Y | | None | implicit | vkGetFramebufferTilePropertiesQCOM | framebuffer must be a valid VkFramebuffer handle |
VUID-vkGetFramebufferTilePropertiesQCOM-framebuffer-parent | Y | | None | implicit | vkGetFramebufferTilePropertiesQCOM | framebuffer must have been created, allocated, or retrieved from device |
VUID-vkGetFramebufferTilePropertiesQCOM-pProperties-parameter | Y | | None | implicit | vkGetFramebufferTilePropertiesQCOM | If 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-parameter | Y | | None | implicit | vkGetFramebufferTilePropertiesQCOM | pPropertiesCount must be a valid pointer to a uint32_t value |
VUID-vkGetGeneratedCommandsMemoryRequirementsNV-device-parameter | Y | | None | implicit | vkGetGeneratedCommandsMemoryRequirementsNV | device must be a valid VkDevice handle |
VUID-vkGetGeneratedCommandsMemoryRequirementsNV-deviceGeneratedCommands-02906 | N | | None | explicit | vkGetGeneratedCommandsMemoryRequirementsNV | The VkPhysicalDeviceDeviceGeneratedCommandsFeaturesNV::deviceGeneratedCommands feature must be enabled |
VUID-vkGetGeneratedCommandsMemoryRequirementsNV-pInfo-09074 | N | | None | explicit | vkGetGeneratedCommandsMemoryRequirementsNV | If pInfo->pipelineBindPoint is of type VK_PIPELINE_BIND_POINT_COMPUTE, then the VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedCompute feature must be enabled |
VUID-vkGetGeneratedCommandsMemoryRequirementsNV-pInfo-parameter | Y | | None | implicit | vkGetGeneratedCommandsMemoryRequirementsNV | pInfo must be a valid pointer to a valid VkGeneratedCommandsMemoryRequirementsInfoNV structure |
VUID-vkGetGeneratedCommandsMemoryRequirementsNV-pMemoryRequirements-parameter | Y | | None | implicit | vkGetGeneratedCommandsMemoryRequirementsNV | pMemoryRequirements must be a valid pointer to a VkMemoryRequirements2 structure |
VUID-vkGetImageViewAddressNVX-device-parameter | Y | | None | implicit | vkGetImageViewAddressNVX | device must be a valid VkDevice handle |
VUID-vkGetImageViewAddressNVX-imageView-parameter | Y | | None | implicit | vkGetImageViewAddressNVX | imageView must be a valid VkImageView handle |
VUID-vkGetImageViewAddressNVX-imageView-parent | Y | | None | implicit | vkGetImageViewAddressNVX | imageView must have been created, allocated, or retrieved from device |
VUID-vkGetImageViewAddressNVX-pProperties-parameter | Y | | None | implicit | vkGetImageViewAddressNVX | pProperties must be a valid pointer to a VkImageViewAddressPropertiesNVX structure |
VUID-vkGetImageViewHandleNVX-device-parameter | Y | | None | implicit | vkGetImageViewHandleNVX | device must be a valid VkDevice handle |
VUID-vkGetImageViewHandleNVX-pInfo-parameter | Y | | None | implicit | vkGetImageViewHandleNVX | pInfo must be a valid pointer to a valid VkImageViewHandleInfoNVX structure |
VUID-vkGetLatencyTimingsNV-device-parameter | Y | | None | implicit | vkGetLatencyTimingsNV | device must be a valid VkDevice handle |
VUID-vkGetLatencyTimingsNV-pLatencyMarkerInfo-parameter | Y | | None | implicit | vkGetLatencyTimingsNV | pLatencyMarkerInfo must be a valid pointer to a VkGetLatencyMarkerInfoNV structure |
VUID-vkGetLatencyTimingsNV-swapchain-parameter | Y | | None | implicit | vkGetLatencyTimingsNV | swapchain must be a valid VkSwapchainKHR handle |
VUID-vkGetLatencyTimingsNV-swapchain-parent | Y | | None | implicit | vkGetLatencyTimingsNV | swapchain must have been created, allocated, or retrieved from device |
VUID-vkGetMemoryAndroidHardwareBufferANDROID-device-parameter | Y | | None | implicit | vkGetMemoryAndroidHardwareBufferANDROID | device must be a valid VkDevice handle |
VUID-vkGetMemoryAndroidHardwareBufferANDROID-pBuffer-parameter | Y | | None | implicit | vkGetMemoryAndroidHardwareBufferANDROID | pBuffer must be a valid pointer to a valid pointer to an AHardwareBuffer value |
VUID-vkGetMemoryAndroidHardwareBufferANDROID-pInfo-parameter | Y | | None | implicit | vkGetMemoryAndroidHardwareBufferANDROID | pInfo must be a valid pointer to a valid VkMemoryGetAndroidHardwareBufferInfoANDROID structure |
VUID-vkGetMemoryRemoteAddressNV-device-parameter | Y | | None | implicit | vkGetMemoryRemoteAddressNV | device must be a valid VkDevice handle |
VUID-vkGetMemoryRemoteAddressNV-pAddress-parameter | Y | | None | implicit | vkGetMemoryRemoteAddressNV | pAddress must be a valid pointer to a VkRemoteAddressNV value |
VUID-vkGetMemoryRemoteAddressNV-pMemoryGetRemoteAddressInfo-parameter | Y | | None | implicit | vkGetMemoryRemoteAddressNV | pMemoryGetRemoteAddressInfo must be a valid pointer to a valid VkMemoryGetRemoteAddressInfoNV structure |
VUID-vkGetMemoryWin32HandleNV-device-parameter | Y | | None | implicit | vkGetMemoryWin32HandleNV | device must be a valid VkDevice handle |
VUID-vkGetMemoryWin32HandleNV-handleType-01326 | N | | None | explicit | vkGetMemoryWin32HandleNV | handleType must be a flag specified in VkExportMemoryAllocateInfoNV::handleTypes when allocating memory |
VUID-vkGetMemoryWin32HandleNV-handleType-parameter | Y | | None | implicit | vkGetMemoryWin32HandleNV | handleType must be a valid combination of VkExternalMemoryHandleTypeFlagBitsNV values |
VUID-vkGetMemoryWin32HandleNV-handleType-requiredbitmask | Y | | None | implicit | vkGetMemoryWin32HandleNV | handleType must not be 0 |
VUID-vkGetMemoryWin32HandleNV-memory-parameter | Y | | None | implicit | vkGetMemoryWin32HandleNV | memory must be a valid VkDeviceMemory handle |
VUID-vkGetMemoryWin32HandleNV-memory-parent | Y | | None | implicit | vkGetMemoryWin32HandleNV | memory must have been created, allocated, or retrieved from device |
VUID-vkGetMemoryWin32HandleNV-pHandle-parameter | Y | | None | implicit | vkGetMemoryWin32HandleNV | pHandle must be a valid pointer to a HANDLE value |
VUID-vkGetMemoryZirconHandleFUCHSIA-device-parameter | Y | | None | implicit | vkGetMemoryZirconHandleFUCHSIA | device must be a valid VkDevice handle |
VUID-vkGetMemoryZirconHandleFUCHSIA-pGetZirconHandleInfo-parameter | Y | | None | implicit | vkGetMemoryZirconHandleFUCHSIA | pGetZirconHandleInfo must be a valid pointer to a valid VkMemoryGetZirconHandleInfoFUCHSIA structure |
VUID-vkGetMemoryZirconHandleFUCHSIA-pZirconHandle-parameter | Y | | None | implicit | vkGetMemoryZirconHandleFUCHSIA | pZirconHandle must be a valid pointer to a zx_handle_t value |
VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-device-parameter | Y | | None | implicit | vkGetMemoryZirconHandlePropertiesFUCHSIA | device must be a valid VkDevice handle |
VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-handleType-04773 | N | | None | explicit | vkGetMemoryZirconHandlePropertiesFUCHSIA | handleType must be VK_EXTERNAL_MEMORY_HANDLE_TYPE_ZIRCON_VMO_BIT_FUCHSIA |
VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-handleType-parameter | Y | | None | implicit | vkGetMemoryZirconHandlePropertiesFUCHSIA | handleType must be a valid VkExternalMemoryHandleTypeFlagBits value |
VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-pMemoryZirconHandleProperties-parameter | Y | | None | implicit | vkGetMemoryZirconHandlePropertiesFUCHSIA | pMemoryZirconHandleProperties must be a valid pointer to a VkMemoryZirconHandlePropertiesFUCHSIA structure |
VUID-vkGetMemoryZirconHandlePropertiesFUCHSIA-zirconHandle-04774 | N | | None | explicit | vkGetMemoryZirconHandlePropertiesFUCHSIA | zirconHandle must reference a valid VMO |
VUID-vkGetPastPresentationTimingGOOGLE-device-parameter | Y | | None | implicit | vkGetPastPresentationTimingGOOGLE | device must be a valid VkDevice handle |
VUID-vkGetPastPresentationTimingGOOGLE-pPresentationTimingCount-parameter | Y | | None | implicit | vkGetPastPresentationTimingGOOGLE | pPresentationTimingCount must be a valid pointer to a uint32_t value |
VUID-vkGetPastPresentationTimingGOOGLE-pPresentationTimings-parameter | Y | | None | implicit | vkGetPastPresentationTimingGOOGLE | If 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-parameter | Y | | None | implicit | vkGetPastPresentationTimingGOOGLE | swapchain must be a valid VkSwapchainKHR handle |
VUID-vkGetPastPresentationTimingGOOGLE-swapchain-parent | Y | | None | implicit | vkGetPastPresentationTimingGOOGLE | swapchain must have been created, allocated, or retrieved from device |
VUID-vkGetPerformanceParameterINTEL-device-parameter | Y | | None | implicit | vkGetPerformanceParameterINTEL | device must be a valid VkDevice handle |
VUID-vkGetPerformanceParameterINTEL-pValue-parameter | Y | | None | implicit | vkGetPerformanceParameterINTEL | pValue must be a valid pointer to a VkPerformanceValueINTEL structure |
VUID-vkGetPerformanceParameterINTEL-parameter-parameter | Y | | None | implicit | vkGetPerformanceParameterINTEL | parameter must be a valid VkPerformanceParameterTypeINTEL value |
VUID-vkGetPhysicalDeviceCooperativeMatrixPropertiesNV-pProperties-parameter | Y | | None | implicit | vkGetPhysicalDeviceCooperativeMatrixPropertiesNV | If 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-parameter | Y | | None | implicit | vkGetPhysicalDeviceCooperativeMatrixPropertiesNV | pPropertyCount must be a valid pointer to a uint32_t value |
VUID-vkGetPhysicalDeviceCooperativeMatrixPropertiesNV-physicalDevice-parameter | Y | | None | implicit | vkGetPhysicalDeviceCooperativeMatrixPropertiesNV | physicalDevice must be a valid VkPhysicalDevice handle |
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-externalHandleType-07721 | N | | None | explicit | vkGetPhysicalDeviceExternalImageFormatPropertiesNV | externalHandleType must not have more than one bit set |
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-externalHandleType-parameter | Y | | None | implicit | vkGetPhysicalDeviceExternalImageFormatPropertiesNV | externalHandleType must be a valid combination of VkExternalMemoryHandleTypeFlagBitsNV values |
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-flags-parameter | Y | | None | implicit | vkGetPhysicalDeviceExternalImageFormatPropertiesNV | flags must be a valid combination of VkImageCreateFlagBits values |
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-format-parameter | Y | | None | implicit | vkGetPhysicalDeviceExternalImageFormatPropertiesNV | format must be a valid VkFormat value |
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-pExternalImageFormatProperties-parameter | Y | | None | implicit | vkGetPhysicalDeviceExternalImageFormatPropertiesNV | pExternalImageFormatProperties must be a valid pointer to a VkExternalImageFormatPropertiesNV structure |
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-physicalDevice-parameter | Y | | None | implicit | vkGetPhysicalDeviceExternalImageFormatPropertiesNV | physicalDevice must be a valid VkPhysicalDevice handle |
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-tiling-parameter | Y | | None | implicit | vkGetPhysicalDeviceExternalImageFormatPropertiesNV | tiling must be a valid VkImageTiling value |
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-type-parameter | Y | | None | implicit | vkGetPhysicalDeviceExternalImageFormatPropertiesNV | type must be a valid VkImageType value |
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-usage-parameter | Y | | None | implicit | vkGetPhysicalDeviceExternalImageFormatPropertiesNV | usage must be a valid combination of VkImageUsageFlagBits values |
VUID-vkGetPhysicalDeviceExternalImageFormatPropertiesNV-usage-requiredbitmask | Y | | None | implicit | vkGetPhysicalDeviceExternalImageFormatPropertiesNV | usage must not be 0 |
VUID-vkGetPhysicalDeviceOpticalFlowImageFormatsNV-pFormatCount-parameter | Y | | None | implicit | vkGetPhysicalDeviceOpticalFlowImageFormatsNV | pFormatCount must be a valid pointer to a uint32_t value |
VUID-vkGetPhysicalDeviceOpticalFlowImageFormatsNV-pImageFormatProperties-parameter | Y | | None | implicit | vkGetPhysicalDeviceOpticalFlowImageFormatsNV | If 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-parameter | Y | | None | implicit | vkGetPhysicalDeviceOpticalFlowImageFormatsNV | pOpticalFlowImageFormatInfo must be a valid pointer to a valid VkOpticalFlowImageFormatInfoNV structure |
VUID-vkGetPhysicalDeviceOpticalFlowImageFormatsNV-physicalDevice-parameter | Y | | None | implicit | vkGetPhysicalDeviceOpticalFlowImageFormatsNV | physicalDevice must be a valid VkPhysicalDevice handle |
VUID-vkGetPhysicalDeviceScreenPresentationSupportQNX-physicalDevice-parameter | Y | | None | implicit | vkGetPhysicalDeviceScreenPresentationSupportQNX | physicalDevice must be a valid VkPhysicalDevice handle |
VUID-vkGetPhysicalDeviceScreenPresentationSupportQNX-queueFamilyIndex-04743 | Y | | None | explicit | vkGetPhysicalDeviceScreenPresentationSupportQNX | queueFamilyIndex must be less than pQueueFamilyPropertyCount returned by vkGetPhysicalDeviceQueueFamilyProperties for the given physicalDevice |
VUID-vkGetPhysicalDeviceScreenPresentationSupportQNX-window-parameter | Y | | None | implicit | vkGetPhysicalDeviceScreenPresentationSupportQNX | window must be a valid pointer to a _screen_window value |
VUID-vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV-pCombinationCount-parameter | Y | | None | implicit | vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV | pCombinationCount must be a valid pointer to a uint32_t value |
VUID-vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV-pCombinations-parameter | Y | | None | implicit | vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV | If 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-parameter | Y | | None | implicit | vkGetPhysicalDeviceSupportedFramebufferMixedSamplesCombinationsNV | physicalDevice must be a valid VkPhysicalDevice handle |
VUID-vkGetPipelineIndirectDeviceAddressNV-device-parameter | Y | | None | implicit | vkGetPipelineIndirectDeviceAddressNV | device must be a valid VkDevice handle |
VUID-vkGetPipelineIndirectDeviceAddressNV-deviceGeneratedComputePipelines-09078 | N | | None | explicit | vkGetPipelineIndirectDeviceAddressNV | The VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedComputePipelines feature must be enabled |
VUID-vkGetPipelineIndirectDeviceAddressNV-pInfo-parameter | Y | | None | implicit | vkGetPipelineIndirectDeviceAddressNV | pInfo must be a valid pointer to a valid VkPipelineIndirectDeviceAddressInfoNV structure |
VUID-vkGetPipelineIndirectMemoryRequirementsNV-device-parameter | Y | | None | implicit | vkGetPipelineIndirectMemoryRequirementsNV | device must be a valid VkDevice handle |
VUID-vkGetPipelineIndirectMemoryRequirementsNV-deviceGeneratedComputePipelines-09082 | N | | None | explicit | vkGetPipelineIndirectMemoryRequirementsNV | The VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedComputePipelines feature must be enabled |
VUID-vkGetPipelineIndirectMemoryRequirementsNV-pCreateInfo-09083 | N | | None | explicit | vkGetPipelineIndirectMemoryRequirementsNV | pCreateInfo->flags must include VK_PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV |
VUID-vkGetPipelineIndirectMemoryRequirementsNV-pCreateInfo-parameter | Y | | None | implicit | vkGetPipelineIndirectMemoryRequirementsNV | pCreateInfo must be a valid pointer to a valid VkComputePipelineCreateInfo structure |
VUID-vkGetPipelineIndirectMemoryRequirementsNV-pMemoryRequirements-parameter | Y | | None | implicit | vkGetPipelineIndirectMemoryRequirementsNV | pMemoryRequirements must be a valid pointer to a VkMemoryRequirements2 structure |
VUID-vkGetQueueCheckpointData2NV-pCheckpointData-parameter | Y | | None | implicit | vkGetQueueCheckpointData2NV | If 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-parameter | Y | | None | implicit | vkGetQueueCheckpointData2NV | pCheckpointDataCount must be a valid pointer to a uint32_t value |
VUID-vkGetQueueCheckpointData2NV-queue-03892 | N | | None | explicit | vkGetQueueCheckpointData2NV | The device that queue belongs to must be in the lost state |
VUID-vkGetQueueCheckpointData2NV-queue-parameter | Y | | None | implicit | vkGetQueueCheckpointData2NV | queue must be a valid VkQueue handle |
VUID-vkGetQueueCheckpointDataNV-pCheckpointData-parameter | Y | | None | implicit | vkGetQueueCheckpointDataNV | If 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-parameter | Y | | None | implicit | vkGetQueueCheckpointDataNV | pCheckpointDataCount must be a valid pointer to a uint32_t value |
VUID-vkGetQueueCheckpointDataNV-queue-02025 | N | | None | explicit | vkGetQueueCheckpointDataNV | The device that queue belongs to must be in the lost state |
VUID-vkGetQueueCheckpointDataNV-queue-parameter | Y | | None | implicit | vkGetQueueCheckpointDataNV | queue must be a valid VkQueue handle |
VUID-vkGetRefreshCycleDurationGOOGLE-device-parameter | Y | | None | implicit | vkGetRefreshCycleDurationGOOGLE | device must be a valid VkDevice handle |
VUID-vkGetRefreshCycleDurationGOOGLE-pDisplayTimingProperties-parameter | Y | | None | implicit | vkGetRefreshCycleDurationGOOGLE | pDisplayTimingProperties must be a valid pointer to a VkRefreshCycleDurationGOOGLE structure |
VUID-vkGetRefreshCycleDurationGOOGLE-swapchain-parameter | Y | | None | implicit | vkGetRefreshCycleDurationGOOGLE | swapchain must be a valid VkSwapchainKHR handle |
VUID-vkGetRefreshCycleDurationGOOGLE-swapchain-parent | Y | | None | implicit | vkGetRefreshCycleDurationGOOGLE | swapchain must have been created, allocated, or retrieved from device |
VUID-vkGetScreenBufferPropertiesQNX-buffer-08968 | N | | None | explicit | vkGetScreenBufferPropertiesQNX | buffer must be a valid QNX Screen buffer |
VUID-vkGetScreenBufferPropertiesQNX-buffer-parameter | Y | | None | implicit | vkGetScreenBufferPropertiesQNX | buffer must be a valid pointer to a valid _screen_buffer value |
VUID-vkGetScreenBufferPropertiesQNX-device-parameter | Y | | None | implicit | vkGetScreenBufferPropertiesQNX | device must be a valid VkDevice handle |
VUID-vkGetScreenBufferPropertiesQNX-pProperties-parameter | Y | | None | implicit | vkGetScreenBufferPropertiesQNX | pProperties must be a valid pointer to a VkScreenBufferPropertiesQNX structure |
VUID-vkGetSemaphoreZirconHandleFUCHSIA-device-parameter | Y | | None | implicit | vkGetSemaphoreZirconHandleFUCHSIA | device must be a valid VkDevice handle |
VUID-vkGetSemaphoreZirconHandleFUCHSIA-pGetZirconHandleInfo-parameter | Y | | None | implicit | vkGetSemaphoreZirconHandleFUCHSIA | pGetZirconHandleInfo must be a valid pointer to a valid VkSemaphoreGetZirconHandleInfoFUCHSIA structure |
VUID-vkGetSemaphoreZirconHandleFUCHSIA-pZirconHandle-parameter | Y | | None | implicit | vkGetSemaphoreZirconHandleFUCHSIA | pZirconHandle must be a valid pointer to a zx_handle_t value |
VUID-vkGetShaderInfoAMD-device-parameter | Y | | None | implicit | vkGetShaderInfoAMD | device must be a valid VkDevice handle |
VUID-vkGetShaderInfoAMD-infoType-parameter | Y | | None | implicit | vkGetShaderInfoAMD | infoType must be a valid VkShaderInfoTypeAMD value |
VUID-vkGetShaderInfoAMD-pInfo-parameter | Y | | None | implicit | vkGetShaderInfoAMD | If 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-parameter | Y | | None | implicit | vkGetShaderInfoAMD | pInfoSize must be a valid pointer to a size_t value |
VUID-vkGetShaderInfoAMD-pipeline-parameter | Y | | None | implicit | vkGetShaderInfoAMD | pipeline must be a valid VkPipeline handle |
VUID-vkGetShaderInfoAMD-pipeline-parent | Y | | None | implicit | vkGetShaderInfoAMD | pipeline must have been created, allocated, or retrieved from device |
VUID-vkGetShaderInfoAMD-shaderStage-parameter | Y | | None | implicit | vkGetShaderInfoAMD | shaderStage must be a valid VkShaderStageFlagBits value |
VUID-vkGetWinrtDisplayNV-pDisplay-parameter | Y | | None | implicit | vkGetWinrtDisplayNV | pDisplay must be a valid pointer to a VkDisplayKHR handle |
VUID-vkGetWinrtDisplayNV-physicalDevice-parameter | Y | | None | implicit | vkGetWinrtDisplayNV | physicalDevice must be a valid VkPhysicalDevice handle |
VUID-vkImportSemaphoreZirconHandleFUCHSIA-device-parameter | Y | | None | implicit | vkImportSemaphoreZirconHandleFUCHSIA | device must be a valid VkDevice handle |
VUID-vkImportSemaphoreZirconHandleFUCHSIA-pImportSemaphoreZirconHandleInfo-parameter | Y | | None | implicit | vkImportSemaphoreZirconHandleFUCHSIA | pImportSemaphoreZirconHandleInfo must be a valid pointer to a valid VkImportSemaphoreZirconHandleInfoFUCHSIA structure |
VUID-vkImportSemaphoreZirconHandleFUCHSIA-semaphore-04764 | Y | | None | explicit | vkImportSemaphoreZirconHandleFUCHSIA | semaphore must not be associated with any queue command that has not yet completed execution on that queue |
VUID-vkInitializePerformanceApiINTEL-device-parameter | Y | | None | implicit | vkInitializePerformanceApiINTEL | device must be a valid VkDevice handle |
VUID-vkInitializePerformanceApiINTEL-pInitializeInfo-parameter | Y | | None | implicit | vkInitializePerformanceApiINTEL | pInitializeInfo must be a valid pointer to a valid VkInitializePerformanceApiInfoINTEL structure |
VUID-vkLatencySleepNV-device-parameter | Y | | None | implicit | vkLatencySleepNV | device must be a valid VkDevice handle |
VUID-vkLatencySleepNV-pSleepInfo-parameter | Y | | None | implicit | vkLatencySleepNV | pSleepInfo must be a valid pointer to a valid VkLatencySleepInfoNV structure |
VUID-vkLatencySleepNV-swapchain-parameter | Y | | None | implicit | vkLatencySleepNV | swapchain must be a valid VkSwapchainKHR handle |
VUID-vkLatencySleepNV-swapchain-parent | Y | | None | implicit | vkLatencySleepNV | swapchain must have been created, allocated, or retrieved from device |
VUID-vkQueueNotifyOutOfBandNV-pQueueTypeInfo-parameter | Y | | None | implicit | vkQueueNotifyOutOfBandNV | pQueueTypeInfo must be a valid pointer to a valid VkOutOfBandQueueTypeInfoNV structure |
VUID-vkQueueNotifyOutOfBandNV-queue-parameter | Y | | None | implicit | vkQueueNotifyOutOfBandNV | queue must be a valid VkQueue handle |
VUID-vkQueueSetPerformanceConfigurationINTEL-commonparent | Y | | None | implicit | vkQueueSetPerformanceConfigurationINTEL | Both of configuration, and queue must have been created, allocated, or retrieved from the same VkDevice |
VUID-vkQueueSetPerformanceConfigurationINTEL-configuration-parameter | Y | | None | implicit | vkQueueSetPerformanceConfigurationINTEL | configuration must be a valid VkPerformanceConfigurationINTEL handle |
VUID-vkQueueSetPerformanceConfigurationINTEL-queue-parameter | Y | | None | implicit | vkQueueSetPerformanceConfigurationINTEL | queue must be a valid VkQueue handle |
VUID-vkReleasePerformanceConfigurationINTEL-configuration-02737 | N | | None | explicit | vkReleasePerformanceConfigurationINTEL | configuration must not be released before all command buffers submitted while the configuration was set are in pending state |
VUID-vkReleasePerformanceConfigurationINTEL-configuration-parameter | Y | | None | implicit | vkReleasePerformanceConfigurationINTEL | If configuration is not VK_NULL_HANDLE, configuration must be a valid VkPerformanceConfigurationINTEL handle |
VUID-vkReleasePerformanceConfigurationINTEL-configuration-parent | Y | | None | implicit | vkReleasePerformanceConfigurationINTEL | If configuration is a valid handle, it must have been created, allocated, or retrieved from device |
VUID-vkReleasePerformanceConfigurationINTEL-device-parameter | Y | | None | implicit | vkReleasePerformanceConfigurationINTEL | device must be a valid VkDevice handle |
VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-collection-06403 | N | | None | explicit | vkSetBufferCollectionBufferConstraintsFUCHSIA | vkSetBufferCollectionImageConstraintsFUCHSIA or vkSetBufferCollectionBufferConstraintsFUCHSIA must not have already been called on collection |
VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-collection-parameter | Y | | None | implicit | vkSetBufferCollectionBufferConstraintsFUCHSIA | collection must be a valid VkBufferCollectionFUCHSIA handle |
VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-collection-parent | Y | | None | implicit | vkSetBufferCollectionBufferConstraintsFUCHSIA | collection must have been created, allocated, or retrieved from device |
VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-device-parameter | Y | | None | implicit | vkSetBufferCollectionBufferConstraintsFUCHSIA | device must be a valid VkDevice handle |
VUID-vkSetBufferCollectionBufferConstraintsFUCHSIA-pBufferConstraintsInfo-parameter | Y | | None | implicit | vkSetBufferCollectionBufferConstraintsFUCHSIA | pBufferConstraintsInfo must be a valid pointer to a valid VkBufferConstraintsInfoFUCHSIA structure |
VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-collection-06394 | N | | None | explicit | vkSetBufferCollectionImageConstraintsFUCHSIA | vkSetBufferCollectionImageConstraintsFUCHSIA or vkSetBufferCollectionBufferConstraintsFUCHSIA must not have already been called on collection |
VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-collection-parameter | Y | | None | implicit | vkSetBufferCollectionImageConstraintsFUCHSIA | collection must be a valid VkBufferCollectionFUCHSIA handle |
VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-collection-parent | Y | | None | implicit | vkSetBufferCollectionImageConstraintsFUCHSIA | collection must have been created, allocated, or retrieved from device |
VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-device-parameter | Y | | None | implicit | vkSetBufferCollectionImageConstraintsFUCHSIA | device must be a valid VkDevice handle |
VUID-vkSetBufferCollectionImageConstraintsFUCHSIA-pImageConstraintsInfo-parameter | Y | | None | implicit | vkSetBufferCollectionImageConstraintsFUCHSIA | pImageConstraintsInfo must be a valid pointer to a valid VkImageConstraintsInfoFUCHSIA structure |
VUID-vkSetLatencyMarkerNV-device-parameter | Y | | None | implicit | vkSetLatencyMarkerNV | device must be a valid VkDevice handle |
VUID-vkSetLatencyMarkerNV-pLatencyMarkerInfo-parameter | Y | | None | implicit | vkSetLatencyMarkerNV | pLatencyMarkerInfo must be a valid pointer to a valid VkSetLatencyMarkerInfoNV structure |
VUID-vkSetLatencyMarkerNV-swapchain-parameter | Y | | None | implicit | vkSetLatencyMarkerNV | swapchain must be a valid VkSwapchainKHR handle |
VUID-vkSetLatencyMarkerNV-swapchain-parent | Y | | None | implicit | vkSetLatencyMarkerNV | swapchain must have been created, allocated, or retrieved from device |
VUID-vkSetLatencySleepModeNV-device-parameter | Y | | None | implicit | vkSetLatencySleepModeNV | device must be a valid VkDevice handle |
VUID-vkSetLatencySleepModeNV-pSleepModeInfo-parameter | Y | | None | implicit | vkSetLatencySleepModeNV | pSleepModeInfo must be a valid pointer to a valid VkLatencySleepModeInfoNV structure |
VUID-vkSetLatencySleepModeNV-swapchain-parameter | Y | | None | implicit | vkSetLatencySleepModeNV | swapchain must be a valid VkSwapchainKHR handle |
VUID-vkSetLatencySleepModeNV-swapchain-parent | Y | | None | implicit | vkSetLatencySleepModeNV | swapchain must have been created, allocated, or retrieved from device |
VUID-vkSetLocalDimmingAMD-device-parameter | Y | | None | implicit | vkSetLocalDimmingAMD | device must be a valid VkDevice handle |
VUID-vkSetLocalDimmingAMD-localDimmingSupport-04618 | N | | None | explicit | vkSetLocalDimmingAMD | VkDisplayNativeHdrSurfaceCapabilitiesAMD::localDimmingSupport must be supported |
VUID-vkSetLocalDimmingAMD-swapChain-parameter | Y | | None | implicit | vkSetLocalDimmingAMD | swapChain must be a valid VkSwapchainKHR handle |
VUID-vkSetLocalDimmingAMD-swapChain-parent | Y | | None | implicit | vkSetLocalDimmingAMD | swapChain must have been created, allocated, or retrieved from device |
VUID-vkUninitializePerformanceApiINTEL-device-parameter | Y | | None | implicit | vkUninitializePerformanceApiINTEL | device must be a valid VkDevice handle |