Intel Vulkan Linux Driver Brings Experimental Mesh Shader Support To Arc Alchemist
Mesh shaders are one of the more interesting recent developments in computer graphics technology, despite that many users are very likely not heard of them, or only heard the name. In essence, mesh shaders are a programmable shader type that allows a GPU to shift some of the workload from fixed-function hardware over to the GPU's massive compute array.
They're a little complicated to use and difficult to implement—evidenced by AMD's announcement of the very similar "primitive shaders" at Vega's launch only for that feature to arrive stillborn. NVIDIA brought the idea to full fruition with Turing, and of course they're supported on Ampere, as well as AMD's RDNA2 GPUs. When used properly, mesh shaders can offer drastically improved efficiency in scenes with lots of geometry. That'll be important as games start to ramp up polycounts; see Epic's Unreal Engine 5 demos for examples.
Obviously, if Intel wants to roll with the big boys in the discrete GPU space, it's going to need mesh shader support. We knew the hardware was capable; Intel already demoed the chips running the aforementioned 3DMark test, which uses DirectX 12. But now it works in Vulkan, too, as the latest version of team blue's "ANV" open-source Vulkan driver for Linux has preliminary support for mesh shaders using the VK_NV_mesh_shader vendor extension.
It doesn't take a genius to realize that that's an NVIDIA extension; as of yet, Khronos Group has not published a cross-vendor extension for mesh shader support. Hopefully that happens sooner rather than later, so that AMD and Intel (and thus game developers) can embrace Vulkan mesh shaders unreservedly. If you're a developer eager to fiddle with mesh shaders on Intel hardware, make sure you set the "ANV_EXPERIMENTAL_NV_MESH_SHADER" environment variable first, because the support is disabled by default.
Thanks to Phoronix for the tip-off.