Chalnoth said:
The ARB2 path doesn't support FP16, which the NV35 excels at.
Why not? Won't ARB_precision_hint_fastest select FP16 on NV3x hardware? (This is an honest question, BTW; I don't know the answer, but such was my impression.)
Perhaps JC will make a path for the NV35 that simply changes all FX12 instructions to FP16 ones (According to Uttar's benches, that shouldn't drop performance significantly), and allow options for these various optimizations to be used.
If the NV30 path approximates the specular calculations with different methods (e.g. cubemap for normal vector normalization instead of calculating it), then simply changing FX12->FP16 won't make it calculate the normalization arithmetically all of a sudden. It'll require a new path. Or the use of the ARB2 path assuming it can be made FP16-friendly (which I don't think should be a problem).
Anyway, as far as specific features of the ARB2 and NV30 paths, we'll have to wait until the game comes out, as things can (and probably will) change.
True. Hyp-X was the one who asserted what would and wouldn't be in the final paths, not me. I meant to question his assertion with my post, but once I started writing it started making more sense to me.
But to be clear: as far as
I know, the ARB2 path having those extra features was only true as of Carmack's .plan, and could change in the final game. In fact, I would be surprised if that
didn't change in the final game, unless there is some good reason why the NV30 path can't support them. My
totally uninformed guess is that the reason it
might not change is because of NV30/31/34's affinity for FX12.
If that's the reason, I would
guess that those features will be enabled for NV35 cards, either through having NV35s use the ARB2 path (which I
think would work without giving up too much performance, and which Carmack has hinted at), or perhaps through a new NV35 path as you propose.