What Will Mesa's New GLSL Compiler Provide?

Posted by Michael Larabel on July 23, 2010

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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Intel Haswell HD Graphics 4600 vs. AMD Radeon Graphics On Linux
  2. Intel Haswell HD Graphics 4600 Performance On Ubuntu Linux
  3. Intel Core i7 4770K "Haswell" Benchmarks On Ubuntu Linux
  4. The First Experience Of Intel Haswell On Linux
Latest Software Articles
  1. Optimized Binaries Provide Great Benefits For Intel Haswell
  2. 11-Way Linux, BSD Platform Comparison
  3. SNA Acceleration Works Great For Intel Core i7 Haswell
  4. The Linux Evolution For Intel Haswell's Performance
Latest Linux News
  1. LLVM 3.3 Officially Released
  2. LLVM/Clang Now Uses Loop Vectorizer At New Levels
  3. Intel GPU Driver Tries To Rip Out FBDEV Support
  4. Coreboot Doing AMD USB 3.0, Q35 QEMU Emulation
  5. VP9 Codec Now Enabled By Default In Chrome
  6. openSUSE 13.1 M2 Plays On PulseAudio 4.0
  7. Debian 7.1 Rounds In Some Bug-Fixes
  8. Min / Max FPS Comes To Test Results
  9. Google Pushes More Mesa / Gallium3D Patches
  10. The Phoronix Migration Is Fully Complete
  11. Linux 3.10-rc6 Kernel Brings In More Fixes
Latest Forum Talk
  1. LLVM 3.3 Officially Released
  2. Intel GPU Driver Tries To Rip Out FBDEV Support
  3. AMD Catalyst 13.6 Beta
  4. The Wayland Situation: Facts About X vs. Wayland
  5. VP9 Codec Now Enabled By Default In Chrome
  6. Gallium3D LLVMpipe Benchmarks From Intel Haswell
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite