VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT(3)

Name

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

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

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.