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.

Latest Linux Hardware Reviews
  1. Overclocking The AMD AM1 Athlon & Sempron APUs
  2. AMD Athlon 5350 / 5150 & Sempron 3850 / 2650
  3. Upgraded Kernel & Mesa Yield A Big Boost For Athlon R3 Graphics
  4. AMD Athlon 5350 APU On Linux
Latest Linux Articles
  1. Are AMD Athlon/Sempron APUs Fast Enough For Steam On Linux?
  2. AMD Athlon's R3 Graphics: RadeonSI Gallium3D vs. Catalyst
  3. GCC 4.9 Compiler Optimization Benchmarks For Faster Binaries
  4. DDR3 Memory Scaling Performance With AMD's Athlon 5350
Latest Linux News
  1. Early Linux 3.15 Benchmarks Of Intel Core i7 + Radeon
  2. Red Hat Releases Its RHEL 7 Release Candidate
  3. New Features Coming To Xubuntu 14.04 LTS
  4. NVIDIA Officially Releases CUDA 6
  5. Google Releases An AutoFDO Converter For Perf In LLVM
  6. Fedora 21 To Evaluate Remote Journal Logging, 64-bit ARM Emulation
  7. Star Citizen Will Be Coming To Linux
  8. Ubuntu 14.10 Convergence To Focus On Replacing Core Apps
  9. The Results Of Optimizing Radeon's VRAM Behavior
  10. Kernel Developers Discuss Improving Kernel Configurations
  11. Apple, LLVM Developers Figure Out Their 64-Bit ARM Approach
  12. NVIDIA GeForce GTX 750 Maxwell GPUs Light Up On Linux 3.15
Latest Forum Discussions
  1. The GNOME Foundation Is Running Short On Money
  2. Linux Kernel Developers Fed Up With Ridiculous Bugs In Systemd
  3. Bye bye BSD, Hello Linux: A Sys Admin's Story
  4. New tool for undervolt/overclock AMD K8L and K10 processors
  5. How to enable opengl 3.3 on r9 270?
  6. R290x sound problems
  7. radeon-profile: tool for changing profiles and monitoring some GPU parameters
  8. Torvalds Is Unconvinced By LTO'ing A Linux Kernel