New GLSL To LLVM Implementation For Mesa

Posted by Michael Larabel on September 12, 2012

Vincent Lejeune has shared a new Mesa branch that he's currently soliciting for comments as it introduces a new GLSL to LLVM pass. He hopes drivers will begin to use it, including the Intel driver with their new-found LLVM compiler ambitions.

Vincent's glsl-to-llvm work is able to generate LLVM IR out of GLSL for drivers that have a LLVM back-end in mesa/Gallium3D. Right now most of the work has been toying with the R600g driver and its LLVM back-end. This conversion pass isn't doing any optimization work at this point but simply converting GLSL to LLVM, similar to the GLSL to TGSI work previously.

While the tree is now under an "RFC" state, it's not regression-free and has some work ahead before it could even be considered for merging. "So far I managed to get something like 200 regressions on 7000 passing tests in piglit, but recent changes (ie moving the interpolation logic inside backend) added 100 others regressions in current trunk, because of failing front/back face color issue I'm working on."

Lejeune ends his mailing list message with, "I'd like to request your feedback and suggestion on my work. Glsl-to-llvm does not calls any gallium function and can also be used by classic dri drivers. I don't know what is the current status of the recently announced llvm i965 compiler, I don't know if it has already its own glsl-to-llvm pass or not. If not, it would be really great if this pass was also shared by i965, as the more drivers use it, the more reliable it is."

It was shared last month in San Diego that Intel is finally looking at an LLVM compiler for their DRI driver rather than continuing to work on their own custom compiler implementation. The other Gallium3D drivers have already been after LLVM-based compiler back-ends for various reasons. There was also Mesa LunarGLASS previously as a different implementation that made Mesa use LLVM for its IR.

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. Wayland's Weston Gets Output Scaling Support
  2. Raspberry Pi Gets New Wayland Weston Renderer
  3. Debian GNU/Hurd 2013 Release Brings New Packages
  4. Intel Ultrabook Performance Is Faster With Mesa 9.2
  5. Hot Relocation HDD To SSD Support For Btrfs
  6. Phoronix Test Suite 4.6.0 "Utsira" Released
  7. New Intel X.Org Driver Supports All Of Haswell
  8. SQLite Now Faster With Memory Mapped I/O
  9. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  10. Qt For Tizen Launches, Based On Qt 5.1
  11. KTAP Released For Linux Kernel Dynamic Tracing
Latest Forum Talk
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. gnome 3.8 in RHEL7?
  3. Fedora 18 Comes To ARMv6, Raspberry Pi
  4. Linux's "Ondemand" Governor Is No...
  5. Hot Relocation HDD To SSD Support For Btrfs
  6. Wayland's Weston Gets Output Scaling Support
  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