OpenCL Gallium3D State Tracker Merged Into Mesa
While the OpenCL enablement process for the open-source GPU drivers isn't over yet, there's a big accomplishment today: the "Clover" OpenCL state tracker for Gallium3D has finally been merged to Mesa Git master.
The Clover (OpenCL over Gallium3D) state tracker has been around for about three years but only in the past year has the enablement of this GPGPU language finally taken off within Mesa/Gallium3D. Thanks to Google Summer of Code, an X.Org EVoC project, work by AMD, and other efforts, OpenCL is finally coming together for the Gallium3D drivers -- almost four years after the OpenCL 1.0 specification was ratified.
It was back in February that the Nouveau driver could basically handle OpenCL compute using out-of-tree code. This was demonstrated at FOSDEM. One month later was when Radeon Gallium3D sort of began to work for OpenCL.
In late March was when Francisco Jerez began work to merge the Gallium3D compute infrastructure. Various bits have been merged already, but today the third step has finally been realized: importing the OpenCL state tracker.
With this commit just under 15,000 lines of code was introduced as the OpenCL "Clover" state tracker was merged. (This comes after merging other Gallium3D compute plumbing bits and other prerequisites.)
While this has happened, the Nouveau and Radeon driver implementations for this still need to be merged to master. At least though they're getting very close with the R600 LLVM back-end having been merged.
Nice job to the developers involved and interesting times are ahead!