Structures

VkIndirectExecutionSetPipelineInfoEXT

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

The VkIndirectExecutionSetPipelineInfoEXT structure is defined as:

typedef struct VkIndirectExecutionSetPipelineInfoEXT {
    VkStructureType sType;
    const void* pNext;
    VkPipeline initialPipeline;
    uint32_t maxPipelineCount;
} VkIndirectExecutionSetPipelineInfoEXT;
  • 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.

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](xref::limits-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](xref::limits-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](xref::limits-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