The R600g Driver May Soon Be Working, But Lacks A Compiler

Posted by Michael Larabel on July 23, 2010

Just days ago we reported on the lack of progress with the ATI R600g driver that intends to provide Gallium3D support for ATI Radeon HD 2000/3000/4000 series graphics cards, but fortunately today there has been some activity in the Mesa Git repository for this open-source driver and a statement issued by the lead developer (Jerome Glisse) about its progress and he also has shared a TODO list.

For those not monitoring the Mesa Git log, today the R600g driver had its compiler "stuff" dropped, RSQ token support was added, and other tokens were fixed. More interestingly, however, is Jerome's message regarding this work. Jerome dropped the Gallium3D R600g compiler as "it was getting messy and kind of stopped anyone else from working on other part of r600g." Rather than having a full-fledged compiler for now, Jerome just wrote a very simple TGSI (Tungsten Graphics Shader Infrastructure) to R600 assembler to serve as an interim solution. With this very basic assembler, the R600/700 Gallium3D driver can even run glxgears and other non-textured OpenGL demos.

Jerome plans to add texture support to the R600g driver in "the next few days" to the point that the Quake engine should now run on this Gallium3D driver that supports newer ATI graphics processors. Jerome also shared his R600g TODO list, which roughly comes down to:

- Texture support
- Using the constant buffer rather than cfile
- Avoid recompiling the shader with each draw command (this will bring up the performance significantly)
- Stencil support
- Support for more states such as blending, alpha, and rasterization
- Geometry support
- Tiling support
- Color-mask support
- Hyper-Z support
- A proper shader compiler

A proper R600g driver is quite far down on Jerome's work list so it may be sometime until the performance and capabilities of this driver are proper or even comparable to that of the R600 classic driver and older R300g driver. Alex Deucher though has already replied to Jerome asking about using the R600 classic Mesa compiler at least as an interim solution and Corbin Simpson (the main author of the R300 Gallium3D driver) about utilizing more code sharing between these two drivers with their compiler.

Jerome's mailing list message can be found on mesa-dev. We'll continue to be monitoring the progress of this open-source ATI graphics driver, but for the time being the "classic" Mesa R600/700 driver will be the best option for end-users. For those with R300-R500 GPUs (up through the ATI Radeon X1000 series), there is the R300g Gallium3D driver, which is running great and quickly evolving with it already being in a better state than its respective classic Mesa driver.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  2. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
  3. F2FS File-System Shows Regressions On Linux 3.10
  4. Previewing The Radeon Gallium3D Shader Optimizations
Latest Linux News
  1. Mageia 3 Released, Still Using Legacy GRUB
  2. NetBSD 6.1 Brings In More Features
  3. Using Six Monitors With AMD's Open-Source Linux Driver
  4. Benchmarking The Intel P-State, CPUfreq Changes
  5. FreeBSD Still Working On Next-Gen Package Manager
  6. DNF Still Advancing As Experimental Yum For Fedora
  7. Logitech Begins Supporting Linux Users
  8. Modern Intel Gallium3D Driver Still Being Toyed With
  9. Linux 3.10 Kernel Benchmarks On A Core i7 Laptop
  10. GCC 4.8.1 Compiler Due To Be Out Next Week
  11. Linux 3.10 Kernel Benchmarks For Intel Ivy Bridge
Latest Forum Talk
  1. FreeBSD Still Working On Next-Gen Package Manager
  2. Mageia 3 Released, Still Using Legacy GRUB
  3. Logitech Begins Supporting Linux Users
  4. KDE's Krita Ported To OpenGL 3.1, OpenGL ES 2.0
  5. Benchmarking The Intel P-State, CPUfreq Changes
  6. Using Six Monitors With AMD's Open-Source Linux...
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite