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. CompuLab Intense-PC2: An Excellent, Fanless, Mini PC Powered By Intel's i7 Haswell
  2. From The Atom 330 To Haswell ULT: Intel Linux Performance Benchmarks
  3. AMD Radeon R9 285 Tonga Performance On Linux
  4. Apotop Wi-Copy
Latest Linux Articles
  1. AMD Moves Forward With Unified Linux Driver Strategy, New Kernel Driver
  2. MSI: Update Your BIOS From The Linux Desktop
  3. NVIDIA vs. AMD 2D Linux Drivers: Catalyst Is Getting Quite Good At 2D
  4. 15-Way GPU Comparison With Mesa 10.3 + Linux 3.17
Latest Linux News
  1. Linux 3.18-rc1 Released One Week Early With Many Changes
  2. The VC4 Gallium3D Driver Is Still Moving Along For The Raspberry Pi
  3. Direct3D 9 Support Might Land Within Mainline Mesa 3D Drivers
  4. OpenGL Preview Benchmarks For NVIDIA's GeForce GTX 970
  5. HOPE: The Ease Of Python With The Speed Of C++
  6. Vitesse: Using LLVM To Speed Up Databases
  7. AMD Is Restructuring Again, Losing 7% Of Employees
  8. Linux Testing Of The NVIDIA GeForce GTX 970
  9. Qt 5.4 Now In Beta With Web, Bluetooth LE, Graphics Improvements
  10. AMD's Radeon R9 285 On Linux Offers Good OpenCL Performance
Latest Forum Discussions
  1. AMD Is Restructuring Again, Losing 7% Of Employees
  2. Bye bye BSD, Hello Linux: A Sys Admin's Story
  3. NVIDIA Presents Its Driver Plans To Support Mir/Wayland & KMS On Linux
  4. Open-Source AMD Fusion E-350 Support Takes A Dive
  5. Upgrade to Kaveri, very slow VDPAU performance
  6. ChromeOS Drops Support For EXT2/EXT3/EXT4 File-Systems
  7. Lennart Poettering On The Open-Source Community: A Sick Place To Be In
  8. The Slides Announcing The New "AMDGPU" Kernel Driver