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

Mesa: Fixed Function Programs Generating GLSL

Mesa

Published on 07 October 2011 06:59 AM EDT
Written by Michael Larabel in Mesa
2 Comments

Last month at XDC2011 Chicago the long-standing goal of killing off Mesa IR was talked about by Intel. There's already been the GLSL-To-TGSI translator (and also competing with that is LunarGLASS to replace Mesa IR with LLVM IR), and now there's some new work to talk about in this area that works towards the common goal.

Eric Anholt has published patches that convert the fixed function fragment program generator for Mesa to output GLSL IR. This is advancing towards the goal of having the drivers accept GLSL IR for code generation and now pushes fixed function fragment programs through the GLSL IR optimization pass. This affects hundreds of lines of code and is expected to provide an improvement for real applications. Here is Anholt's message:
Here's this patch series again, part of the kill-Mesa-IR goal we have for next release. It's been no regressions for me for a while, I was just trying to track down a 2% performance regression on gen6. It turns out that on my gen4 system, it's no performance regression, and on gen7 (at least according to testing with the followon patches to use the new coegen), it's a ~4% performance win.

While many things were learned in the process, the cause of the 2% loss appears to come down to some GPU instruction pipelining issue with lots of handwaving on my part. When using the new backend, we generate like 1/3 fewer instructions (after accounting for the 8/16 compile).

I'm not including the patches for using the new backend quite yet, as there's a functional regression on gm45 in the new backend that I need to track down first.


Mesa 7.12/8.0 is shaping up to be one hell of a release, particularly if OpenGL 3.0 support is achieved.

About The Author
Michael Larabel is the principal author of Phoronix.com and founded the web-site in 2004 with a focus on enriching the Linux hardware experience and being the largest web-site devoted to Linux hardware reviews, particularly for products relevant to Linux gamers and enthusiasts but also commonly reviewing servers/workstations and embedded Linux devices. Michael has written more than 10,000 articles covering the state of Linux hardware support, Linux performance, graphics hardware drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated testing software. He can be followed via and or contacted via .
Latest Articles & Reviews
  1. Khronos Group Announces Vulkan, OpenCL 2.1, SPIR-V
  2. Samsung 850 EVO SSD Linux Benchmarks
  3. Kubuntu 15.04 Is Turning Out Quite Nice, Good Way To Try Out The Latest KDE
  4. 5-Way Linux Distribution Comparison On The Core i3 NUC
  5. OCZ ARC 100 Linux SSD Benchmarks
  6. Lenovo ThinkPad X1 Carbon Works Great As A Linux Ultrabook
Latest Linux News
  1. PC-BSD 10.1.2 To Add Tor Mode, LibreSSL & Other Features
  2. Valve Launches SteamOS Sale, Confirms A Lot Of New Linux Games
  3. Ubuntu Cloud Switches Over To Using Systemd By Default
  4. System76 Introduces The Broadwell-Powered, Ubuntu-Loaded "Meerkat"
  5. Xfce 4.12 Might Make It For Fedora 22
  6. Pictures Of The Near Production Ready Ubuntu Tablet
  7. OpenVG Support Stripped From Gallium3D
  8. Mozilla Is Getting Excited About WebGL 2
  9. ZOTAC Announces Steam Machine SN970, Powered By SteamOS
  10. Allwinner Continues Violating The LGPL
Most Viewed News This Week
  1. More Proof That Allwinner Is Violating The GPL
  2. The Tremendous Features Of Fedora 22
  3. Krita 2.9 Released, Their Biggest Release Ever
  4. Confirmed: Vulkan Is The Next-Gen Graphics API
  5. A Single UEFI Executable With The Linux Kernel, Initrd & Command Line
  6. Xfce 4.12 Released After Nearly Three Years Of Work
  7. 8cc: A Small C11 Compiler
  8. LLVM 3.6 & Clang 3.6 Deliver More Features, Complete C++14 Support
%%CLICK_URL_UNESC%%