While the AMD Radeon "R300g" Gallium3D driver has been effectively "done" for a while, only this weekend has multi-sample anti-aliasing (MSAA) support come to this open-source graphics driver that supports the ATI Radeon X1000 (R500) GPUs and older hardware.
support in Mesa/Gallium3D has been slow to come with things only having come together in early 2012
. Intel landed their MSAA support in summer of 2012
. In late summer of last year, MSAA Radeon Gallium3D support came
but it was for the R600g driver, which supports the Radeon HD 2000 through HD 6000 series graphics processors.
In December, Marek Olšák made more MSAA Gallium3D changes
along with introducing the ability to force multi-sample anti-aliasing
. Marek, the famed independent Radeon open-source driver contributor, has now added MSAA support to the R300g driver.
In a Git commit
that was pushed Sunday morning to mainline Mesa, there is now anti-aliasing support for this old driver.
This is not as optimized as r600g - the MSAA compression is missing, so r300g needs a lot of bandwidth (more than r600g to do the same thing). However, if the bandwidth is not an issue for you, you can enjoy this unoptimized MSAA support. The only other missing optimization for MSAA is the fast color clear.
MSAA is enabled on r500 only, because that's the only GPU family I tested. That said, MSAA should work on r300 and r400 as well (but you must set RADEON_MSAA=1 to allow it, then turn MSAA on in your app or set GALLIUM_MSAA=n, n >= 2, n <= 6) I will enable the support by default on r300-r400 once someone (other than me) tests those chipsets with piglit.
The supported modes are 2x, 4x, 6x. The supported MSAA formats are RGBA8, BGRA8, and RGBA16F (r500 only). Those 3 formats are used for all GL internal formats.
Tested with piglit. (I have ported all MSAA tests to GL2.1)
Implementing multi-sample anti-aliasing in this Gallium3D Radeon driver took about 500 lines of work while building on the other infrastructure changes for Gallium3D MSAA.
Benchmarks on Phoronix of Gallium3D MSAA are forthcoming. Unfortunately with the open-source Mesa/Gallium3D drivers already being quite slow compared to their proprietary brethren, the performance when using this image-enhancing technique will likely not be too great. This is also only standard MSAA while the proprietary AMD and NVIDIA drivers with modern GPUs support much more advanced anti-aliasing (AA) methods.