The parameters basePipelineHandle and basePipelineIndex are described in more detail in Pipeline Derivatives.
Each shader stage provided when creating an execution graph pipeline (including those in libraries) is associated with a name and an index, determined by the inclusion or omission of a VkPipelineShaderStageNodeCreateInfoAMDX structure in its pNext chain.
In addition to the shader name and index, an internal "node index" is also generated for each node, which can be queried with GetExecutionGraphPipelineNodeIndexAMDX, and is used exclusively for initial dispatch of an execution graph.
flags contains the PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineIndex is -1, basePipelineHandle must be a valid execution graph VkPipeline handleflags contains the PIPELINE_CREATE_DERIVATIVE_BIT flag, and basePipelineHandle is NULL_HANDLE, basePipelineIndex must be a valid index into the calling command’s pCreateInfos parameterflags contains the PIPELINE_CREATE_DERIVATIVE_BIT flag, basePipelineIndex must be -1 or basePipelineHandle must be NULL_HANDLElayout must match both the shader stage and rangelayout must match the shader stageDESCRIPTOR_TYPE_MUTABLE_EXT, a descriptor slot in layout must match the descriptor typelayout must match the descriptor countflags must not include PIPELINE_CREATE_RAY_TRACING_NO_NULL_ANY_HIT_SHADERS_BIT_KHRflags must not include PIPELINE_CREATE_RAY_TRACING_NO_NULL_CLOSEST_HIT_SHADERS_BIT_KHRflags must not include PIPELINE_CREATE_RAY_TRACING_NO_NULL_MISS_SHADERS_BIT_KHRflags must not include PIPELINE_CREATE_RAY_TRACING_NO_NULL_INTERSECTION_SHADERS_BIT_KHRflags must not include PIPELINE_CREATE_RAY_TRACING_SKIP_TRIANGLES_BIT_KHRflags must not include PIPELINE_CREATE_RAY_TRACING_SKIP_AABBS_BIT_KHRflags must not include PIPELINE_CREATE_RAY_TRACING_SHADER_GROUP_HANDLE_CAPTURE_REPLAY_BIT_KHRflags must not include PIPELINE_CREATE_RAY_TRACING_ALLOW_MOTION_BIT_NVflags includes PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV, then the VkPhysicalDeviceDeviceGeneratedCommandsComputeFeaturesNV::deviceGeneratedComputePipelines feature must be enabledflags includes PIPELINE_CREATE_INDIRECT_BINDABLE_BIT_NV, then the pNext chain must include a pointer to a valid instance of VkComputePipelineIndirectBufferInfoNV specifying the address where the pipeline’s metadata will be savedpipelineCreationCacheControl feature is not enabled, flags must not include PIPELINE_CREATE_FAIL_ON_PIPELINE_COMPILE_REQUIRED_BIT or PIPELINE_CREATE_EARLY_RETURN_ON_FAILURE_BITstage member of any element of pStages must be SHADER_STAGE_COMPUTE_BITpStages and the rest of the state identified by this structure must adhere to the pipeline linking rules described in the Shader Interfaces chapterlayout must be consistent with the layout of the shaders specified in pStagespLibraryInfo is not NULL, each element of its pLibraries member must have been created with a layout that is compatible with the layout in this pipelinelayout accessible to each shader stage that is used by the pipeline must be less than or equal to VkPhysicalDeviceLimits::maxPerStageResourcespLibraryInfo is not NULL, each element of pLibraryInfo→libraries must be either a compute pipeline or an execution graph pipelineVkPipelineShaderStageNodeCreateInfoAMDXCoalescedInputCountAMDX and the other does notStaticNumWorkgroupsAMDX and the other does notPayloadNodeNameAMDX decoration with a Node Name that matches the shader name of any other node in the graph, the size of the output payload must match the size of the input payload in the matching nodesType must be STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDXpNext member of any structure (including this one) in the pNext chain must be either NULL or a pointer to a valid instance of VkPipelineCompilerControlCreateInfoAMD or VkPipelineCreationFeedbackCreateInfosType value of each struct in the pNext chain must be uniqueflags must be a valid combination of VkPipelineCreateFlagBits valuesstageCount is not 0, and pStages is not NULL, pStages must be a valid pointer to an array of stageCount valid VkPipelineShaderStageCreateInfo structurespLibraryInfo is not NULL, pLibraryInfo must be a valid pointer to a valid VkPipelineLibraryCreateInfoKHR structurelayout must be a valid VkPipelineLayout handlebasePipelineHandle, and layout that are valid handles of non-ignored parameters must have been created, allocated, or retrieved from the same VkDeviceVkPipelineLibraryCreateInfoKHR, VkPipelineShaderStageCreateInfo, CreateExecutionGraphPipelinesAMDX
struct VkExecutionGraphPipelineCreateInfoAMDX {
VkStructureType sType;
void const * pNext;
VkPipelineCreateFlags flags;
uint32_t stageCount;
VkPipelineShaderStageCreateInfo const * pStages;
VkPipelineLibraryCreateInfoKHR const * pLibraryInfo;
VkPipelineLayout layout;
VkPipeline basePipelineHandle;
int32_t basePipelineIndex;
}
| Modifier and Type | Class and Description |
|---|---|
| public static class | VkExecutionGraphPipelineCreateInfoAMDX.
An array of |
| Modifier and Type | Field and Description |
|---|---|
| public static final int | ALIGNOF
The struct alignment in bytes. |
| public static final int | BASEPIPELINEHANDLE
The struct member offsets. |
| public static final int | BASEPIPELINEINDEX
The struct member offsets. |
| public static final int | FLAGS
The struct member offsets. |
| public static final int | LAYOUT
The struct member offsets. |
| public static final int | PLIBRARYINFO
The struct member offsets. |
| public static final int | PNEXT
The struct member offsets. |
| public static final int | PSTAGES
The struct member offsets. |
| public static final int | SIZEOF
The struct size in bytes. |
| public static final int | STAGECOUNT
The struct member offsets. |
| public static final int | STYPE
The struct member offsets. |
| Access | Constructor and Description |
|---|---|
| protected | |
| public | VkExecutionGraphPipelineCreateInfoAMDX(ByteBuffer container)
Creates a |
| Modifier and Type | Method and Description |
|---|---|
| public long | |
| public VkExecutionGraphPipelineCreateInfoAMDX | |
| public int | |
| public VkExecutionGraphPipelineCreateInfoAMDX | |
| public static VkExecutionGraphPipelineCreateInfoAMDX | |
| public static VkExecutionGraphPipelineCreateInfoAMDX. | calloc(int
the buffer capacity capacity)Returns a new |
| public static VkExecutionGraphPipelineCreateInfoAMDX | calloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkExecutionGraphPipelineCreateInfoAMDX. | calloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| protected VkExecutionGraphPipelineCreateInfoAMDX | create(long
the struct memory address address, ByteBuffer an optional container buffer, to be referenced strongly by the struct instance. container)Implements abstract org. the constructor, but returns the exact type of the Struct subclass.
|
| public static VkExecutionGraphPipelineCreateInfoAMDX | |
| public static VkExecutionGraphPipelineCreateInfoAMDX | create(long address)
Returns a new |
| public static VkExecutionGraphPipelineCreateInfoAMDX. | create(int
the buffer capacity capacity)Returns a new |
| public static VkExecutionGraphPipelineCreateInfoAMDX. | create(long
the memory address address, int the buffer capacity capacity)Create a |
| public static VkExecutionGraphPipelineCreateInfoAMDX | |
| public static VkExecutionGraphPipelineCreateInfoAMDX. | |
| public int | |
| public VkExecutionGraphPipelineCreateInfoAMDX | |
| public long | layout()
the description of binding locations used by both the pipeline and descriptor sets used with the pipeline. |
| public VkExecutionGraphPipelineCreateInfoAMDX | |
| public static VkExecutionGraphPipelineCreateInfoAMDX | |
| public static VkExecutionGraphPipelineCreateInfoAMDX. | malloc(int
the buffer capacity capacity)Returns a new |
| public static VkExecutionGraphPipelineCreateInfoAMDX | malloc(MemoryStack
the stack from which to allocate stack)Returns a new |
| public static VkExecutionGraphPipelineCreateInfoAMDX. | malloc(int
the buffer capacity capacity, MemoryStack the stack from which to allocate stack)Returns a new |
| public static long | |
| public static void | |
| public static int | |
| public static void | |
| public static int | |
| public static void | |
| public static long | |
| public static void | |
| public static VkPipelineLibraryCreateInfoKHR | |
| public static void | |
| public static long | |
| public static void | |
| public static VkPipelineShaderStageCreateInfo. | |
| public static void | |
| public static int | |
| public static void | nstageCount(long struct, int value)
Sets the specified value to the |
| public static int | |
| public static void | |
| public VkPipelineLibraryCreateInfoKHR | pLibraryInfo()
a pointer to a |
| public VkExecutionGraphPipelineCreateInfoAMDX | pLibraryInfo(VkPipelineLibraryCreateInfoKHR value)
Sets the address of the specified |
| public long | |
| public VkExecutionGraphPipelineCreateInfoAMDX | |
| public VkExecutionGraphPipelineCreateInfoAMDX | pNext(VkPipelineCompilerControlCreateInfoAMD value)
Prepends the specified |
| public VkExecutionGraphPipelineCreateInfoAMDX | pNext(VkPipelineCreationFeedbackCreateInfo value)
Prepends the specified |
| public VkExecutionGraphPipelineCreateInfoAMDX | pNext(VkPipelineCreationFeedbackCreateInfoEXT value)
Prepends the specified |
| public VkPipelineShaderStageCreateInfo. | pStages()
a pointer to an array of |
| public VkExecutionGraphPipelineCreateInfoAMDX | pStages(VkPipelineShaderStageCreateInfo.
Sets the address of the specified |
| public VkExecutionGraphPipelineCreateInfoAMDX | set(int sType, long pNext, int flags, int stageCount, VkPipelineShaderStageCreateInfo.
Initializes this struct with the specified values. |
| public VkExecutionGraphPipelineCreateInfoAMDX | Returns: this structthe source struct src)Copies the specified struct data to this struct. |
| public int | |
| public int | |
| public VkExecutionGraphPipelineCreateInfoAMDX | |
| public int | |
| public VkExecutionGraphPipelineCreateInfoAMDX | |
| public VkExecutionGraphPipelineCreateInfoAMDX | sType$Default()
Sets the |
| public static void |