Following the OpenCL Gallium3D state tracker having been merged
into Mesa earlier this week, the open-source Radeon OpenCL support is coming close.
After the Clover state tracker was merged on Friday, Tom Stellard of AMD released the latest R600g compute support patches. These patches can be found on the mailing list
as well as his Mesa gallium-compute-r600 Git repository
Aside from merging the gallium-userbuf work, adding in the Radeon-specific compute support is just shy of 3,000 lines of code. (Though this isn't counting the R600 LLVM compiler back-end
that was already merged.)
With the necessary patches, building the R600g compute support requires configuring mesa with --enable-r600-llvm
. The R600g compute targets the Radeon HD 5000 (Evergreen) generation of graphics processors and newer. (Well, since the open-source Radeon HD 7000 series is basically useless to end-users at the moment, this means the open-source OpenCL on the Radeon side is for the HD 5000/6000 series.)
For more information on how to build the Gallium3D compute support for Radeon or in regards to the compute support state for the NVIDIA hardware via Nouveau and then on the CPU via LLVMpipe, reference the GalliumCompute Wiki page
So far there's a collection of basic OpenCL examples (in this Git repository
) known to work for the open-source Radeon stack at this time.