3 ms·
Instrinics to shuffle data around threads exist in graphics compute but only are really supported in DX12 (WaveInstrinics) and Vulkan (subgroup). They were fir
by Impossible 6y ago
Instrinics to shuffle data around threads exist in graphics compute but only are really supported in DX12 (WaveInstrinics) and Vulkan (subgroup). They were first introduced to game developers widely on consoles (Xbox One and PS4), but also exist in a more limited form as vendor specific extensions in DX11 (and I think OpenGL). Callable shaders (https://docs.microsoft.com/en-us/windows/win32/direct3d12/callable-shader https://docs.microsoft.com/en-us/windows/win32/direct3d12/ca...) in DX12 and Vulkan might give you the dynamic dispatch functionality you want. They are usable in ray generation shaders but I'm not sure if they can be used in general purpose compute yet.
The better or worse comment was more about having a heterogeneous environment vs using a graphics API to dispatch compute. I agree that generally speaking they are the same though, after all it's the same hardware.