AMD R600g LLVM Back-End Is Working A Bit Better

Written by Michael Larabel in AMD on 11 June 2012 at 07:20 AM EDT. 16 Comments
AMD
The R600g LLVM shader compiler back-end that's primarily intended for the Radeon Gallium3D compute support is now working a bit better for graphics support compared to when it was first committed.

Back in April the R600g LLVM compiler was hooked-up as part of AMD's effort to enable OpenCL/GPGPU support within their open-source driver stack. They've been working on the support for months and it was in early December of last year that the R600g LLVM back-end first surfaced. The LLVM back-end hasn't yet been merged in upstream LLVM but is currently living within Mesa and can be built against LLVM 3.1.

The LLVM back-end for the R600 Gallium3D driver currently isn't used or built by default but requires a build-time switch. When the back-end is integrated, the R600g LLVM support can still be toggled at run-time using the R600_LLVM environment variable.

In April after everything was merged I tried out the Radeon Gallium3D LLVM compiler back-end to see how it would work out for graphics. OpenCL is the target of the shader compiler but it could be used for OpenGL's GLSL too. Back in April it was a broken wreck for this graphics support with Xonotic and other games not rendering correctly, etc.

While GLSL on the R600g LLVM back-end hasn't been the primary target, since April the support has improved. This weekend I tested out Mesa Git master with LLVM 3.1 and it's now working much better when the LLVM back-end is enabled. Xonotic shaders now are working correctly, etc. I didn't encounter any visual defects like I saw when trying it out nearly two months ago.
R600 LLVM
Though if you're hoping for any performance changes, there weren't any major differences spotted in the few tests that I ran. Granted, the tests were just measuring the in-game frame-rates and not the shader compiler time, etc. However, for anyone interested in seeing some Mesa Git benchmarks from a Radeon HD 4890 setup with the LLVM back-end enabled, head on over to OpenBenchmarking.org.
R600 LLVM
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week