LunarG, with support from Valve, announces the GlassyMesa project, an effort to bring the LLVM compiler infrastructure to Mesa.
What is GlassyMesa? GlassyMesa utilizes LunarGLASS, the LLVM compiler stack with modifications allowing it to represent and optimize 3D shaders and target GPUs. This also includes use of glslang, the Khronos GLSL reference parser. It also includes a translation pass from LLVM IR to GLSL IR, the IR used by Mesa compiler backends. A slide deck with a block diagram is available at lunarg.com/wp-content/uploads/2014/06/GlassyMesaSlides-05Jun2014.pdf Why create GlassyMesa? LLVM brings state-of-the-art compiler optimizations to Mesa immediately. As importantly, it brings a modern Intermediate Representation (IR) which can be the basis for rapid development of new optimizations as shaders and shader languages evolve as well as enable multiple teams to develop components independently more efficiently than current IRs. Furthermore, this capability can be used as a basis for development of compiler backends using the LLVM backend infrastructure. What is the current state of GlassyMesa? GlassyMesa is in very early development. It is a proof-of-concept to demonstrate this approach can deliver shader runtime improvements and will continue to evolve in capability. Much functionality remains to be developed. No effort has been made yet to tune shader runtime or compile time performance. It is running only a handful of traces to our knowledge. Initial performance results are promising. Why announce GlassyMesa now? LunarG invites the feedback and cooperation of the Mesa community to this effort. It believes that an effort like this requires early and frequent input and support from the community. What are the plans for GlassyMesa? LunarG is planning to actively improve GlassyMesa functionality and performance over the coming months. Where can I find GlassyMesa? GlassyMesa is available at: *github.com*:LunarG/steamos_mesa.git, at branch 2014ww23.2_i965-LunarGlass_drop1 What is the licensing? LunarGLASS is released under a BSD-style license. See http://www.lunarglass.org <http://www.lunarglass.org/faq>.
_______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
