VkIndirectExecutionSetPipelineInfoEXT
The VkIndirectExecutionSetPipelineInfoEXT structure is defined as:
typedef struct VkIndirectExecutionSetPipelineInfoEXT {
VkStructureType sType;
const void* pNext;
VkPipeline initialPipeline;
uint32_t maxPipelineCount;
} VkIndirectExecutionSetPipelineInfoEXT;
sTypeis a VkStructureType value identifying this structure.pNextisNULLor a pointer to a structure extending this structure.initialPipelineis the initial pipeline for the set. This pipeline will be automatically added to the set at index0.maxPipelineCountis 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
VUID-VkIndirectExecutionSetPipelineInfoEXT-initialPipeline-parameter
initialPipeline must be a valid VkPipeline handle