https://bugs.winehq.org/show_bug.cgi?id=35963
--- Comment #10 from Henri Verbeet hverbeet@gmail.com --- (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.
There is a bug in mesa however as the glLight function is supposed to return GL_INVALID_VALUE on negative values of ATTENUATION.
Yes. Specifically, at http://cgit.freedesktop.org/mesa/mesa/tree/src/mesa/main/light.c#n257 "if (params[0] < 0.0) {" should probably either read "if (!(params[0] >= 0.0)) {", or explicitly check for NaN. http://cgit.freedesktop.org/mesa/mesa/tree/src/mesa/main/light.c#n173 does use ">= 0.0" in the assertion, at that's probably what causes your issue.