Show Your Support: This site is primarily supported by advertisements. Ads are what have allowed this site to be maintained on a daily basis for the past 18+ years. We do our best to ensure only clean, relevant ads are shown, when any nasty ads are detected, we work to remove them ASAP. If you would like to view the site without ads while still supporting our work, please consider our ad-free Phoronix Premium.
Morphological Anti-Aliasing With Mesa 8.0
One of the less talked about features of Mesa 8.0 is its ability to handle MLAA, which is short for Morphological Anti-Aliasing. But how does MLAA on the open-source graphics drivers affect the OpenGL performance and is it worth it for boosting the image quality through this anti-aliasing technique? In this article are some benchmarks of MLAA under Mesa 8.0.
Morphological Anti-Aliasing support for Mesa was worked on last summer as part of the 2011 Google Summer of Code with X.Org. Lauri Kasanen was the student developer responsible for bringing MLAA to Mesa. Unlike many GSoC projects, he was successful in his summer project. In fact, he had MLAA Mesa code ready for testing in July well before the August deadline. In August the support was ready for merging, which also included the Gallium3D post-processing support and ROUND support for the various drivers.
The method of MLAA implemented in Mesa was that designed by Jorge Jimenez and detailed on this web-page, both the depth and color versions are now available in mainline Mesa. Over the more-common MSAA (Multi-Sampling Anti-Aliasing), MLAA is intended to be faster while offering similar image quality. MLAA can complement MSAA and work better in certain scenarios as the page details.
Morphological Anti-Aliasing support in Mesa can be toggled using the driconf program or via the "pp_jimenezmlaa" (the depth version) and "pp_jimenezmlaa_color" (the color version) environment variables. Each of the MLAA filters supports levels between 2 and 32x, but Lauri Kasanen wrote in an email to Phoronix, "Going over 16 doesn't improve quality much if at all. I would suggest testing 2, 4, 8, and 16."
The MLAA implementation in Mesa is meant to be rather generic, but unfortunately, it does not support all drivers at this point. As Lauri wrote in the same email, "Given the driver situation, I think only r600g should be tested. r300g doesn't work yet to my knowledge, nouveau only works on Fermi I think, and nouveau/Fermi isn't quite in a good condition as you know. While both software drivers (softp, llvm) work, I don't think there's much interest for those."
For this testing I ran the Phoronix Test Suite on Mesa 8.0 in Ubuntu 12.04 LTS using different levels of the depth/color MLAA on two Radeon HD 5000/6000 series graphics cards using the Gallium3D driver. Performance and image quality were measured.