Nouveau Developer Working On Adding SPIR-V Support To Clover Gallium3D OpenCL

Written by Michael Larabel in Nouveau on 3 May 2017 at 07:38 PM EDT. 6 Comments
Independent developer Pierre Moreau who has contributed to the open-source Nouveau driver in the past has published a rather interesting patch series today: SPIR-V support for the Clover Gallium3D OpenCL state tracker.

Moreau has been working on SPIR-V to NV50 IR support but now he's publishing the SPIR-V for Clover patches as the first step of this work.

This set of 17 patches is geared for allowing the Clover state tracker accept SPIR-V binaries for execution via the clCreateProgramWithBinary() or clCreateProgramWithIL() functions. This patch series also contains a basic SPIR-V linker for combining multiple SPIR-V binaries.

This support can be made more useful once LLVM lands the in-development SPIR-V back-end. Also, Pierre commented on the eventual ability once NIR supports pointers and any other missing features that it could be used for converting SPIR-V binaries into NIR for consumption by Mesa/Gallium3D drivers accepting NIR input but not direct SPIR-V support.

More details via this patch series. Hopefully we'll see more of Pierre Moreau's Nouveau SPIR-V work soon.
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