VK_AMDX_shader_enqueue
.With mesh nodes available in a work graph, dispatching a single payload can kick off a variety of compute and rendering tasks, completely driven by the GPU. You can read more about it in the blog entry here.
This update also brings support for the Work Graph HLSL syntax. Instead of relying on SPIR-V intrinsics, the shaders can now use node-related attributes and functions, and can be compiled with dxc (DirectX® Shader Compiler) to SPIR-V, following the SPV_AMDX_shader_enqueue
spec.
To get started, check out the following resources:
- VK_AMDX_shader_enqueue extension proposal
- VK_AMDX_shader_enqueue extension appendix
- Vulkan beta header in Khronos® registry
- AMD Software: Adrenalin Edition 24.10.30.02 Beta driver with Vulkan® Work Graph Mesh Nodes
- Work Graphs sample application – GitHub
- DirectX® Shader Compiler with SPV_AMDX_shader_enqueue support
Please note the limitations present in this version of the extension:- SPIR-V module may define only one node (OpEntryPoint), i.e. one node function per HLSL shader.
- HLSL shader may not pass node outputs or records to helper (internal linkage) functions.
Although Work Graphs remain an experimental feature in Vulkan at this time, we’re committed to its development and we are aiming towards standardizing it as an EXT or KHR extension eventually.
Disclaimers
Links to third-party sites are provided for convenience and unless explicitly stated, AMD is not responsible for the contents of such linked sites, and no endorsement is implied. GD-98
Microsoft is a registered trademark of Microsoft Corporation in the US and/or other countries. Other product names used in this publication are for identification purposes only and may be trademarks of their respective owners.
DirectX is a registered trademark of Microsoft Corporation in the US and/or other countries.
Khronos® and Vulkan® are registered trademarks of the Khronos Group Inc.