[Mesa-dev] GlassyMesa Announcement

John Kessenich johnk at lunarg.com
Tue Jun 10 19:10:31 PDT 2014

Hi Tom,

On 6/10/2014 12:03 PM, Tom Stellard wrote:
> On Sat, Jun 07, 2014 at 01:24:39PM -0700, Greg Fischer wrote:
>> LunarG, with support from Valve, announces the GlassyMesa project, an
>> effort to bring the LLVM compiler infrastructure to Mesa.
> This is very interesting.  Have you done any testing with any of the
> Gallium drivers?

No, we have not yet tested other paths, but we are interested in 
ensuring they work.

> How difficult would it be to bypass the LLVM IR -> GLSL IR -> TGSI
> conversion and pass LLVM IR directly to drivers like radeonsi which
> already use LLVM?

Ideally (from a technical perspective), we'd like to skip going through 
GLSL IR; it's a higher-level language than LLVM IR and we suspect it's 
more efficient in the long run to push LLVM IR lower into the stack.  
The conventions for LLVM-IR usage are a bit different between LunarGLASS 
and radeonsi, but the worst case of transforming LunarGLASS-LLVM-IR -> 
radeonsi-LLVM-IR should be far more efficient than going through lots of 
different representations.  We'll look deeper at radeonsi and get a more 
concrete answer.

Our current use of GLSL IR has two key advantages: it allows more 
expedient comparison of the middle ends by leveraging the existing back 
end, and ongoing it makes the Glassy middle end available to the other 
back ends.

> What are you plans for getting this upstream into Mesa?

We're proceeding with getting a fuller technical characterization of 
GlassyMesa, as well as discussing broadly in the community, to help 
decide what's best for Mesa, and form recommendations from there.

Thanks for you interest,

> -Tom
>> 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
>> mesa-dev at lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20140610/5d73e231/attachment.html>

More information about the mesa-dev mailing list