standalone GLSL ES compiler for lima
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Lima Shader Compiler

This is a project to integrate the compiler backends that were being developed in open-gpu-tools with the Mesa shader compiler. Eventually, there will be both a near drop-in replacement for the Mali offline shader compiler (for Mali-200 and Mali-400 only for now...) and a LD_PRELOAD'able library that can replace the internal shader compiler in the Mali drivers for ES 2.0 apps, for testing and comparison purposes.

In order to get a standalone version of Mesa's GLSL IR, this is based on the glsl-optimizer project.


Linux and OSX

to build the stanalone compiler, in the root directory run:

make standalone

and for the LD_PRELOAD'able library:

make lib

or just run "make" to build both. The standalone compiler will be at src/lima/limasc, and the library will be at src/lima/


Have fun.

Dev Notes

Pulling Mesa upstream:

git fetch upstream
git merge upstream/master
# inspect files, git rm unneeded ones, fix conflicts etc.
# git commit

Rebuilding flex/bison parsers:

  • When .y/.l files are changed, the parsers are not rebuilt automatically,
  • Run ./ to do that. You'll need bison & flex (on Mac, do "Install Command Line Tools" from Xcode)
  • I use bison 2.3 and flex 2.5.35 (in OS X 10.8/10.9)