Nouveau Developer Working On Adding SPIR-V Support To Clover Gallium3D OpenCL
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.
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.
6 Comments