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. A Walkthrough Of The New 32 System Open-Source Linux Benchmarking Test Farm
  2. Habey MITX-6771: Mini-ITX Board With Quad-Core J1900 Bay Trail
  3. OCZ Vector 150 SSD On Linux
  4. Noctua i4 CPU Cooler: Great For Cooling High-End LGA-2011v3 CPUs
Latest Linux Articles
  1. AMD Kaveri: Open-Source Radeon Gallium3D vs. Catalyst 14.12 Omega Driver
  2. 12-Way AMD Catalyst 14.12 vs. NVIDIA 346 Series Linux GPU Comparison
  3. AMD Catalyst 14.12 Omega Driver Brings Mixed Results For Linux Users
  4. 6-Way Winter 2014 Linux Distribution Comparison
Latest Linux News
  1. Server-Side XCB Is Being Discussed For The X.Org Server
  2. Adreno A4xx Rendering With Freedreno Takes Shape
  3. Linux 3.19-rc1 Kernel Released Ahead Of Schedule
  4. Civilization: Beyond Earth Linux GPU/Driver Benchmarks
  5. X.Org Server 1.16.3 Released To Fix Security Issues
  6. Linux 3.19 Merge Window Closes Ahead Of Schedule
  7. MIPS R6 Architecture Now Supported By GCC
  8. LowRISC To Feature Tagged Memory & Minion Cores
  9. Intel Skylake Audio Support For Linux 3.19
  10. After 10+ Years, NetworkManager Reaches v1.0
Latest Forum Discussions
  1. Speeding up systemd networking service
  2. FPS capped on Linux (AMD fglrx drivers)
  3. Need some hand holding with upgrading xserver
  4. Are there an app using HSA ?
  5. The New SuperTuxKart Looks Better, But Can Cause GPU/Driver Problems
  6. XLennart: A Game For Systemd Haters With Nothing Better To Do
  7. Updated and Optimized Ubuntu Free Graphics Drivers
  8. Debian init discussion in Phoenix Wright format