On 4/6/19 12:06, Stefan Dösinger wrote:
I suspect the application changed the FPU precision to single precision or something like that. I remember that there is (was?) some bug where the nvidia driver didn't parse a float literal that was not MAX_FLOAT correctly and the resulting loss of precision broke the shader.
Other drivers parsed it correctly even with the FPU in single precision mode.
Yes, this is the case. Application does not even have to do that explicitly, x87 single precision is set in d3d9 device initialization without D3DCREATE_FPU_PRESERVE flag. It is strange that most (if not all) of the 32 bit builds are still using x87 these days. I suppose many of then won't run on Pentium III computer anyway.