Product: AMD Catalyst
Company: AMD
Authour: James Prior
Editor: Charles Oliver
Date: December 13th, 2010
AMD Introduces MLAA

AMD
AMD
Just when it looked like NVIDIA had a decisive advantage for the Image Quality Enthusiast crowd, AMD introduced a new (unseen before in a graphics driver) anti-aliasing algorithm - and, with Catalyst Hotfix 10.10e, enabled it for all the estimated 30+ million DirectX 11 GPUs they shipped since October 2009.

Morphological Anti-Aliasing (MLAA) isn't AMD's brain child, but was first discussed in 2009 by Intel Lab's Alexander Reshetov. Intel Labs published a whitepaper detailing Morphological Anti-Aliasing (.pdf link) and how it can be used to provide significant improvements in image quality simply and quickly on massively parallel processing engines. This provided AMD an opportunity to address a complaint about their drivers and the inability to provide TSAA or SSAA for DirectX 10 and 11 titles, in a manner that meant less work and simpler application.

MLAA vs. MSAA on test image (Source - Intel MLAA.pdf)
MLAA vs. MSAA on test image (Source - Intel MLAA.pdf)

We first reported on Morphological Anti-Aliasing with the launch of the AMD Radeon HD 6800 series, which can be found here. The disadvantages of MLAA are the same as its advantages - it applies to everything. Steam overlay, GFWL, in-game subtitles, transparent textures, deferred lighting engines, batman - all of it gets the edges smoothed off. The algorithm itself uses the hardware provided for implementing DirectX 11 compute shader functions, such as the local and global data stores, to reduce latency and reduce the impact on performance and memory use when compared to high levels of MSAA, or SSAA.

Identifying Z, U and L patterns (Source - Intel MLAA.pdf)
Identifying Z, U and L patterns (Source - Intel MLAA.pdf)

In essence MLAA works by attempting to find geometry from final rasterized out. By taking sample tiles and looking for specific shapes within pixels of varying color, it can find edges. The pre-defined shapes it searches for allows Radeons to identify the edges of walls, guns, grates, chain link, and so on. Once those lines and shapes are found, silhouette approximation is done to stitch together shapes and make smooth transitions, and neighboring pixel color can be used to determine how best to smooth the jagged edge - anti-aliasing. Opportunities for improvements lie in the recursion and discard of identified shapes, and tile overlap and reprocessing. These improvements must be balanced against the render time increase, as a whole finished scene is awaiting output to the display with the gamer ready to twitch to the next target.

Our testing found that the best results for MLAA in games comes from using a little MSAA and 16xAF. MLAA can be sensitive to color changes in texture maps causing false smoothing or blending, so using Anisotropic Filtering first can preserve the image quality. Catalyst Control Center can be configured to override the application settings and force specific levels of Anisotropic Filtering to be performed, if games don't offer the option themselves - for example, DiRT 2, or Call Of Duty: Modern Warfare 2.

Additionally, as it is a complete post-processing technique, you can't screenshot it with FRAPS or EVGA Precision, MSI Afterburner. To get MLAA screenshots you must use a tool from AMD that takes your original screen capture and applies the MLAA technique. You can download the tool here. Using it is simple, just provide the input file and path and the output path and let 'er rip! The executable uses a CPU implementation of MLAA, and so doesn't require an AMD, or even DirectX 11, graphics card.

Download MLAA Tool

Command Line Based MLAA Tool
Command Line Based MLAA Tool

Being DirectCompute based, and a public whitepaper, we hope that perhaps this could be an AMD driver function - games could add this to their image quality settings, if AMD were to expose it's execution through their driver API as is done with the Eyefinity SDK. If the game could specify the point at which an MLAA pass occurred, it could be done before the HUD or text elements were overlaid, giving a great game image with clear readable text elements. If not, then perhaps AMD can offer developer assistance in offering this feature as an option for games running on compatible hardware.

Due to Windows Aero desktops using Direct3D, MLAA also affects the desktop experience. As this is less than optimal for forum browsing, or trying to use Microsoft Office Excel, refinement is needed in the control panel for selecting it's enablement. As we showed earlier, you could create a CCC preset for launching each game you want to use MLAA with, but that's going to be an assload of icons or hotkeys. Better, then, for AMD to offer a secondary control to specify only to apply to full screen applications; or a windowed method, where the MLAA algorithm could be defined to operate in a specific area based on an application whitelist that MLAA should be permitted to apply to.


content not found


Copyright 2021 © Rage3D.com

You may not use content, graphics, or code elements from this page without express written consent from Rage3D.com

All logos are trademarks of their original owners. Used with permission.