C Specification

The VkIndirectExecutionSetPipelineInfoEXT structure is defined as:

// Provided by VK_EXT_device_generated_commands
typedef struct VkIndirectExecutionSetPipelineInfoEXT {
    VkStructureType    sType;
    const void*        pNext;
    VkPipeline         initialPipeline;
    uint32_t           maxPipelineCount;
} VkIndirectExecutionSetPipelineInfoEXT;

Members

  • sType is a VkStructureType value identifying this structure.

  • pNext is NULL or a pointer to a structure extending this structure.

  • initialPipeline is the initial pipeline for the set. This pipeline will be automatically added to the set at index 0.

  • maxPipelineCount is the maximum number of pipelines stored in the set.

Description

The characteristics of initialPipeline will be used to validate all pipelines added to the set even if they are removed from the set or destroyed.

When an Indirect Execution Set created with pipelines is used, initialPipeline constitutes the initial shader state.

Valid Usage
  • VUID-VkIndirectExecutionSetPipelineInfoEXT-supportedIndirectCommandsShaderStagesPipelineBinding-11015
    If VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT::supportedIndirectCommandsShaderStagesPipelineBinding does not contain VK_SHADER_STAGE_COMPUTE_BIT, the VkPipelineBindPoint of initialPipeline must not be VK_PIPELINE_BIND_POINT_COMPUTE

  • VUID-VkIndirectExecutionSetPipelineInfoEXT-supportedIndirectCommandsShaderStagesPipelineBinding-11016
    If VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT::supportedIndirectCommandsShaderStagesPipelineBinding does not contain VK_SHADER_STAGE_FRAGMENT_BIT, the VkPipelineBindPoint of initialPipeline must not be VK_PIPELINE_BIND_POINT_GRAPHICS

  • VUID-VkIndirectExecutionSetPipelineInfoEXT-supportedIndirectCommandsShaderStagesPipelineBinding-11017
    If VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT::supportedIndirectCommandsShaderStagesPipelineBinding does not contain ray tracing stages, the VkPipelineBindPoint of initialPipeline must not be VK_PIPELINE_BIND_POINT_RAY_TRACING_KHR

  • VUID-VkIndirectExecutionSetPipelineInfoEXT-maxPipelineCount-11018
    maxPipelineCount must be between 1 and VkPhysicalDeviceDeviceGeneratedCommandsPropertiesEXT::maxIndirectPipelineCount

  • VUID-VkIndirectExecutionSetPipelineInfoEXT-initialPipeline-11019
    initialPipeline must not use descriptors of type VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC or VK_DESCRIPTOR_TYPE_STORAGE_BUFFER_DYNAMIC

  • VUID-VkIndirectExecutionSetPipelineInfoEXT-initialPipeline-11153
    initialPipeline must have been created with VK_PIPELINE_CREATE_2_INDIRECT_BINDABLE_BIT_EXT

Valid Usage (Implicit)
  • VUID-VkIndirectExecutionSetPipelineInfoEXT-sType-sType
    sType must be VK_STRUCTURE_TYPE_INDIRECT_EXECUTION_SET_PIPELINE_INFO_EXT

  • VUID-VkIndirectExecutionSetPipelineInfoEXT-initialPipeline-parameter
    initialPipeline must be a valid VkPipeline handle

See Also

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

SPDX-License-Identifier: CC-BY-4.0