Mesa: Fixed Function Programs Generating GLSL

Written by Michael Larabel in Mesa on 7 October 2011 at 06:59 AM EDT. 2 Comments
MESA
Last month at XDC2011 Chicago the long-standing goal of killing off Mesa IR was talked about by Intel. There's already been the GLSL-To-TGSI translator (and also competing with that is LunarGLASS to replace Mesa IR with LLVM IR), and now there's some new work to talk about in this area that works towards the common goal.

Eric Anholt has published patches that convert the fixed function fragment program generator for Mesa to output GLSL IR. This is advancing towards the goal of having the drivers accept GLSL IR for code generation and now pushes fixed function fragment programs through the GLSL IR optimization pass. This affects hundreds of lines of code and is expected to provide an improvement for real applications. Here is Anholt's message:
Here's this patch series again, part of the kill-Mesa-IR goal we have for next release. It's been no regressions for me for a while, I was just trying to track down a 2% performance regression on gen6. It turns out that on my gen4 system, it's no performance regression, and on gen7 (at least according to testing with the followon patches to use the new coegen), it's a ~4% performance win.

While many things were learned in the process, the cause of the 2% loss appears to come down to some GPU instruction pipelining issue with lots of handwaving on my part. When using the new backend, we generate like 1/3 fewer instructions (after accounting for the 8/16 compile).

I'm not including the patches for using the new backend quite yet, as there's a functional regression on gm45 in the new backend that I need to track down first.


Mesa 7.12/8.0 is shaping up to be one hell of a release, particularly if OpenGL 3.0 support is achieved.
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