RADV Continues Getting Ready For Vulkan Mesh Shader Support
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.
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.
10 Comments