RADV Continues Getting Ready For Vulkan Mesh Shader Support

Written by Michael Larabel in Mesa on 21 July 2022 at 05:33 AM EDT. 10 Comments
MESA
Merged yesterday into RADV for Mesa 22.2 is implementing task/mesh shader draw support.

This open-source Radeon Vulkan driver within Mesa has been working on mesh shader support, currently with the experimental NV_mesh_shader extension from NVIDIA but also preparing for the upcoming Vulkan mesh shader extension that closely mirrors D3D12 capabilities and will be a cross-vendor extension. This formal Vulkan mesh shader extension being close to DirectX 12 semantics and thus useful for the likes of VKD3D-Proton. In fact, it's largely been Valve's Timur Kristóf driving forward this RADV task/mesh shader work.

This merge has the task+mesh shader draws wired up, building off the previously merged task shader pieces. The merge request does note some difficulties in the hardware implementation mismatching the current API. That is around dealing with NV_mesh_shader while hopefully the cross-vendor Vulkan mesh shader extension will map much more nicely.


In any event, with this latest code RADV in Mesa 22.2 now exposes task shader support when using the NV_mesh_shader extension. However, the NV_mesh_shader extension with RADV remains hidden by default unless using the RADV_PERFTEST=nv_ms environment variable. Mesa 22.2 feature work is ending shortly and the stable release should be out roughly in about one month's time.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week