Morphological Anti-Aliasing With Mesa 8.0

Written by Michael Larabel in Display Drivers on 14 February 2012 at 04:36 AM EST. Page 1 of 3. 15 Comments.

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.

Related Articles