The X.Org Foundation has been quietly paying a developer to better the OpenCL support within Gallium3D.
While not exactly a secret, the X.Org Foundation has been paying a student developer to work on Gallium3D-OpenCL as part of EVoC. X.Org EVoC
is like Google's Summer of Code, except there's really no limits and much less structure. Unfortunately, the X.Org Foundation doesn't really advertise this program or publicize the efforts in other means whereby students can pull in several thousand dollars.
Going on for a number of weeks now as one of the very few EVoC projects has been hacking on accelerated OpenCL using Gallium3D. The student working on this is Francisco Jerez, who previously has contributed to the Nouveau driver project. He's been working on it going back to October, but there's been no official announcements or much beyond a Wiki page that he's now updating with more content.
Francisco's OpenCL-Gallium3D work complements what was originally started by Zack Rusin on the Clover stare tracker
Gallium3D) a few years ago
, then largely went stale, and received some love this year
when Denis Steckelmacher began renewing the OpenCL Gallium3D efforts as part of Google Summer of Code 2011. Denis made some great progress
, but it's still not quite ready for end-users.
Francisco Jerez is now continuing the OpenCL work for X.Org EVoC. In particular, he's focusing upon the Nouveau compute upbringing. There's also been some Nouveau OpenCL/GPGPU work that's ongoing by PathScale and their PSCNV driver fork
of Nouveau. Meanwhile, AMD's been paying others for OpenCL work
and Tom Stellard at AMD has also been investigating open-source OpenCL for Radeon hardware.
So far Francisco has been working on driver-specific Nouveau (NV50) driver changes for supporting compute grids of arbitrary machine code and extending the TGSI IR and Gallium API for handling GPGPU.
Coming up in the next month the open-source developer will be reshaping the Clover library into a proper Gallium3D state tracker, whereby the OpenCL library is fed TGSI bytecode instead of C code. He also hopes to achieve various other changes before his official EVoC period ends in February.
There's a preliminary compute API, a variety of unit tests for the said API, code to init the GPU compute sub-system, and various other work. Details in full on this winter project can be found on this X.Org Wiki page
. The work isn't going directly into mainline Mesa Git but rather this GitHub repository