Nouveau Finally Lands SPIR-V Support As Part Of OpenCL Push

Written by Michael Larabel in Nouveau on 21 September 2019 at 07:13 AM EDT. 7 Comments
Going back to December 2017 we've been tracking the Red Hat led effort on improving Nouveau's OpenCL compute support that involves adding NIR/SPIR-V support and improvements to the Clover Gallium3D state tracker. To much surprise, this morning the SPIR-V support for this open-source NVIDIA driver was merged for Mesa 19.3.

Longtime Nouveau developer Karol Herbst has been leading this work on the Nouveau NIR/SPIR-V changes around OpenCL support since joining Red Hat almost two years ago. What hit Mesa this morning is the SPIR-V support for Nouveau's NVC0 Gallium3D driver.

There are also Clover changes to support multiple IRs so that NIR can be passed into the driver too rather than just TGSI. So NIR can be passed in to Clover, leveraging existing NIR + SPIR-V code within Mesa. It was earlier this year that Nouveau landed its NIR support for this modern intermediate representation used by nearly all the Mesa drivers these days.

So it's looking like things are coming together for modern Nouveau OpenCL support but it looks like some additional work is still needed before it's ready for primetime.

Until the Nouveau kernel driver supports re-clocking on modern (GeForce GTX 900 series and newer) graphics cards, the Nouveau OpenCL support is expected to be slow since the driver is limited to running the cards at their much lower boot clock frequencies.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of 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 automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via

Popular News This Week