Pete said:
I'm not so much worried about IQ, as JC must have coded D3 with non-FP limits in mind.
True, although don't forget he also made his public feature request for FP16 color soon after he started work on the D3 engine. Certainly with lighting playing such a large role the extra dynamic range should help out in certain circumstances. But you're right that the engine is primarily targeted at FX8 rendering.
I imagine FP shading will add more speed than IQ over older, INT/FX cards. Right?
Well, it's not the FP that would add speed, but rather the ability to use a shader to do the lighting in one pass that adds speed.
JC has said that the 9700 runs the R200 path slightly faster than the R300 path. Both use a shader to implement the lighting model in a single pass; the R200 path uses PS 1.4 functionality via ATI_fragment_shader, while the R300 path uses PS 2.0 functionality via ARB_fragment_program. Whether the R200 path is faster due to not using FP (but would this matter on an R300 which has FP24 pipes throughout? Perhaps if FP values are ever read/written to the graphics DRAM.), ATI_fragment_shader being for some reason slightly more efficient than ARB_fragment_program on R300 (or perhaps it
was so back when Carmack made his .plan update), or due to the R300 path enabling a few extra features, isn't completely settled I don't think.
Clearly the reason to prefer the R300 path to the R200 is IQ; I believe at least a large part of the IQ benefit is from the use of FP color, but, again, perhaps other features are involved as well.
Meanwhile, for NV30-34, clearly the use of FX12 is speeding things up greatly, as one would expect given their architecture. Just as clearly, the use of FP color must have
some positive IQ benefit, because otherwise the NV30 path would be
entirely FX12, which it is certainly not.