Mesa's Lavapipe Adds Vulkan Task/Mesh Shader Support

Written by Michael Larabel in Mesa on 6 June 2023 at 06:15 AM EDT. 3 Comments
MESA
David Airlie has managed to hack together task/mesh shader support inside Lavapipe, the CPU-based software Vulkan implementation inside Mesa.

Mesh shading for Vulkan is one of the exciting additions made last year to the spec with VK_EXT_mesh_shader and akin to functionality found already within DirectX 12. There is mesh shader support already within some hardware Vulkan drivers inside Mesa like RADV on capable GPUs, but a software implementation for Lavapipe was a bit tricky. Red Hat's David Airlie explained in the merge request:
"This adds VK_EXT_mesh_shader support to lavapipe by writing up some gallium interfaces for it and hooking it up inside llvmpipe as compute shader variants.

The outputs from the compute shaders are piped back into the draw module for clipping and stats collection.

Currently passes all CTS tests."

This MR comes in at more than two thousand lines of new code and is now in Git for next quarter's Mesa 23.2 release.

Lavapipe

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