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. 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. After 10+ Years, NetworkManager Reaches v1.0
  2. VDPAU Updated To v0.9
  3. An Open Hardware Random Number Generator Proposed
  4. LLVM 3.6 Will Be Branched Next Month
  5. Opera Browser Puts Out Linux Updates For The Holidays
  6. GNOME Shell 3.15.3 Adds Support For High-Contrast Themes
  7. Linux 3.19: ThinkPad Muting Redone, New Dell Backlight Support, Acer Is Banging
  8. KVM Drops Support For IA64 While Adding Various x86 Improvements
  9. GCC 4.8.4 Officially Released
  10. FSF's High Priority Project List Now Has A Committee
Latest Forum Discussions
  1. XLennart: A Game For Systemd Haters With Nothing Better To Do
  2. Need some hand holding with upgrading xserver
  3. Debian init discussion in Phoenix Wright format
  4. The New SuperTuxKart Looks Better, But Can Cause GPU/Driver Problems
  5. FPS capped on Linux (AMD fglrx drivers)
  6. Are there an app using HSA ?
  7. Bench specific mount point
  8. Tool for measuring FPS in games