https://bugs.winehq.org/show_bug.cgi?id=35963
--- Comment #12 from Henri Verbeet hverbeet@gmail.com --- (In reply to farmboy0+winehq from comment #11)
(In reply to Henri Verbeet from comment #10)
(In reply to farmboy0+winehq from comment #9)
%f prints the value as -nan so you are correct. but both the directx manual and the opengl spec define the values as >= 0, so the check should be correct.
Yes, but I think it should be unnecessary, since GL should take care of it.
No it shouldnt. the GL manual says it should return an GL_INVALID_VALUE which would still be an error in wine but probably with lesser consequences.
GL commands generating errors are ignored, with only a few exceptions. I.e., if the GL driver would correctly handle the NaN, the effect should be the same as what your patch does.
It's possible NaN is supposed to behave in a specific way in D3D, but that would need some tests, and I suspect it's just undefined.