[Mesa-dev] Availability of LunarGLASS exploration: using LLVM in Mesa's compiler stack
johnk at lunarg.com
Wed Feb 2 18:09:33 PST 2011
Last November's discussion of LunarG's plan to build a common shader
compiler stack with LLVM led to
1. Needing to see a definition of the IRs
2. Needing to experiment with translating these IRs to/from graphical
We are exploring both these and are making these available through the
Specification of IRs <http://www.lunarglass.org/> See under
Source Code <http://code.google.com/p/lunarglass/> Instructions are in
the wiki there on the "Building" page.
Along with a new LunarGLASS discussion group at
Discussion Group <http://groups.google.com/group/lunarglass-devel>
You are welcome to join in the discussion!
Results so far are quite encouraging for the few simple shaders we targeted
(still absent flow control). In short, we were able to generate identical
results to glsl2 when targeting Mesa IR, using LLVM optimizations instead of
glsl2 optimizations. That is, going through the path GLSL ->
glsl2-front-end -> Top-IR -> LLVM optimizations -> Mesa-IR.
It is a work in progress, not production-quality code, and early regarding
design decisions, etc., so all feedback and ideas are welcome; about design,
Top IR, Bottom IR, which other IRs or back-ends to target for mesa, etc.
This can be provided through the "Discussion Group" link above, or here, or
directly to me.
Note this project won't compile many shaders beyond the few we made up, as
it is a thin vertical slice made to explore proof of concept, not a broadly
working solution. There are a couple of working tests in the
LunarGLASS/test directory. We are currently investigating flow control.
The source code is being made available under a GPLv2 license. The
specification is currently under a Creative Commons Attribution-NoDerivs
license. There is more detail on this and on contributing to the project on
the FAQ at http://www.lunarglass.org/.
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the mesa-dev