VkIndirectExecutionSetPipelineInfoEXT(3)

# VkIndirectExecutionSetPipelineInfoEXT(3) Manual Page

## Name

VkIndirectExecutionSetPipelineInfoEXT - Struct specifying parameters of a newly created indirect execution set containing only pipelines

## 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

VK_EXT_device_generated_commands, VkIndirectExecutionSetInfoEXT, VkPipeline, 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-2026 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0