R600 Gallium3D LLVM Compiler Back-End Benchmarks
The R600 SB back-end that's found with the upcoming Mesa 9.2 isn't enabled by default (it requires setting the R600_DEBUG=sb environment variable), since AMD developers view the R600 LLVM back-end as the future. The LLVM back-end is more versatile and it's needed for the Gallium3D OpenCL/GPGPU compute support. AMD's Tom Stellard has been working heavily in this back-end over the past two years.
This GPU back-end was merged into LLVM 3.3, which was released last month, and can be built with Mesa 9.2 using the appropriate compiler switch. The LLVM back-end can then still be dynamically toggled with the R600_LLVM environment variable.
For this early Sunday benchmarking are tests from a mid-range Radeon HD 4000 series GPU in its stock configuration, with the R600 LLVM compiler back-end in use, and then when the R600 LLVM compiler back-end was disabled but the R600 SB optimizations enabled.
The benchmark results in full for this testing can be found on OpenBenchmarking.org in 1307102-SO-MESA92RAD62. Benchmarking happened from an early Ubuntu 13.10 installation with the Linux 3.10 kernel. (Note: the CPU frequencies were maintained the same throughout testing but ignore the frequency differences in the system table due to the Intel P-State driver in recent Linux kernels reporting bogus values for some CPUs.)
Viewing the rest of the results show that enabling the R600 LLVM GPU back-end can lead to a boost in the open-source AMD Linux driver's frame-rate, but still for Mesa 9.2 the R600 SB optimizations can lead to greater frame-rates in the range of Linux OpenGL games that were tested.