ATI Evergreen 3D Code May Soon Go Into Gallium3D

Written by Michael Larabel in AMD on 9 September 2010 at 08:35 AM EDT. 155 Comments
AMD
AMD finally pushed out open-source 2D/3D acceleration code for Evergreen (a.k.a. the ATI Radeon HD 5000 series graphics cards) last month, but since then these drivers haven't received too much attention. AMD's few open-source developers are beginning to turn their attention to supporting the Radeon HD 6000 series more promptly in the open-source world while the community developers seem to still have their attention on the Gallium3D driver for the ATI Radeon HD 2000/3000/4000 (R600/R700) hardware.

The open-source code for providing OpenGL acceleration on the ATI Radeon HD 5000 series GPUs is currently living within the Mesa R600 classic driver, which means that eventually the support will need to be rewritten as a Gallium3D driver. [The good news going forward is that support for future GPUs like the Radeon HD 6000 series, Fusion, etc will likely be Gallium3D-only.] With there being limited development resources for open-source GPU drivers in general, it doesn't make much sense pouring so much time and energy into the legacy Mesa stack that will be replaced hopefully sooner rather than later.

Besides some occasional GPU hangs, even with the most recent Mesa and DRM code for the Radeon HD 5000 series there still are some OpenGL issues as shown below in our (somewhat blurry) screenshots from a Radeon HD 5750 with there being square textures, some incorrect colors, and other minor artifacts -- there's a reason why we haven't benchmarked this latest Mesa code yet.

The good news though is that the R600 Gallium3D driver (R600g) soon could be receiving the Evergreen ASIC support. While this open-source ATI driver was only capable of running gears in late July after cheating on a compiler, as of late it's been picking up many features and continues to receive new code commits to Mesa master a few times a week.

In the most recent work to the R600 Gallium3D driver from yesterday, Red Hat's David Airlie began making preparations for Evergreen hardware support. The r600g: abstract the hw states out behind a vtbl, r600g: add support for constants in memory buffers, and r600g: split opcodes out and add wrapper around usage commits are examples.

As mentioned in their commit messages, this is all necessary work for being able to support the Evergreen hardware and their differences from the R600/R700 ASICs that are currently supported by this mound of code. Let's just hope that the working ATI Radeon HD 5000 series support isn't too far out after the R600g driver begins playing well with the Radeon HD 2000/3000/4000 series hardware. The R300 Gallium3D driver that supports up through the ATI Radeon X1000 (R500) series is already working quite well and we'll have new benchmarks of that driver shortly.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week