Feature request : add DispatchMeshIndirect & DispatchRaysIndirect support
THISISAGOODNAME opened this issue · 6 comments
Or more universal api like dx12 ExecuteIndirect .
:)
I thought about ExecuteIndirect
, but unfortunately Vulkan
does not have such api. VK_NV_device_generated_commands
can be the equivalent of ExecuteIndirect, but it is not a final version yet, for example there is no DispatchRaysIndirect. I prefer to wait for KHR version.
Another limitation is that Vulkan
do not provide count
version for all indirect calls. It does not allow emulating subset of ExecuteIndirect
.
Anyway, thank you for your feature request. I will add DispatchMeshIndirect/DispatchRaysIndirect
support.
DirectX 12
and Vulkan
have different memory layout for arguments. D3D12_DISPATCH_MESH_ARGUMENTS
vs VkDrawMeshTasksIndirectCommandNV
and D3D12_DISPATCH_RAYS_DESC
vs VkTraceRaysIndirectCommandKHR
. It will require arguments patch on the gpu side.
Sorry, I want to postpone this feature request until there is a way to do it without arguments buffer patching.
I created KhronosGroup/Vulkan-Docs#1486 I hope it affects something.
DirectX 12
andVulkan
have different memory layout for arguments.D3D12_DISPATCH_MESH_ARGUMENTS
vsVkDrawMeshTasksIndirectCommandNV
andD3D12_DISPATCH_RAYS_DESC
vsVkTraceRaysIndirectCommandKHR
. It will require arguments patch on the gpu side.
Sorry, I want to postpone this feature request until there is a way to do it without arguments buffer patching.
Thank you anyway.