Trying Out AMD's Radeon Gallium3D LLVM Compiler

Written by Michael Larabel in Display Drivers on 30 April 2012 at 09:32 AM EDT. Page 1 of 2. 3 Comments.

Last week the R600 LLVM compiler was hooked up for AMD's open-source Gallium3D driver. This LLVM shader compiler is important particularly for OpenCL enablement within the open-source Radeon Linux graphics driver, but still there is some ways to go before that code is ready for production use.

Right now the new LLVM compiler for Radeon Gallium3D is not used by default but Mesa must be recompiled with the "--enable-r600-llvm-compiler" build switch for the support to be enabled for this shader compiler.

While OpenCL is the target for this LLVM-based shader compiler, it could potentially be used for OpenGL GLSL shader compilation too. As said by AMD's Tom Stellard (the one who's been working on this R600 back-end) within the forums, "The LLVM backend will be used for OpenCL. It could potentially be used for GLSL as well, but it still needs a fair amount of work to bring it up to par with the current r600g compiler. At the moment there aren't any plans to improve GLSL support in the LLVM backend, but the work could certainly be done if an interested developer (or developers) wanted to do it."

As Phoronix readers were quick to point out in that thread, having this LLVM compiler enabled leads to issues for many shader-based games. These included screenshots were from Xonotic when the R600 LLVM compiler was enabled with many of the textures not working at all.


Related Articles