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

An Improved Register Allocator For Gallium3D R300

Mesa

Published on 29 March 2011 08:44 AM EDT
Written by Michael Larabel in Mesa
11 Comments

In recent days I have mentioned many interesting Google Summer of Code project that have been proposed for this year: WebM VDPAU state tracker, better multi-GPU support, the OpenCL state tracker, and even a Direct3D HLSL shader compiler. It will be interesting to see which of these projects actually materialize since the success rate of GSoC projects aren't incredibly high, especially if counting the ones that end up succeeding but never end up being maintained after the summer or the code is never merged. Fortunately, one of last year's GSoC Mesa projects is still being hacked on and there's more to report on it today.

One of last year's projects for Mesa was on improving the GLSL (GL Shading Language) compiler for the ATI R300 Gallium3D driver. Improvements were made to the R300 GLSL compiler, some of which were merged to master. Tom Stellard, the student developer working on this project, didn't stop working on the code once the summer was over and he was paid by Google.

Tom Stellard has just announced that he's nearly done with a new and improved register allocator for fragment shaders in the R300 compiler. "The new allocator takes advantage of a register allocation algorithm designed for irregular architectures from a paper by Johan Runeson and Sven-Olof Nyström. Eric Anholt implemented this algorithm and added it to mesa, so all drivers could make use of it." Tom mentioned this work on his blog.

Tom mentions this new register allocator will cause a big impact on shaders that use a lot of scalar values. As an example, the Lightsmark benchmark uses 30~50% less registers with this new design and on a RV515 GPU he's seeing a ~10% increase in performance as a result. This looks like an invitation for me to run some new benchmarks on some higher-end R500 GPUs.

Right now this R300 allocator is living in a branch of Mesa, but hopefully it will be merged to master in time for Mesa 7.11. It would also be great if this is eventually supported in the R600 Gallium3D driver.

In related Mesa news, Marek Olšák completed a bit more OpenGL 3.x support for Mesa. To master he's committed clamping controls support via GL_ARB_color_buffer_float and he's completed work on signed normalized textures with GL_EXT_texture_snorm. Though as acknowledged in GL3.txt, there's still a lot of work left before OpenGL 3.0 support will be finished, especially as some of the work is held up by legal issues.

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 Linux Hardware Reviews
  1. Rosewill RS-MI-01: An Ultra Low-Cost Mini-ITX Chassis
  2. D-Link DCS-2330L HD Wireless Network Camera
  3. Gigabyte AM1M-S2H
  4. AMD's New Athlon/Semprons Give Old Phenom CPUs A Big Run For The Money
Latest Linux Articles
  1. AMD Catalyst 14.4 Brings Few Linux Performance Improvements
  2. The Performance Of Fedora 20 Updated
  3. Clang Fights GCC On AMD's Athlon AM1 APU With Jaguar Cores
  4. Ubuntu 14.04 LTS vs. Oracle Linux vs. CentOS vs. openSUSE
Latest Linux News
  1. PC-BSD Is Developing Its Own Desktop Environment
  2. Valve Is Bringing VOGL To Windows & Working On Regression Tests
  3. Canonical Is Taking Over Linux 3.13 Kernel Maintenance
  4. Google Web Designer Is Now Natively Available On Linux
  5. Ubuntu 14.10 Is Codenamed The Utopic Unicorn
  6. Audacious 3.5 Lightweight Audio Player Released
  7. Steam Updated For Ubuntu 14.04 LTS, SteamOS
  8. DNF 0.5 Yum Replacement Now Supports Groups
  9. Red Hat Enterprise Linux 7.0 Is Looking Fantastic
  10. Intel Is Launching An Interesting Bay Trail NUC Next Week
  11. Another X.Org EVoC Proposed For OpenGL 4+ Tests
  12. The Best Features Coming With Qt 5.3
Latest Forum Discussions
  1. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  2. The Most Amazing OpenGL Tech Demo In 64kb
  3. Announcing radeontop, a tool for viewing the GPU usage
  4. HTPC-upgrade advice: AMD Richland A8-7600 or Kaveri A10-6700T ???
  5. New card. Open source drivers only.
  6. The GNOME Foundation Is Running Short On Money
  7. Script for Fan Speed Control
  8. Torvalds Is Unconvinced By LTO'ing A Linux Kernel