http://bugs.winehq.org/show_bug.cgi?id=17423
--- Comment #10 from Stefan Dösinger stefandoesinger@gmx.at 2009-02-21 15:04:25 --- Created an attachment (id=19596) --> (http://bugs.winehq.org/attachment.cgi?id=19596) Hack for GLSL
It wasn't required by any application I know of. I just ran into this behavior when I extended the fog test to figure out how the vertex shader fog coord is handled in native d3d, and I implemented it.
Originally WineD3D didn't touch the GL fog coordinate if the shader wrote its own. My test revealed that D3D fog coordinate isn't used with table fog, so I changed it. The attached hack reverts this behavior for GLSL shaders. In ARB this can be done in a similar way.
I could of course send this in as a fix for a regression, but since it breaks(*) an existing test on ATI, NV and the refrast we'll have a hard time arguing that it is correct.
Besides, since at least ATI changed the behavior somewhen in the past, it is pretty likely that there's some other application out in the wild that depends on the behavior my test demonstrates.
The correct fix for this is to demonstrate that the NV and ATI drivers have a game specific hack for this, find out how the hack is triggered, and implement the same hack in Wine. If possible we'd also want a test app that triggers the game specific hack in the Windows drivers.