1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Memory
  5. Motherboards
  6. Processors
  7. Software
  8. Storage
  9. Operating Systems


Facebook RSS Twitter Twitter Google Plus


Phoronix Test Suite

OpenBenchmarking.org

Intel Aims To Hit On Performance, Plans LLVM Compiler

Intel

Published on 29 August 2012 03:03 PM EDT
Written by Michael Larabel in Intel
15 Comments

Eric Anholt of Intel's Open-Source Technology Center had a few things to say yesterday at the 2012 GStreamer Conference about their open-source Linux graphics driver stack. Intel is aiming to hit hard on performance improvements and one of the interesting statements made is that they're now looking at moving to an LLVM-based shader compiler for a big performance win. Left 4 Dead 2 running on Mesa was also shown.

Anholt began his hour-long presentation by taking about OpenGL 3.1 finally coming about in Mesa, OpenGL ES 3.0 coming together fairly quickly, MSAA anti-aliasing finally being settled, and various other Mesa/DRM accomplishments that have already been covered at length on Phoronix.

Eric then went on to talk about performance improvements coming to Mesa for Intel hardware, due to people running more benchmarks (Phoronix) and for improving Valve's Linux performance.

One of the big ones they are working on is providing threaded GL dispatch support within the Intel Mesa driver, which comes down to separating the driver and application work to multiple cores. The closed-source AMD and NVIDIA drivers perform this threaded dispatch, but Mesa does not and it's causing performance problems and is one of the features being requested by Valve.

Intel Aims To Hit On Performance, Plans LLVM Compiler

While threaded GL dispatch will be a nice performance win, Intel will likely only implement the support along their OpenGL 3.1+ code paths since the pre-3.1 core API is just so huge. With now actively working on the GL3.1+ support, they can do the threaded dispatch support at the same time rather than going back and investing time in the legacy GL2 code.

Another item being worked on for improving the Intel OpenGL Linux performance is better memory mapping.

Then a big item was shared: Intel's planning to do an LLVM shader compiler back-end for their driver. The Radeon Gallium3D driver already has an LLVM shader compiler but Intel is now interested in switching to LLVM too for a high-performance shader compiler. This should yield Intel's biggest performance win of the items they're currently working on.

Intel now being interested in a LLVM shader compiler for their graphics driver is rather interesting since in past years they preferred writing their own compiler and weren't convinced about using LLVM IR, etc. However, after working on their own compiler, their own IR, and other prerequisites for years and still not being satisfied, they're now planning to use LLVM. "We want to use a real compiler and stop writing our own with our own IR, own optimizations, etc."

It will be a while before Intel's Mesa driver has a working LLVM shader compiler and they're being cautious about not having the switch between compilers be painful. "The transition to LLVM looks pretty ugly since it's a big change. Hopefully better on regressions when changing shader compilers this time than last time."

Eric also shared that they'll likely go from OpenGL 3.1 to OpenGL 3.3 in Mesa without ever releasing an OpenGL 3.2 version since most of the work to getting to GL3.3 will be coming at the same time. For hitting OpenGL 4.0, it will still be a while in Mesa. Eric believes though that they eventually will catch up with the latest upstream Khronos OpenGL desktop specification since Intel developers have been working harder and catching up faster than the one to two new specification releases per year, but still it will be a long process.

Also mentioned by Eric is "GLX is pretty much deprecated at this point." Intel is encouraging developers to use EGL rather than GLX. EGL is needed anyways for Wayland, Android, OS X, etc and the Mesa EGL support has matured quite well and still works fine with an X.Org Server. Eric said, "Please please please stop using GLX. There shouldn't be anything left that GLX has that EGL doesn't."

The Intel Valve Linux details shared will come in another Phoronix article.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Linux Hardware Reviews
  1. MSI X99S SLI PLUS On Linux
  2. NVIDIA GeForce GTX 970 Offers Great Linux Performance
  3. CompuLab Intense-PC2: An Excellent, Fanless, Mini PC Powered By Intel's i7 Haswell
  4. From The Atom 330 To Haswell ULT: Intel Linux Performance Benchmarks
Latest Linux Articles
  1. RunAbove: A POWER8 Compute Cloud With Offerings Up To 176 Threads
  2. 6-Way Ubuntu 14.10 Linux Desktop Benchmarks
  3. Ubuntu 14.10 XMir System Compositor Benchmarks
  4. Btrfs RAID HDD Testing On Ubuntu Linux 14.10
Latest Linux News
  1. Fedora 21 Beta & Final Release Slip Further
  2. Mesa 10.3.2 Has A Couple Bug-Fixes
  3. RadeonSI/R600g HyperZ Support Gets Turned Back On
  4. openSUSE Factory & Tumbleweed Are Merging
  5. More Fedora Delays: Fedora 21 Beta Slips
  6. Mono Brings C# To The Unreal Engine 4
  7. Coreboot Now Has Support For Intel Broadwell Hardware
  8. Enlightenment's EFL 1.12 Alpha Has Evas GL-DRM Engine, OpenGL ES 1.1 Support
  9. GTK+ Lands Experimental Backend For Mir Display Server
  10. Ubuntu 14.10 Officially Released
Latest Forum Discussions
  1. HOPE: The Ease Of Python With The Speed Of C++
  2. Updated and Optimized Ubuntu Free Graphics Drivers
  3. Ubuntu 16.04 Might Be The Distribution's Last 32-Bit Release
  4. Linux hacker compares Solaris kernel code:
  5. Advertisements On Phoronix
  6. Users/Developers Threatening Fork Of Debian GNU/Linux
  7. AMD Releases UVD Video Decode Support For R600 GPUs
  8. Proof that strlcpy is un-needed