Single page Print

ATI's Radeon X800 texture filtering game

Saying one thing, doing another
— 2:59 PM on May 20, 2004

RECENT REVELATIONS ABOUT the trilinear filtering techniques ATI has used in its more recent graphics chips, including the X800 series, have been something of a shock. The reason they came as a shock isn't because we've now learned that ATI is using an adaptive algorithm to reduce its graphics workload. Such algorithms make sense, done properly, so they don't harm image quality. Indeed, the essence of graphics is creating an illusion as effectively as possible, and shortcuts are big part of that enterprise.

The shock comes because ATI has consistently touted its own texture filtering techniques as superior to the competition's, talking down the so-called "brilinear" filtering algorithm used by NVIDIA and encouraging use of tools for IQ analysis that don't show the effects of ATI's method.

What we've learned about ATI texture filtering
Over the past few days, we've learned quite a bit about what ATI is actually doing with trilinear filtering. I'll try to summarize. First, an article at alleged ATI was doing less-than-full trilinear filtering, with the exception of cases where color mip maps were used. Colored mip maps serve little purpose other than to show reviewers and developers where and how filtering is happening, so detection of colored mip maps would seem to be a cheat.

Next, ATI issued a response explaining the algorithm. Here's a key excerpt from ATI's statement:

Our algorithm for image analysis-based texture filtering techniques is patent-pending. It works by determining how different one mipmap level is from the next and then applying the appropriate level of filtering. It only applies this optimization to the typical case – specifically, where the mipmaps are generated using box filtering. Atypical situations, where each mipmap could differ significantly from the previous level, receive no optimizations. This includes extreme cases such as colored mipmap levels, which is why tests based on color mipmap levels show different results. Just to be explicit: there is no application detection going on; this just illustrates the sophistication of the algorithm.
So ATI admits that it's using adaptive trilinear optimizations most of the time. No mention is made of cases other than colored mip maps—other "atypical" scenarios—where no such optimizations are used.

However, ATI then conducted an online chat to address this issue further. Here's a key exchange, with ATI rep answering a participant's question:

Q: Is Ati cheating if Colored MipMaps are enabled and shows True FULL_TRI AF and Only Then. Like the Article in Descripe it as such one.

A: Andy/Raja Absolutely not. If it were the case that we were only performing full trilinear with coloured mipmaps then you might have a point, but this is emphatically not what we do. We take advantage of properties of texture maps for performance and IQ gains. In cases where we are not able to determine that the texture content is appropriate for these techniques we use legacy trilinear filtering. This includes cases such as dynamically uploaded texture maps where we avoid performing analysis so as not to cause any possible gameplay hitches.

So we now have two cases where ATI does full trilinear filtering: dynamically generated texture maps and colored mip maps. No other examples were presented. I suppose this raises the question of whether there are any cases beyond those two where "legacy trilinear" is applied. I would like to learn more about this issue, but I don't want to dwell on the technical point right now. My larger concern today has to do with ATI's past statements on this issue, and how they conflict with what we have learned in recent days about ATI's actual filtering practices.

What ATI told the press about filtering
As reviewers, we received quite a bit of information from ATI about the Radeon X800 leading up to its launch, much of it very helpful as we worked to evaluate the product versus its competition. Some of that information pertained to testing methods and image quality comparisons, and I'd like to show you what ATI said about its filtering methods and about image quality tradeoffs.

First up is a slide from a presentation at ATI's "Technology Days" event, where the Radeon X800 was first introduced to the press. This presentation was given by Greg Ellis, ATI's Manager of Performance Analysis. Ellis presented a series of benchmarking hints and tips for Radeon X800 reviewers. Among them was this slide:

ATI proclaims filtering "tricks" unacceptable

I think you can see the irony.

Next, we have a few excerpts from ATI's Radeon X800 reviewer's guide. This is a PDF document specifically about image quality.

"Highest image filtering delivered at default"

Visual comparison uses colored mip maps to show up NVIDIA

ATI recommends use of colored mip maps, says its trilinear is "on by default"

"full trilinear . . . all of the time"

ATI goes to great lengths to cement the impression that its cards do more and better trilinear filtering than NVIDIA's. One of our two known special cases where adapative trilinear is not applied by the ATI card, that of colored mip maps, is used as an illustration.

But wait! There's more...