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

Testing Out Mesa's GLSL-To-TGSI Translator

Michael Larabel

Published on 21 July 2011
Written by Michael Larabel
Page 1 of 4 - 26 Comments

Being merged into the mainline Mesa tree once Mesa 7.11 has been released is the GLSL-To-TGSI translator. This allows core Mesa to translate directly from GLSL IR to TGSI, rather than stepping through the crufty Mesa IR, before reaching the Gallium3D hardware drivers. It's more efficient this way -- leading to possible performance improvements -- and it's also a stepping-stone in bringing GL Shading Language 1.30 support, which is required for OpenGL 3.0 compatibility.

Bryan Cain, an independent open-source developer, has been working on the GLSL IR to TGSI translator since April and then he announced it was ready to be merged. It's going to be merged after the Mesa 7.11 release later in the month, since merging it early may complicate cherry-picking patches from master and landing it in the stable 7.11 branch. Mesa IR and has long been sought to be removed, so this translator is a welcome change by Gallium3D developers since it allows going directly from the GL Shading Language intermediate representation and directly to TGSI, the Tungsten Graphics representation used by Gallium3D drivers. This work is in competition to LunarGLASS, which is using LLVM IR within Mesa, but it hasn't been merged to master.

This GLSL-to-TGSI work already has native integer support as needed by GLSL 1.30, but the respective Gallium3D drivers need to support the respective TGSI opcode. Bryan is also doing other work to support GLSL 1.30 by these open-source drivers commonly used on Linux. This developer is also a member of the Phoronix Forums where he has been commenting in more detail.

Tests were carried out last week by the Phoronix Test Suite to investigate the effects of this GLSL-To-TGSI work. The code will soon be merged to master later in the month, but for now it is available in a branch from the Plombo Mesa repository on GitHub. At the time of testing, the tip of the branch was git-8df3510 and the last commits in there pulled from mainline Mesa at the time was from git-6f243ec, which was the revision of mainline Mesa 7.11-devel that we used for testing in comparison to the current implementation.

Benchmarking was done on an Intel Core i5 2500K setup with a Sapphire Pure Black P67 motherboard, 4GB of RAM, and a 64GB OCZ Agility SSD. Ubuntu 11.04 was used with the Linux 3.0 kernel, GNOME 2.32.1, X.Org Server 1.10.1, GCC 4.5.2, LLVM 2.8, EXT4, and the latest Git DDX for xf86-video-ati and xf86-video-nouveau as of last week. The GLSL-To-TGSI Mesa and mainline Mesa were tested using the commits mentioned in the last paragraph.

Due to the different Gallium3D driver having different optimizations and code-paths, the R300, R600, and Nouveau NV50 Gallium3D drivers were benchmarked for this initial GLSL-To-TGSI testing. The Radeon HD 5830, Radeon HD 4650, Radeon X1800XL, and GeForce 9800GTX graphics cards were used for this driver testing. Not only was the frame-rate looked at for some of the shader-using OpenGL Linux benchmarks, but the CPU and GPU usage was also polled automatically by the Phoronix Test Suite.

<< Previous Page
1
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. openSUSE Factory & Tumbleweed Are Merging
  2. More Fedora Delays: Fedora 21 Beta Slips
  3. Mono Brings C# To The Unreal Engine 4
  4. Coreboot Now Has Support For Intel Broadwell Hardware
  5. Enlightenment's EFL 1.12 Alpha Has Evas GL-DRM Engine, OpenGL ES 1.1 Support
  6. GTK+ Lands Experimental Backend For Mir Display Server
  7. Ubuntu 14.10 Officially Released
  8. Mesa 10.4 Might Re-Enable HyperZ For R600g/RadeonSI
  9. Intel GVT-g GPU Virtualization Moves Closer
  10. GTK+ 3.16 To Bring Several New Features
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