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.

Latest Articles & Reviews
  1. OS X 10.10 vs. Ubuntu 15.04 vs. Fedora 21 Tests: Linux Sweeps The Board
  2. The New Place Where Linux Code Is Constantly Being Benchmarked
  3. 18-GPU NVIDIA/AMD Linux Comparison Of BioShock: Infinite
  4. Phoronix Test Suite 5.6 Adds New Phoromatic Enterprise Benchmarking Features
  5. OpenGL Threaded Optimizations Responsible For NVIDIA's Faster Performance?
  6. Big Graphics Card Comparison Of Metro Redux Games On Linux
Latest Linux News
  1. Git 2.4.0-rc0 Does A Ton Of Polishing
  2. The Most Common, Annoying Issue When Benchmarking Ubuntu On Many Systems
  3. Mesa Is At Nearly 1,500 Commits This Year
  4. Gestures & Other GTK3 Features For LibreOffice
  5. It's Now Easier To Try PHP 7 On Fedora & RHEL
  6. BQ Is Cleaning Up Their Aquaris E4.5 Ubuntu Kernel
  7. Allwinner Continues Jerking Around The Open-Source Community
  8. NVIDIA Linux 349.12 Beta Has Improved G-SYNC & VDPAU Features
  9. Canonical Just Made It Even Easier To Benchmark Ubuntu Linux In The Cloud
  10. NVIDIA GeForce GTX TITAN X Linux Testing Time
Most Viewed News This Week
  1. Introducing The Library Operating System For Linux
  2. AMD Is Hiring Two More Open-Source Linux GPU Driver Developers
  3. New SecureBoot Concerns Arise With Windows 10
  4. GNOME Shell & Mutter 3.16.0 Released
  5. GNU Nano 2.4.0 Brings Complete Undo System, Linter Support & More
  6. Systemd Change Allows For Stateless Systems With Tmpfs
  7. GCC 5 Compiler Is Getting Close To Being Released
  8. Chromebooks Powered By The MIPS Pistachio, Linux Support Evolving