Using The New Radeon Gallium3D 2D Color Tiling

Written by Michael Larabel in Display Drivers on 17 January 2012 at 02:00 AM EST. Page 1 of 4. 15 Comments.

Patches finally arrived last week for 2D color tiling in the Radeon R600 Gallium3D driver. The patches were then re-based this past weekend and benchmarked by Phoronix. Will the 2D color tiling patches, which affect the Linux kernel, Mesa, libdrm, and xf86-video-ati DDX make the more recent Radeon graphics cards more competitive under open-source to the Catalyst driver?

As talked about last week, 2D color tiling has been around for a while now with the R300 driver for providing this speed boost for ATI graphics processors up through the ATI Radeon X1000 (R500) graphics cards, but for the Radeon HD 2000 series and newer the support has been missing. There has been some off-by-default R600 1D color tiling support, but 2D tiling is to produce faster results. The 1D (micro) tiling groups nearby pixels into tiles and so they reside close within the video memory so that color access is faster. The 2D (macro) tiling then locates the adjoining tiles nearby in the video memory.

While the R600 2D color tiling is beneficial to many, these new patches that were written by Jerome Glisse are invasive across the stack and so far have undergone limited testing. As a result, do not expect to see them soon "out of the box" in your Linux distribution. This work will hopefully come together for the Linux 3.4 kernel, Mesa 8.1, and xf86-video-ati 6.15.0 (and whatever libdrm release we are at by then based upon how release happy Intel is at that point with the DRM library). Right now the 2D color tiling also needs to be enabled from the xorg.conf and an environmental variable set for Mesa.

This past weekend I tested out the preliminary patch-set by Jerome Glisse (dated 13 January for the DRM, DDX, R600g, and libdrm) on several different generations of Radeon hardware that is covered by the R600g driver. This testing followed last week's extensive testing and comparison of Mesa 7.11, Mesa 8.0, and the proprietary Catalyst driver.


Related Articles