http://bugs.winehq.org/show_bug.cgi?id=35963
--- Comment #13 from farmboy0+winehq@googlemail.com --- After some more research I have come to the conclusion that the mesa implementation is in accordance with the OpenGL 2.1 spec. (http://www.opengl.org/sdk/docs/man2/xhtml/glLight.xml)
The spec says: GL_CONSTANT_ATTENUATION GL_LINEAR_ATTENUATION GL_QUADRATIC_ATTENUATION params is a single integer or floating-point value that specifies one of the three light attenuation factors. Integer and floating-point values are mapped directly.
**Only nonnegative values are accepted.**
etc..
It also says: GL_INVALID_VALUE is generated ... if a negative attenuation factor is specified.
NaN is neither nonnegative nor negative thus it is neither accepted nor is an error generated which is exactly what Mesa does.
This means that it is wine's responsibility to reject NaN values.