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 Benchmarking Platform
Phoromatic Test Orchestration

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 Linux News
  1. KDE Applications 15.04.3 Fixes Bugs
  2. Benchmarks Of 54 Different Intel/AMD Linux Systems
  3. Linux 4.2 Bringing Support For ARCv2, HS38 CPU Cores
  4. Libdrm 2.4.62 Is An Important Update For Open-Source GPU Drivers
  5. The State of Unity 3D Game Engine, Editor On Linux
  6. ZFS On Linux 0.6.4.2 Brings Linux 4.1 Support, Fixes
  7. Old Net Burst Tests, Ubuntu Phone & Assembly x86 Were Popular Topics Last Month
  8. Qt 5.5 Officially Released
  9. Global Shortcuts In KDE Plasma Under Wayland
  10. LLVMpipe FP64 Support Knocks Off Some GL4 Extensions
Latest Articles & Reviews
  1. How KDE VDG Is Trying To Make Open-Source Software Beautiful
  2. Attempting To Try Out BCache On The Linux 4.1 Kernel
  3. CompuLab's Fitlet Is A Very Tiny, Fanless, Linux PC With AMD A10 Micro
  4. AMD A10-7870K Godavari: RadeonSI Gallium3D vs. Catalyst Linux Drivers
Most Viewed News This Week
  1. Kubuntu 15.10 Could Be The End Of The Road
  2. NVIDIA Starts Supplying Open-Source Hardware Reference Headers
  3. KDBUS Won't Be Pushed Until The Linux 4.3 Kernel
  4. The State & Complications Of Porting The Unity Editor To Linux
  5. The Staging Pull For Linux 4.2: "Big, Really Big"
  6. Latest Rumor Pegs Microsoft Wanting To Buy AMD
  7. SteamOS "Brewmaster" Is Valve's New Debian 8.1 Based Version
  8. Jonathan Riddell Steps Down From The Kubuntu Council