VK_AMDX_shader_enqueue(3)

# VK_AMDX_shader_enqueue(3) Manual Page

## Name

VK_AMDX_shader_enqueue - device extension

Loading… please wait.

## Registered Extension Number

135

## Revision

1

## Ratification Status

Not ratified

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

## API Interactions

- Interacts with VK_KHR_maintenance5 == SPIR-V Dependencies

- SPV_AMDX_shader_enqueue

## Contact

- Tobias Hector tobski

## Extension Proposal

VK_AMDX_shader_enqueue

## Other Extension Metadata

Last Modified Date

  2021-07-22

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

## Description

This extension adds the ability for developers to enqueue compute shader workgroups from other compute shaders.

## New Commands

- vkCmdDispatchGraphAMDX

- vkCmdDispatchGraphIndirectAMDX

- vkCmdDispatchGraphIndirectCountAMDX

- vkCmdInitializeGraphScratchMemoryAMDX

- vkCreateExecutionGraphPipelinesAMDX

- vkGetExecutionGraphPipelineNodeIndexAMDX

- vkGetExecutionGraphPipelineScratchSizeAMDX

## New Structures

- VkDispatchGraphCountInfoAMDX

- VkDispatchGraphInfoAMDX

- VkExecutionGraphPipelineCreateInfoAMDX

- VkExecutionGraphPipelineScratchSizeAMDX

- Extending VkPhysicalDeviceFeatures2, VkDeviceCreateInfo:

  - VkPhysicalDeviceShaderEnqueueFeaturesAMDX

- Extending VkPhysicalDeviceProperties2:

  - VkPhysicalDeviceShaderEnqueuePropertiesAMDX

- Extending VkPipelineShaderStageCreateInfo:

  - VkPipelineShaderStageNodeCreateInfoAMDX

## New Unions

- VkDeviceOrHostAddressConstAMDX

## New Enum Constants

- `VK_AMDX_SHADER_ENQUEUE_EXTENSION_NAME`

- `VK_AMDX_SHADER_ENQUEUE_SPEC_VERSION`

- `VK_SHADER_INDEX_UNUSED_AMDX`

- Extending VkBufferUsageFlagBits:

  - `VK_BUFFER_USAGE_EXECUTION_GRAPH_SCRATCH_BIT_AMDX`

- Extending VkPipelineBindPoint:

  - `VK_PIPELINE_BIND_POINT_EXECUTION_GRAPH_AMDX`

- Extending VkStructureType:

  - `VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_CREATE_INFO_AMDX`

  - `VK_STRUCTURE_TYPE_EXECUTION_GRAPH_PIPELINE_SCRATCH_SIZE_AMDX`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_FEATURES_AMDX`

  - `VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_ENQUEUE_PROPERTIES_AMDX`

  - `VK_STRUCTURE_TYPE_PIPELINE_SHADER_STAGE_NODE_CREATE_INFO_AMDX`

If VK_KHR_maintenance5 is supported:

- Extending VkBufferUsageFlagBits2KHR:

  - `VK_BUFFER_USAGE_2_EXECUTION_GRAPH_SCRATCH_BIT_AMDX`

## Version History

- Revision 1, 2021-07-22 (Tobias Hector)

  - Initial revision

## See Also

VK_SHADER_INDEX_UNUSED_AMDX, VkDeviceOrHostAddressConstAMDX, VkDispatchGraphCountInfoAMDX, VkDispatchGraphInfoAMDX, VkExecutionGraphPipelineCreateInfoAMDX, VkExecutionGraphPipelineScratchSizeAMDX, VkPhysicalDeviceShaderEnqueueFeaturesAMDX, VkPhysicalDeviceShaderEnqueuePropertiesAMDX, VkPipelineShaderStageNodeCreateInfoAMDX, vkCmdDispatchGraphAMDX, vkCmdDispatchGraphIndirectAMDX, vkCmdDispatchGraphIndirectCountAMDX, vkCmdInitializeGraphScratchMemoryAMDX, vkCreateExecutionGraphPipelinesAMDX, vkGetExecutionGraphPipelineNodeIndexAMDX, vkGetExecutionGraphPipelineScratchSizeAMDX

## Document Notes

For more information, see the Vulkan Specification

This page is a generated document. Fixes and changes should be made to the generator scripts, not directly.

## Copyright

Copyright 2014-2023 The Khronos Group Inc.

SPDX-License-Identifier: CC-BY-4.0