<span style="font-family:arial, sans-serif;font-size:13px;border-collapse:collapse">Hi,<div><br></div><div>Last November&#39;s discussion of LunarG&#39;s plan to build a common shader compiler stack with LLVM led to</div>
<div><br></div><div>1.  Needing to see a definition of the IRs</div><div>2.  Needing to experiment with translating these IRs to/from graphical languages</div><div><br></div><div>We are exploring both these and are making these available through the following links:</div>

<div><br></div><div>    <a href="http://www.lunarglass.org/" style="color:rgb(42, 93, 176)" target="_blank">Specification of IRs</a>  See under Documentation.</div><div><br></div><div>    <a href="http://code.google.com/p/lunarglass/" style="color:rgb(42, 93, 176)" target="_blank">Source Code</a>  Instructions are in the wiki there on the &quot;Building&quot; page.</div>

<div><br></div><div>Along with a new LunarGLASS discussion group at</div><div><br></div><div>    <a href="http://groups.google.com/group/lunarglass-devel" style="color:rgb(42, 93, 176)" target="_blank">Discussion Group</a></div>

<div><br></div><div>You are welcome to join in the discussion!</div><div><br></div><div>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 -&gt; glsl2-front-end -&gt; Top-IR -&gt; LLVM optimizations -&gt; Mesa-IR.</div>

<div><br></div><div>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 &quot;Discussion Group&quot; link above, or here, or directly to me.</div>

<div><br></div><div>Note this project won&#39;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.</div>

<div><br></div><div>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 <a href="http://www.lunarglass.org/" style="color:rgb(42, 93, 176)" target="_blank">http://www.lunarglass.org/</a>.</div>

<div><br></div><div>Cheers!</div><div>JohnK</div><div><br></div></span>