OpenCL/Clover Is Closer To Mesa Merging
The OpenCL support work for the open-source Linux graphics drivers with the Clover state tracker and other compute infrastructure prerequisites have moved a step closer to being merged into the mainline Mesa repository.
After being in development for years, the Clover state tracker that brings OpenCL to Gallium3D, has finally left its "mesa/clover" separate Git repository and is now living on a branch of the mainline Mesa repository.
Francisco Jerez, the student developer that did the EVoC Nouveau compute work and got OpenCL running on the open-source reverse-engineered NVIDIA driver, has merged the Clover work into a Mesa "gallium-compute" branch of Mesa.
This weekend the merge happened into gallium-compute, which now has the Clover state tracker plus other underlying changes to Mesa/Gallium3D for handling OpenCL/GPGPU support. This branch, however, doesn't yet have the actual driver implementations for the Nouveau and Radeon (R600g) drivers but just the base work.
The steps to this Gallium3D compute work is described in this article. On the LLVM side, the AMD R600 LLVM back-end was called for inclusion into the mainline LLVM tree.
The gallium-compute branch will hopefully be in shape for merging by the time of Mesa 8.1 this summer. It was last month that Radeon OpenCL Gallium3D began to work. Right now there's instructions to get the code running.
Not counting the other Gallium3D compute work, the OpenCL/Clover state tracker amounts to a little less than 15,000 lines of new code for Mesa. The other infrastructure changes (again, not counting compute driver implementations) amount to less than a few thousand lines of changes.