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.