Mesa 20.3 Can Now Consume SPIR-V Binaries Generated By LLVM's libclc
Libclc is the LLVM library around OpenCL C programming language support and goes along with Clang's OpenCL front-end. Jesse Natalie of Microsoft has seen his two month old merge request land on Friday for being able to make use of libclc SPIR-V binaries that can be used by Mesa OpenCL code. Ultimately this code in part allows converting a libclc SPIR-V library into a set of NIR functions. Earlier this year the effort was started by Red Hat's David Airlie for being able to support a SPIR-V library generated from libclc to implement OpenCL runtime functions. Microsoft though pursued the work over the finish as part of their effort for getting OpenCL over Direct3D 12 (and OpenGL).
This work also required patches to LLVM that were recently moved including the addition of the libclc SPIR-V target, overload/mangling for all OpenCL built-insm and other changes. This support for using libclc SPIR-V will be part of next quarter's Mesa 20.3 release.