A Mesa Branch Provides GLSL IR To TGSI Translator

The work was announced this week on the Mesa mailing list and the code is currently a work in progress but can be found on GitHub. It seeks to replace Mesa IR with this GLSL IR to TGSI translator.
This work will hopefully be a stepping-stone to GLSL 1.30 support for Mesa in Gallium3D as needed by the OpenGL 3.0 specification. "My main objective with this work is to make GLSL 1.30 support feasible on Gallium drivers. From what I understand, it would be difficult or impossible to implement integer-specific opcodes such as shifting and bit masking in Mesa IR, since it only supports floats. TGSI, on the other hand, doesn't have this problem, and already supports most or all of the functionality required by GLSL 1.30."
Competing with this work is LunarGLASS that is replacing Mesa IR and other parts of the stack with LLVM IR and Low-Level Virtual Machine optimizations. This work though hasn't been too popular with upstream developers outside of LunarG. This work is also only available in a Mesa branch.
25 Comments