Top Description Fields Constructors Methods
org.lwjgl.vulkan

public Class AMDXShaderEnqueue

extends Object
Class Inheritance
Imports
javax.annotation.*, java.nio.*, org.lwjgl.system.*

This extension adds the ability for developers to enqueue compute shader workgroups from other compute shaders.
VK_AMDX_shader_enqueue
Name String
VK_AMDX_shader_enqueue
Extension Type
Device extension
Registered Extension Number
135
Revision
1
Extension and Version Dependencies
VK_KHR_get_physical_device_properties2 and VK_KHR_synchronization2 and VK_KHR_pipeline_library and VK_KHR_spirv_1_4
  • This is a provisional extension and must be used with caution. See the description of provisional header files for enablement and stability details.
Contact
Extension Proposal
VK_AMDX_shader_enqueue
Other Extension Metadata
Last Modified Date
2021-07-22
Interactions and External Dependencies
Provisional
This extension is provisional and should not be used in production applications. The functionality may change in ways that break backwards compatibility between revisions, and before final release.
Contributors
  • Tobias Hector, AMD
  • Matthaeus Chajdas, AMD
  • Maciej Jesionowski, AMD
  • Robert Martin, AMD
  • Qun Lin, AMD
  • Rex Xu, AMD
  • Dominik Witczak, AMD
  • Karthik Srinivasan, AMD
  • Nicolai Haehnle, AMD
  • Stuart Smith, AMD

Field Summary

Modifier and TypeField and Description
public static final String
public static final int
VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION

The extension specification version.

public static final long
VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX

Extends VkBufferUsageFlagBits2KHR.

public static final int
public static final int
VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX

Extends VkPipelineBindPoint.

public static final int
VK_SHADER_INDEX_UNUSED_AMDX

VK_SHADER_INDEX_UNUSED_AMDX

public static final int
public static final int
public static final int
public static final int
public static final int

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public static void
nvkCmdDispatchGraphAMDX(VkCommandBuffer commandBuffer, long scratch, long pCountInfo)

Unsafe version of: CmdDispatchGraphAMDX

public static void
nvkCmdDispatchGraphIndirectAMDX(VkCommandBuffer commandBuffer, long scratch, long pCountInfo)

Unsafe version of: CmdDispatchGraphIndirectAMDX

public static int
nvkCreateExecutionGraphPipelinesAMDX(VkDevice device, long pipelineCache, int
the length of the pCreateInfos and pPipelines arrays.
createInfoCount
,
long pCreateInfos, long pAllocator, long pPipelines)

Unsafe version of: CreateExecutionGraphPipelinesAMDX

public static int
nvkGetExecutionGraphPipelineNodeIndexAMDX(VkDevice device, long executionGraph, long pNodeInfo, long pNodeIndex)

Unsafe version of: GetExecutionGraphPipelineNodeIndexAMDX

public static int
nvkGetExecutionGraphPipelineScratchSizeAMDX(VkDevice device, long executionGraph, long pSizeInfo)

Unsafe version of: GetExecutionGraphPipelineScratchSizeAMDX

public static void
vkCmdDispatchGraphAMDX(VkCommandBuffer
the command buffer into which the command will be recorded.
commandBuffer
,
long
a pointer to the scratch memory to be used.
scratch
,
VkDispatchGraphCountInfoAMDX
a host pointer to a VkDispatchGraphCountInfoAMDX structure defining the nodes which will be initially executed.
pCountInfo
)

Dispatch an execution graph.

public static void
vkCmdDispatchGraphIndirectAMDX(VkCommandBuffer
the command buffer into which the command will be recorded.
commandBuffer
,
long
a pointer to the scratch memory to be used.
scratch
,
VkDispatchGraphCountInfoAMDX
a host pointer to a VkDispatchGraphCountInfoAMDX structure defining the nodes which will be initially executed.
pCountInfo
)

Dispatch an execution graph with node and payload parameters read on the device.

public static void
vkCmdDispatchGraphIndirectCountAMDX(VkCommandBuffer
the command buffer into which the command will be recorded.
commandBuffer
,
long
a pointer to the scratch memory to be used.
scratch
,
long
a device address of a VkDispatchGraphCountInfoAMDX structure defining the nodes which will be initially executed.
countInfo
)

Dispatch an execution graph with all parameters read on the device.

public static void
vkCmdInitializeGraphScratchMemoryAMDX(VkCommandBuffer
the command buffer into which the command will be recorded.
commandBuffer
,
long
a pointer to the scratch memory to be initialized.
scratch
)

Initialize scratch memory for an execution graph.

public static int
vkCreateExecutionGraphPipelinesAMDX(VkDevice
the logical device that creates the execution graph pipelines.
device
,
long
either NULL_HANDLE, indicating that pipeline caching is disabled; or the handle of a valid pipeline cache object, in which case use of that cache is enabled for the duration of the command.
pipelineCache
,
VkExecutionGraphPipelineCreateInfoAMDX.Buffer
a pointer to an array of VkExecutionGraphPipelineCreateInfoAMDX structures.
pCreateInfos
,
VkAllocationCallbacks
controls host memory allocation as described in the Memory Allocation chapter.
pAllocator
,
LongBuffer
a pointer to an array of VkPipeline handles in which the resulting execution graph pipeline objects are returned.
pPipelines
)

Creates a new execution graph pipeline object.

public static int
vkCreateExecutionGraphPipelinesAMDX(VkDevice device, long pipelineCache, VkExecutionGraphPipelineCreateInfoAMDX.Buffer pCreateInfos, VkAllocationCallbacks pAllocator, long[] pPipelines)

Array version of: CreateExecutionGraphPipelinesAMDX

public static int
vkGetExecutionGraphPipelineNodeIndexAMDX(VkDevice
the that executionGraph was created on.
device
,
long
the execution graph pipeline to query the internal node index for.
executionGraph
,
VkPipelineShaderStageNodeCreateInfoAMDX
a pointer to a VkPipelineShaderStageNodeCreateInfoAMDX structure identifying the name and index of the node to query.
pNodeInfo
,
IntBuffer
the returned internal node index of the identified node.
pNodeIndex
)

Query internal id of a node in an execution graph.

public static int
public static int
vkGetExecutionGraphPipelineScratchSizeAMDX(VkDevice
the that executionGraph was created on.
device
,
long
the execution graph pipeline to query the scratch space for.
executionGraph
,
VkExecutionGraphPipelineScratchSizeAMDX
a pointer to a VkExecutionGraphPipelineScratchSizeAMDX structure that will contain the required scratch size.
pSizeInfo
)

Query scratch space required to dispatch an execution graph.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait