Intel's Vulkan Linux Driver Adds Experimental Mesh Shader Support For DG2/Alchemist

Written by Michael Larabel in Intel on 2 February 2022 at 02:04 PM EST. Add A Comment
INTEL
Intel's open-source "ANV" Vulkan driver for Linux systems now has experimental support for mesh shaders that work with their forthcoming Intel Arc DG2/Alchemist graphics cards.

Mesh shaders combine vertex and primitive processing as a fundamental change to the graphics rendering pipeline. Mesh shaders with Vulkan currently work by means of NVIDIA's VK_NV_mesh_shader extension. As explained with the spec:
This extension provides a new mechanism allowing applications to generate collections of geometric primitives via programmable mesh shading. It is an alternative to the existing programmable primitive shading pipeline, which relied on generating input primitives by a fixed function assembler as well as fixed function vertex fetch.

There are new programmable shader types — the task and mesh shader — to generate these collections to be processed by fixed-function primitive assembly and rasterization logic. When task and mesh shaders are dispatched, they replace the core pre-rasterization stages, including vertex array attribute fetching, vertex shader processing, tessellation, and geometry shader processing.


NVIDIA has been supporting mesh shaders going back to their Turing GPUs. With the above graphic per NVIDIA is a look at the pipeline difference with mesh/task shaders.


AMD supports mesh shaders with their RDNA2 GPUs and now Intel with their upcoming DG2/Alchemist hardware can also handle mesh shaders. Back in December experimental mesh shaders for the Radeon RADV driver were merged into Mesa 22.0 while now there is also the experimental Intel ANV support.

Intel's open-source driver engineers have been working on mesh shader support for months while hitting Mesa 22.0-devel today were the changes to provide the working albeit experimental coverage.


This merge request is the big batch of 13 patches that get Vulkan mesh shader support working for Xe HP (DG2). The VK_NV_mesh_shader support though is hidden behind the "ANV_EXPERIMENTAL_NV_MESH_SHADER" environment variable for activation. Intel like AMD are waiting for hopefully an official (non-vendor prefix) Vulkan mesh shader extension they can better support. Hopefully it won't take too long before an official cross-vendor Vulkan mesh shader extension is published.
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