The public release of AMD's "tcore" sample code is imminent, thereby steering the open-source development efforts toward R600 2D acceleration and the basis of the 3D support for the RadeonHD driver. However, in somewhat of a surprise, this afternoon XAA and EXA support was added to the RadeonHD driver for the R500 series. For those that aren't X enthusiasts or Linux veterans, XAA and EXA are architectures for providing 2D graphics acceleration. With this accelerated 2D support, we have benchmarked both XAA and EXA on the xf86-video-radeonhd driver as well as with the xf86-video-ati driver and the binary fglrx driver.
XAA is the XFree86 Acceleration Architecture and has been around for over ten years, while EXA is designed to be its replacement. EXA was introduced in 2005 with goals of properly accelerating XRender but at the same time being as simple as possible. EXA and XAA spell a death to the ShadowFB support in the RadeonHD driver. However, this EXA and XAA implementation isn't complete. Specifically, still lacking is taking advantage of the command processor and using DMA. This XAA/EXA coverage does not yet extend to the R600 (Radeon HD 2000 / Radeon HD 3000) series as these GPUs have a completely reworked 2D engine. The sample code that AMD will be making available in the near future will help in the 2D acceleration realm.
On the other hand, the xf86-video-ati driver has supported XAA/EXA with the R500 series for some time as this accelerated 2D support was derived from the earlier R200/300/400 support with minimal changes. The xf86-video-ati driver also lacks any 2D support for the R600 series at this time. These drivers default to XAA rendering; however, to take advantage of EXA a slight modification is needed to the xorg.conf. In the graphics card's device section, Option "AccelMethod" "EXA" needs to be added and then restart the X server.
For these initial open-source R500 2D benchmarks we had used an ATI Radeon X1800XT 256MB graphics card with an Intel Pentium D 820 processor, 2GB of OCZ DDR3-1333 memory, Western Digital 160GB SATA 2.0 hard drive, and the ASUS P5E3 Deluxe WiFi (Intel X38) motherboard. On the software side was Ubuntu 7.10 with the Linux 2.6.22 kernel. We had built the xf86-video-radeonhd driver from git right after the EXA/XAA support was added. Likewise, xf86-video-ati and the DRM r500-support were pulled from git this afternoon.
The benchmark being used for looking at the XAA and EXA performance of the Radeon and RadeonHD drivers was GtkPerf 0.4 with 1,000 test runs. For comparison, we have also included the results from the Catalyst 8.01 Linux driver.