RADV Exploring "A Driver On The GPU" In Moving More Vulkan Tasks To The GPU
In order to fully support Direct3D Indirect Drawing for allowing more rendering tasks to be moved from the CPU to the GPU, the open-source RADV Radeon Vulkan driver is working on experimental code for effectively hosting "a driver on the GPU."
RADV co-founder Bas Nieuwenhuizen outliend the plans they are pursuing for "a driver on the GPU" in effect for offloading more functionality to be executed on the GPU rather than the CPU. The motivation is for better supporting Direct3D 12's Indirect Drawing (ExecuteIndirect) in conjunction with VKD3D-Proton for Steam Play. One game in particular driving them in this work is for better supporting Halo Infinite with Steam Play which uses the Direct3D 12 Indirect Drawing support in more advanced ways.
Bas wrote a lengthy blog post today outlining the effort. See his blog post if interested, but long story short, he ends it with:
RADV co-founder Bas Nieuwenhuizen outliend the plans they are pursuing for "a driver on the GPU" in effect for offloading more functionality to be executed on the GPU rather than the CPU. The motivation is for better supporting Direct3D 12's Indirect Drawing (ExecuteIndirect) in conjunction with VKD3D-Proton for Steam Play. One game in particular driving them in this work is for better supporting Halo Infinite with Steam Play which uses the Direct3D 12 Indirect Drawing support in more advanced ways.
Bas wrote a lengthy blog post today outlining the effort. See his blog post if interested, but long story short, he ends it with:
Don’t expect this upstream very quickly. The main reason for exploring this in radv is ExecuteIndirect support for Halo Infinite, and after some recent updates we’re back into GPU hang limbo with radv/vkd3d-proton there. So while we’re solving that I’m holding off on upstreaming in case the hangs are caused by the implementation of this extension.
Furthermore, this is only a partial implementation of the extension anyways, with a fair number of limitations that we’d ideally eliminate before fully exposing this extension.
19 Comments