The Carmack Speaks

34
It's been quite a while, but John Carmack updated his .plan file with his opinion on driver optimizations for Quake3 (like ATI did). As usual, Carmack gives us a brief one paragraph update. Of course I kid as it's another monster .plan update. Anyway, here's a snip

Making any automatic optimization based on a benchmark name is wrong. It subverts the purpose of benchmarking, which is to gauge how a similar class of applications will perform on a tested configuration, not just how the single application chosen as representative performs.

It is never acceptable to have the driver automatically make a conformance tradeoff, even if they are positive that it won't make any difference. The reason is that applications evolve, and there is no guarantee that a future release won't have different assumptions, causing the upgrade to misbehave. We have seen this in practice with Quake3 and derivatives, where vendors assumed something about what may or may not be enabled during a compiled vertex array call. Most of these are just mistakes, or, occasionally, laziness.

From The Chatty
Hello, Meet Lola