Mesa GLSL IR Gets Single Static Assignment Support
Written by Michael Larabel in Mesa on 22 January 2014 at 01:56 PM EST. 3 Comments
Connor Abbott, the high school student that has been working extensively on the Lima ARM reverse-engineered graphics driver, is now working on Single Static Assignment (SSA) support inside Mesa.

Connor is trying to add SSA to Mesa's GLSL intermediate representation since it makes writing compiler optimizations easier and faster. SSA form is used by both the GCC and Clang compilers and among graphics drivers is already used by the R600-SB and Nouveau back-ends, but it's not part of Mesa's official GLSL IR.

By having SSA support within Mesa's GLSL IR, it will also be possible to share more optimizations among the different Mesa/Gallium3D drivers. "Adding support for SSA will allow the various optimizations these backends perform to be implemented in one place, instead of making each driver reinvent the wheel (as several have already done). Additionally, all new backends would recieve these optimizations, reducing the burden of writing a compiler backend for a new driver."

Connor Abbott published a set of eleven patches on the Mesa mailing list today under a "request for comments" flag. The patches just implement SSA within Mesa's GLSL code but don't provide any new optimization patches. He's soliciting feedback on the SSA form implementation before going ahead with the optimization work.

More details on the Mesa SSA work can be found via this mailing list post.

About The Author
Author picture

Michael Larabel is the principal author of and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 10,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 automated benchmarking software. He can be followed via Twitter or contacted via

Related Mesa News
Popular News
Trending Reviews & Featured Articles