Testing Intel's New GLSL Mesa Compiler With ATI Graphics

Published on July 24, 2010
Written by Michael Larabel
Page 1 of 1
Discuss This Article

With Intel developers earlier this week expressing their plans to merge their new GLSL compiler into Mesa by the end of next month, which besides providing various shader compiler optimizations and being a better framework going forward is already set to correct 50+ bugs, we decided to try out this Mesa "GLSL2" compiler. However, as Intel explicitly stated they haven't tested this new GL Shading Language compiler that's been in development for months with any other hardware drivers (or even Gallium3D) besides their own Intel DRI driver, we decided to see how well it works with the open-source Radeon classic and Gallium3D drivers. It ended up being both good and bad.

First when testing the latest GLSL2 branch with an ATI Radeon HD 4670 graphics card using the classic Mesa driver on an Ubuntu 10.04 LTS installation, everything was initially fine with no apparent regressions with either the OpenGL performance or visual artifacts. The usual assortment of Phoronix Test Suite tests were run with World of Padman, Nexuiz, and other titles. However, once running Warsow is where there were problems using this new compiler.

Rebuilding the latest mainline Mesa 7.9-devel code confirmed that the unpleasant Warsow experience with the ATI R700 graphics card is indeed introduced by the GLSL2 branch. At least games with the ioquake3 game engine appear to be handling the new GLSL compiler fine with the classic Mesa R600/700 driver, but the Qfusion-based Warsow at least is where there are problems.

More general than the end-user driver experience, when building the GLSL2 branch of Mesa compared to the current mainline state, on an Ubuntu installation the following extra dependencies were required: flex, bison, and libtalloc-dev. Additionally, when building the latest Mesa GLSL2 branch as of the night of 2010-07-23, the build process initially stopped as swrastg_dri (the Gallium3D software rasterizer) failed to build followed by the Radeon Gallium3D target failed to build. These build failures were due to multiple undefined references, which were worked around by adding -lstdc++ to the DRI_LIB_DEPS within the Makefile of the problematic areas. The Gallium3D Radeon driver was built as next the R300g driver was tested on a notebook with an ATI Mobility Radeon X1400 (RV515) to see how Gallium3D plays with Intel's new open-source compiler.

Warsow again proved to be problematic when using the GLSL2 branch with the R300g driver. However, the textures were not nearly as off as they were when using the R600 classic driver. Textures more often than not just ended up showing as black and in other cases they were simply off-colored compared to normal. Other issue we also ran into with both setups was the VDrift racing game and Lightsmark OpenGL lighting benchmark immediately crashing when launching the respective binaries.

While there is some fallout with this GLSL2 compiler -- namely with Warsow and then aforementioned crashes -- it is not too bad and is better than we had expected, at least when using the ATI Mesa drivers. We will be testing this new GLSL compiler more as its merge to master approaches and examine how this compiler affects the different hardware and drivers. We will also be looking to see whether the Warsow problem occurs when using the Intel DRI driver.

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. The Cost Of Ubuntu Disk Encryption
  2. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  3. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  4. F2FS File-System Shows Regressions On Linux 3.10
Latest Linux News
  1. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  2. Handbrake 0.9.9 Supports OpenCL Offloading
  3. Freedreno Gallium3D Now Banging The Adreno A3XX
  4. Jolla Announces Their First Phone
  5. Mageia 3 Released, Still Using Legacy GRUB
  6. NetBSD 6.1 Brings In More Features
  7. Using Six Monitors With AMD's Open-Source Linux Driver
  8. Benchmarking The Intel P-State, CPUfreq Changes
  9. FreeBSD Still Working On Next-Gen Package Manager
  10. DNF Still Advancing As Experimental Yum For Fedora
  11. Logitech Begins Supporting Linux Users
Latest Forum Talk
  1. Mageia 3 Released, Still Using Legacy GRUB
  2. Jolla Announces Their First Phone
  3. Ubuntu To Look At Replacing Firefox With Chromium
  4. What Would You Like To See Next?
  5. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  6. FreeBSD Still Working On Next-Gen Package Manager
  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