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

DragonEgg-ing Mesa & Banging It With Clang

Michael Larabel

Published on 8 December 2011
Written by Michael Larabel
Page 1 of 3 - 4 Comments

What happens if you build Mesa/Gallium3D with LLVM's Clang compiler or the LLVM DragonEgg plug-in with GCC? It has been asked before, so here is an answer.

With the recent release of LLVM 3.0 and respective updates for the Clang C/C++ compiler front-end and a much-improved DragonEgg plug-in for GCC, I decided to see whether these alternatives to the GNU Compiler Collection would now play well with Mesa/Gallium3D. When attempting to build out Mesa with earlier versions of LLVM, there were show-stopping problems.

This time around when building out Mesa, namely using the "make linux-llvm" option for building the Mesa/Gallium3D with the LLVMpipe driver to test the software acceleration on the CPU, things worked out when using LLVM/Clang/DragonEgg 3.0. There were no build errors and the generated binaries worked.

The only configuration where the Mesa build failed was when using GCC 4.6.2 with the DragonEgg plug-in from LLVM 3.0 while also passing the "-fplugin-arg-dragonegg-enable-gcc-optzns" switch that is meant for delivering "ultimate performance" by combining the LLVM and GCC optimizers. However, DragonEgg on GCC 4.6 without any extra optimizations had built a working Mesa stack along with Clang.

I also tried building the mainline Linux kernel (3.2 Git) using LLVM/DragonEgg 3.0, but that failed when it came to hitting some unsupported Assembly. A year ago, LLVM's Clang compiler hit the milestone of building the Linux kernel (well, most of it) but it required out-of-tree patches and other changes. That work still has not landed in mainline to allow Clang to build a vanilla kernel nor has the Clang Linux kernel source code on the GitHub project page been updated since this past May.

<< Previous Page
1
Latest Linux Hardware Reviews
  1. Intel Xeon E5-1680 v3 & E5-2687W v3 Compared To The Core i7 5960X On Linux
  2. Intel 120GB 530 Series SSD Linux Performance
  3. Btrfs/EXT4/XFS/F2FS RAID 0/1/5/6/10 Linux Benchmarks On Four SSDs
  4. AMD's Windows Catalyst Driver Remains Largely Faster Than Linux Drivers
Latest Linux Articles
  1. NVIDIA vs. Nouveau Drivers With Linux 3.18 + Mesa 10.4-devel
  2. Is The Open-Source NVIDIA Driver Fast Enough For Steam On Linux Gaming?
  3. Linux 3.18 File-System Performance Minimally Changed But Possible Regressions
  4. AMD Radeon Gallium3D Is Catching Up & Sometimes Beating Catalyst On Linux
Latest Linux News
  1. Linux 3.18-rc6 Released, A Worrisome Regression Remains
  2. HandBrake 0.10 Brings H.265 & VP8 Encoders
  3. Gngr: A New Web Browser Focused On Privacy
  4. Linux 3.18 Kernel: Not Much Change With Intel Haswell Performance
  5. More File-System Tests Of The Linux 3.18 Kernel
  6. Using NVIDIA's NVENC On Linux With FFmpeg
  7. There's Talk Again About An "Open To The Core" Ubuntu Laptop
  8. PowerVR SGX Driver Code Gets Leaked
  9. V2 Of KDBUS Published For Linux Kernel Review
  10. VirtualBox 4.3.20 Arrives, Still No Sign Of VirtualBox 4.4
Latest Forum Discussions
  1. PulseAudio 6.0 Is Coming & Other Linux Audio Plans For The Future
  2. Debian Developer Resigns From The Systemd Maintainership Team
  3. Roadmap to Catalyst 14.10 ?
  4. Updated and Optimized Ubuntu Free Graphics Drivers
  5. Cant get working Kaveri APU - A10-7850k
  6. Script for Fan Speed Control
  7. Debian Init System Coupling Vote Results
  8. The Slides Announcing The New "AMDGPU" Kernel Driver