Yesterday we reported on Intel preparing to push its new GLSL compiler into Mesa
by the end of next month so that it can be released with Mesa 7.9
by the end of this quarter. While Intel has developed this new compiler for the OpenGL Shading Language for their own needs and hardware, other Mesa drivers -- including those for Gallium3D -- will be using it once merged. After any initial bugs are addressed in the other drivers from this new GLSL compiler banging them in different ways, what good will this new shader compiler be for the end-user?
Aside from hopefully being more efficient and faster with shader compilation, a number of outstanding Mesa bugs should be closed with Intel's "GLSL2" compiler. How many bugs? Well, it's looking like about 50 Mesa bugs. Ian Romanick, who has been one of the Intel OSTC developers working on this new compiler, is maintaining a tracker bug that is monitoring all of the bugs that Intel believes will be solved by using their new compiler code. This is being tracked as FreeDesktop Bug 29044
Among the 50+ bugs are for gl_Fog not functioning, a crash in the Slang code generator, assertion failures when compiling certain shaders, a vertex shader causing a segmentation fault within the GLSL compiler, many bugs in GLSL uniform handling, slow shader compilation on certain routines, GPU lockups or hangs in different scenarios, configurable pixel origin support, YoFrankie game support with the Intel DRI driver, a hang in Second Life when enabling GLSL, and various Piglit test case fixes, among many other GL shader compilation fixes. If not already implemented within the GLSL2 branch, Zack Rusin is also calling for geometry shaders support to be implemented in it prior to merging, since the existing Mesa compiler just gained such support. These bugs go as far back as 2007.
Let's just hope the fallout for the non-Intel drivers during the initial switch to this new compiler is not too significant and it doesn't become like what happened when Intel abandoned TTM for in-kernel memory management in favor of developing the Graphics Execution Manager exclusively around their needs while GEM didn't find (and still hasn't found) much love elsewhere. Few developers outside of Intel apparently haven't even yet compiled or tested the GLSL2 branch of Mesa.