radar1200gs said:
I never said FP16 was an IEEE standard or FP24 either, FP32 is the only IEEE backed standard out of them. Doesn't alter the fact that FP16 has had years of professional use one iota.
Where? What applications? In any event, the point is moot for this discussion. Fp64 is used for many applications too, again, not relevant here.
As for the HDR issue, where would the 3d industry be if there were only one way to impliment a z-buffer, or only one texture format?
There are still specifications for these things, that is the point.
To only have one valid method of doing HDR in DX9 is ludicrous, just like only having one "valid" precision is ludicrous.
Again, what are you talking about? There are many ways of doing HDR. Float buffers is just one of them. HDR is
not a part of the API spec (I see no "HDR" cap bit). HDR is an application feature.
Now,
floating point buffers/textures are a part of the DX9 spec. The spec says that you need certain functionality with these textures (i.e. wrapping) but that other features are optional (i.e. filtering). What is the problem here? ATI had the spec. nvidia had the spec. S3 had the spec. XGI had the spec. If you don't follow the spec, who's to blame? Shouldn't your design be flexible enough to at least meet the minimum requirements? DX9 is not OpenGL where you can just support any old feature via extensions. DX9 attempts to keep a uniform field so that an application looking for a certain feature (i.e. float buffers) will get the same behavior on any card supporting said feature. OpenGL allows you more flexibility because you can create an extension for anything you like. The burden then falls on the application to adapt to differing feature support across different platforms, often a difficult task.
Lastly, DX9 does not specify "one" precision. It specifies a
minimum precision and that is FP24. If you support more than FP24, good for you. If you happen to have poor performance doing so, who's fault is that?