Feature request : add DispatchMeshIndirect & DispatchRaysIndirect support
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 https://github.com/KhronosGroup/Vulkan-Docs/issues/1486 I hope it affects something.
DirectX 12andVulkanhave different memory layout for arguments.D3D12_DISPATCH_MESH_ARGUMENTSvsVkDrawMeshTasksIndirectCommandNVandD3D12_DISPATCH_RAYS_DESCvsVkTraceRaysIndirectCommandKHR. 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.