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. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Linux Desktop Security Could Be A Whole Lot Better
  2. KDE 4.11 Will Be The Last Major KDE4 Workspaces Feature Release
  3. New NVIDIA Linux Driver Supports The GeForce GTX 780
  4. Chrome 28 To Offer More Speed Improvements
  5. Digia Announces "Boot To Qt" Project
  6. X.Org Libraries Hit By Round Of Security Issues
  7. Wayland's Weston Gets Output Scaling Support
  8. Raspberry Pi Gets New Wayland Weston Renderer
  9. Debian GNU/Hurd 2013 Release Brings New Packages
  10. Intel Ultrabook Performance Is Faster With Mesa 9.2
  11. Hot Relocation HDD To SSD Support For Btrfs
Latest Forum Talk
  1. Chrome 28 To Offer More Speed Improvements
  2. Linux Desktop Security Could Be A Whole Lot Better
  3. New Intel X.Org Driver Supports All Of Haswell
  4. Wayland's Weston Gets Output Scaling Support
  5. Steam: No used games...
  6. Xserver 1.14 support will arrive with Catalyst...
  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