Hellbinder said:
The problem is that is not taking into account the Negative aspects of FP16 that will become more and more evident as shader use and the complexities thereof become more common.
After a while even FP24 will begin to show some signs of weakness. FP16 however will start splitting at the seams even as early as late next year. What if you want to sample a texture that is 2048x2048? or other cases outside the limitations of FP16.
It Makes no sense whatsoever to support FP16 currently and is flat out Insanity to push it with a new product even comming out in Q1 of next year. There are several reasons for this and they are self evident. IMO it borders on dishonesty for some of the people in this thread to be staunch supporters of FP16 when they know damn well it not a wise course of action.
If even FP24 is going to need to go the way of the Dodo,, Why in the hell are people arguing for FP16 just because one IHV made such poor decisions over the last year.
The Future, even the near future is Pure FP32 and thats all there is to it.
Indeed if FP16 is inadequate in a situation, that's where FP32 is used. My only issue with FP16 is when potential FP32 performance is excessivly compromised because of FP16. Not all shaders are really long and complex though. Not all shaders will see a build-up of inaccuracies as a result of low precision. Simple, flat texturing operations, for example, will never need floating point precision. Of course, one could always just use the fixed function pipeline in some instances, but what if the fixed function pipeline is emulated using shaders? In that case, one will want the fastest emulation possible. If it can be gained using lower precision that results in no quality penalty, then there's no problem with that.
Now I'm not turning around and suddenly supporting FP16 entirely. As I said: I support it so long as its existence does not excessively compromise potential FP32 performance. That is because by itself it is does not add anything at all to graphics programming. Performance is the only thing it can possibly add. It does not allow for special functionality within shader programming, nor does it provide the possibility of certain effects -- except for providing additional performance, but that's only good when the result won't compromise quality. As such, FP16 becomes a bonus -- a potential way to get performance when it is needed.