# VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT(3) Manual Page

## Name

VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT - Structure describing push descriptor limits that can be supported by an implementation

Loading… please wait.

## C Specification

The `VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT` structure is defined as:

    // Provided by VK_EXT_device_generated_commands
    typedef struct VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT {
        VkStructureType                        sType;
        void*                                  pNext;
        uint32_t                               maxIndirectPipelineCount;
        uint32_t                               maxIndirectShaderObjectCount;
        uint32_t                               maxIndirectSequenceCount;
        uint32_t                               maxIndirectCommandsTokenCount;
        uint32_t                               maxIndirectCommandsTokenOffset;
        uint32_t                               maxIndirectCommandsIndirectStride;
        VkIndirectCommandsInputModeFlagsEXT    supportedIndirectCommandsInputModes;
        VkShaderStageFlags                     supportedIndirectCommandsShaderStages;
        VkShaderStageFlags                     supportedIndirectCommandsShaderStagesPipelineBinding;
        VkShaderStageFlags                     supportedIndirectCommandsShaderStagesShaderBinding;
        VkBool32                               deviceGeneratedCommandsTransformFeedback;
        VkBool32                               deviceGeneratedCommandsMultiDrawIndirectCount;
    } VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT;

## Members

- `sType` is a VkStructureType value identifying this structure.

- `pNext` is `NULL` or a pointer to a structure extending this structure.

- `maxIndirectPipelineCount` is the maximum number of pipelines passed to vkCreateIndirectExecutionSetEXT.

- `maxIndirectShaderObjectCount` is the maximum number of shader objects passed to vkCreateIndirectExecutionSetEXT. If this value is zero, binding shader objects indirectly is not supported.

- `maxIndirectSequenceCount` is the maximum number of sequences in VkGeneratedCommandsInfoEXT and in VkGeneratedCommandsMemoryRequirementsInfoEXT.

- `maxIndirectCommandsTokenCount` is the maximum number of tokens in VkIndirectCommandsLayoutCreateInfoEXT.

- `maxIndirectCommandsTokenOffset` is the maximum offset in VkIndirectCommandsLayoutTokenEXT.

- `maxIndirectCommandsIndirectStride` is the maximum stream stride in VkIndirectCommandsLayoutCreateInfoEXT.

- `supportedIndirectCommandsInputModes` indicates the supported input modes.

- `supportedIndirectCommandsShaderStages` indicates the stages which can be used to generate indirect commands. Implementations are required to support, at minimum: `VK_SHADER_STAGE_VERTEX_BIT`, `VK_SHADER_STAGE_FRAGMENT_BIT`, `VK_SHADER_STAGE_COMPUTE_BIT`.

- `supportedIndirectCommandsShaderStagesPipelineBinding` indicates the stages which can be used within indirect execution sets for indirectly binding shader stages using pipelines.

- `supportedIndirectCommandsShaderStagesShaderBinding` indicates the stages which can be used within indirect execution sets for indirectly binding shader stages using shader objects.

- `deviceGeneratedCommandsTransformFeedback` indicates whether the implementation supports interactions with `VK_EXT_transform_feedback` for pipelines not created with `VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_EXT`.

- `deviceGeneratedCommandsMultiDrawIndirectCount` indicates whether the implementation supports COUNT variants of multi-draw indirect tokens.

## Description

If the `VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT` structure is included in the `pNext` chain of the VkPhysicalDeviceProperties2 structure passed to vkGetPhysicalDeviceProperties2, it is filled in with each corresponding implementation-dependent property.

Valid Usage (Implicit)

- VUID-VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT-sType-sType
  `sType` must be `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_DEVICE_GENERATED_COMMANDS_PROPERTIES_EXT`

## See Also

VK_EXT_device_generated_commands, VkBool32, VkIndirectCommandsInputModeFlagsEXT, VkShaderStageFlags, VkStructureType

## 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-2025 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0