RADV Vulkan Driver Now Supports NVIDIA's Device Generated Commands
As of this week in Mesa 22.2, the open-source Radeon Vulkan driver "RADV" has added support for the VK_NV_device_generated_commands extension. This NVIDIA-created extension that has been around for a few years with their hardware allows for the GPU to generate some of the most frequent rendering commands on the hardware itself.
VK_NV_device_generated_commands was worked on by NVIDIA to allow device-generated commands to overcome the readback latency and inefficiencies when relying on the CPU otherwise for certain work in command generation. The Device Generated Commands (DGC) work also helps in scenarios where more of the global scene is represented on the GPU itself and desiring to make changes to shaders on a per-draw basis. This NVIDIA blog post provides more details on this Vulkan extension.
The VK_NV_device_generated_commands extension hasn't been broadly supported outside of NVIDIA's own proprietary driver but as of this week RADV in Mesa 22.2 now supports this extension for Radeon GPUs. This merge was worked on by RADV co-creator Bas Nieuwenhuizen. This extension may prove useful for VKD3D support with handling of D3D12's ExecuteIndirect functionality.
Update: An important item to add is that enabling RADV device generated commands support currently needs to set the "radv_dgc=true" option. Currently by default Mesa 22.2 is enabling "radv_dgc" by default just for VKD3D-Proton.
VK_NV_device_generated_commands was worked on by NVIDIA to allow device-generated commands to overcome the readback latency and inefficiencies when relying on the CPU otherwise for certain work in command generation. The Device Generated Commands (DGC) work also helps in scenarios where more of the global scene is represented on the GPU itself and desiring to make changes to shaders on a per-draw basis. This NVIDIA blog post provides more details on this Vulkan extension.
The VK_NV_device_generated_commands extension hasn't been broadly supported outside of NVIDIA's own proprietary driver but as of this week RADV in Mesa 22.2 now supports this extension for Radeon GPUs. This merge was worked on by RADV co-creator Bas Nieuwenhuizen. This extension may prove useful for VKD3D support with handling of D3D12's ExecuteIndirect functionality.
Update: An important item to add is that enabling RADV device generated commands support currently needs to set the "radv_dgc=true" option. Currently by default Mesa 22.2 is enabling "radv_dgc" by default just for VKD3D-Proton.
13 Comments