http://bugs.winehq.org/show_bug.cgi?id=23906
--- Comment #30 from Henri Verbeet hverbeet@gmail.com 2011-06-04 15:01:42 CDT --- For what it's worth, we think we have a reasonable idea of what the problem is, but it probably won't be so easy to fix. Erich is close wrt IEEE floating point rules. Current nvidia OpenGL Linux drivers follow IEEE floating point rules, in that e.g. 0.0 * INF results in NaN. The D3D drivers don't, and 0.0 * INF gets you 0.0. As far as I'm aware there's no way to explicitly request either behaviour in current versions of GLSL, so it this probably require a GL extension to fix.