MSAA Anti-Aliasing Finally Comes To Radeon R300g

Posted by Michael Larabel on January 06, 2013

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.

MSAA 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.

Discuss this article in our forums, IRC channel, or email the author. You can also follow our content via RSS and on social networks like Facebook, Identi.ca, and Twitter (@Phoronix and @MichaelLarabel). Subscribe to Phoronix Premium to view our content without advertisements, view entire articles on a single page, and experience other benefits.
Latest Hardware Reviews
  1. Sumo Lounge Emperor
  2. Gallium3D Continues Improving OpenGL For Older Radeon GPUs
  3. 15-Way Open vs. Closed Source NVIDIA/AMD Linux GPU Comparison
  4. Nouveau vs. NVIDIA Linux Comparison Shows Shortcomings
Latest Software Articles
  1. Intel Linux OpenGL Driver Leading Over Apple OS X
  2. The Cost Of Ubuntu Disk Encryption
  3. Btrfs vs. EXT4 vs. XFS vs. F2FS On Linux 3.10
  4. AMD Radeon R600 GPU LLVM 3.3 Back-End Testing
Latest Linux News
  1. Phoronix Test Suite 4.6.0 "Utsira" Released
  2. New Intel X.Org Driver Supports All Of Haswell
  3. SQLite Now Faster With Memory Mapped I/O
  4. Microsoft Releases Skype For Linux 4.2, Has Bug-Fixes
  5. Qt For Tizen Launches, Based On Qt 5.1
  6. KTAP Released For Linux Kernel Dynamic Tracing
  7. Linux 3.10-rc2 Kernel Takes In A Few Extra Pulls
  8. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  9. Handbrake 0.9.9 Supports OpenCL Offloading
  10. Freedreno Gallium3D Now Banging The Adreno A3XX
  11. Jolla Announces Their First Phone
Latest Forum Talk
  1. QEMU 1.5 Supports VGA Passthrough, Better USB 3.0
  2. New Intel X.Org Driver Supports All Of Haswell
  3. Intel Linux OpenGL Driver Leading Over Apple OS X
  4. Modern Intel Gallium3D Driver Still Being Toyed...
  5. Microsoft Releases Skype For Linux 4.2, Has...
  6. Jolla Announces Their First Phone
  1. Computers
  2. Display Drivers
  3. Graphics Cards
  4. Motherboards
  5. Peripherals
  6. Processors
  7. Software
  8. Operating Systems
  9. All Articles
  1. Linux Benchmarking
  2. OpenBenchmarking.org
  3. Phoronix Test Suite