VkIndirectCommandsTokenTypeEXT(3)

# VkIndirectCommandsTokenTypeEXT(3) Manual Page

## Name

VkIndirectCommandsTokenTypeEXT - Enum specifying token commands

## C Specification

Possible values of those elements of the VkIndirectCommandsLayoutCreateInfoEXT::`pTokens` array specifying command tokens (other elements of the array specify command parameters) are:

    // Provided by VK_EXT_device_generated_commands
    typedef enum VkIndirectCommandsTokenTypeEXT {
        VK_INDIRECT_COMMANDS_TOKEN_TYPE_EXECUTION_SET_EXT = 0,
        VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT = 1,
        VK_INDIRECT_COMMANDS_TOKEN_TYPE_SEQUENCE_INDEX_EXT = 2,
        VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_EXT = 3,
        VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_EXT = 4,
        VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_EXT = 5,
        VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_EXT = 6,
        VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_COUNT_EXT = 7,
        VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_COUNT_EXT = 8,
        VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_EXT = 9,
      // Provided by VK_EXT_descriptor_heap with VK_EXT_device_generated_commands
        VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_EXT = 1000135000,
      // Provided by VK_EXT_descriptor_heap with VK_EXT_device_generated_commands
        VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_SEQUENCE_INDEX_EXT = 1000135001,
      // Provided by VK_EXT_device_generated_commands with VK_NV_mesh_shader
        VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV_EXT = 1000202002,
      // Provided by VK_EXT_device_generated_commands with VK_NV_mesh_shader
        VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_NV_EXT = 1000202003,
      // Provided by VK_EXT_device_generated_commands with VK_EXT_mesh_shader
        VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_EXT = 1000328000,
      // Provided by VK_EXT_device_generated_commands with VK_EXT_mesh_shader
        VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_EXT = 1000328001,
      // Provided by VK_KHR_ray_tracing_maintenance1 with VK_EXT_device_generated_commands
        VK_INDIRECT_COMMANDS_TOKEN_TYPE_TRACE_RAYS2_EXT = 1000386004,
    } VkIndirectCommandsTokenTypeEXT;

## Description

Table 1. Supported Indirect Command Tokens
Common Tokens | Command Data
--- | ---
VK_INDIRECT_COMMANDS_TOKEN_TYPE_EXECUTION_SET_EXT | `u32[]` array of indices into the indirect execution set
VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_CONSTANT_EXT | `u32[]` raw data
VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_EXT | `u8[]` raw data
VK_INDIRECT_COMMANDS_TOKEN_TYPE_SEQUENCE_INDEX_EXT | `u32` placeholder data (not accessed by shader)
VK_INDIRECT_COMMANDS_TOKEN_TYPE_PUSH_DATA_SEQUENCE_INDEX_EXT | `u32` placeholder data (not accessed by shader)
Compute Tokens |
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DISPATCH_EXT | VkDispatchIndirectCommand
Ray Tracing Tokens |
VK_INDIRECT_COMMANDS_TOKEN_TYPE_TRACE_RAYS2_EXT | VkTraceRaysIndirectCommand2KHR
Graphics State Tokens |
VK_INDIRECT_COMMANDS_TOKEN_TYPE_INDEX_BUFFER_EXT | VkBindIndexBufferIndirectCommandEXT
VK_INDIRECT_COMMANDS_TOKEN_TYPE_VERTEX_BUFFER_EXT | VkBindVertexBufferIndirectCommandEXT
Graphics Draw Tokens |
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_EXT | VkDrawIndexedIndirectCommand
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_EXT | VkDrawIndirectCommand
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_EXT | VkDrawMeshTasksIndirectCommandEXT
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_NV_EXT | VkDrawMeshTasksIndirectCommandNV
Graphics Draw Count Tokens |
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_INDEXED_COUNT_EXT | VkDrawIndirectCountIndirectCommandEXT with VkDrawIndexedIndirectCommand
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_COUNT_EXT | VkDrawIndirectCountIndirectCommandEXT with VkDrawIndirectCommand
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_EXT | VkDrawIndirectCountIndirectCommandEXT with VkDrawMeshTasksIndirectCommandEXT
VK_INDIRECT_COMMANDS_TOKEN_TYPE_DRAW_MESH_TASKS_COUNT_NV_EXT | VkDrawIndirectCountIndirectCommandEXT with VkDrawMeshTasksIndirectCommandNV

## See Also

VK_EXT_device_generated_commands, VkIndirectCommandsLayoutTokenEXT

## Document Notes

For more information, see the Vulkan Specification.

This page is extracted from the Vulkan Specification. Fixes and changes should be made to the Specification, not directly.

## Copyright

Copyright 2014-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0