// Copyright 2022-2024 The Khronos Group Inc.
//
// SPDX-License-Identifier: CC-BY-4.0

// Common Valid Usage
// Common limits for draw mesh commands

  * [[VUID-{refpage}-TaskEXT-07322]]
    If the current pipeline bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS
    contains a shader using the code:TaskEXT {ExecutionModel},
    pname:groupCountX must: be less than or equal to
    sname:VkPhysicalDeviceMeshShaderPropertiesEXT::pname:maxTaskWorkGroupCount[0]
  * [[VUID-{refpage}-TaskEXT-07323]]
    If the current pipeline bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS
    contains a shader using the code:TaskEXT {ExecutionModel},
    pname:groupCountY must: be less than or equal to
    sname:VkPhysicalDeviceMeshShaderPropertiesEXT::pname:maxTaskWorkGroupCount[1]
  * [[VUID-{refpage}-TaskEXT-07324]]
    If the current pipeline bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS
    contains a shader using the code:TaskEXT {ExecutionModel},
    pname:groupCountZ must: be less than or equal to
    sname:VkPhysicalDeviceMeshShaderPropertiesEXT::pname:maxTaskWorkGroupCount[2]
  * [[VUID-{refpage}-TaskEXT-07325]]
    If the current pipeline bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS
    contains a shader using the code:TaskEXT {ExecutionModel}, The product
    of pname:groupCountX, pname:groupCountY and pname:groupCountZ must: be
    less than or equal to
    sname:VkPhysicalDeviceMeshShaderPropertiesEXT::pname:maxTaskWorkGroupTotalCount
  * [[VUID-{refpage}-TaskEXT-07326]]
    If the current pipeline bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS
    does not contain a shader using the code:TaskEXT {ExecutionModel},
    pname:groupCountX must: be less than or equal to
    sname:VkPhysicalDeviceMeshShaderPropertiesEXT::pname:maxMeshWorkGroupCount[0]
  * [[VUID-{refpage}-TaskEXT-07327]]
    If the current pipeline bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS
    does not contain a shader using the code:TaskEXT {ExecutionModel},
    pname:groupCountY must: be less than or equal to
    sname:VkPhysicalDeviceMeshShaderPropertiesEXT::pname:maxMeshWorkGroupCount[1]
  * [[VUID-{refpage}-TaskEXT-07328]]
    If the current pipeline bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS
    does not contain a shader using the code:TaskEXT {ExecutionModel},
    pname:groupCountZ must: be less than or equal to
    sname:VkPhysicalDeviceMeshShaderPropertiesEXT::pname:maxMeshWorkGroupCount[2]
  * [[VUID-{refpage}-TaskEXT-07329]]
    If the current pipeline bound to ename:VK_PIPELINE_BIND_POINT_GRAPHICS
    does not contain a shader using the code:TaskEXT {ExecutionModel}, The
    product of pname:groupCountX, pname:groupCountY and pname:groupCountZ
    must: be less than or equal to
    sname:VkPhysicalDeviceMeshShaderPropertiesEXT::pname:maxMeshWorkGroupTotalCount

// Common Valid Usage
