http://bugs.winehq.org/show_bug.cgi?id=28404
--- Comment #2 from Henri Verbeet hverbeet@gmail.com 2012-02-03 15:25:44 CST --- I spent a fair amount of time on this, but I'm not quite sure where the problem is. The smearing you see happens because the game doesn't clear the backbuffer and depth buffer between frames, but instead just draws the skymap with depth testing disabled. However, that gets clipped because the (rhw) vertices have Z-values slightly larger than 1.0. A typical skymap triangle looks like this:
{8.01000000e+02, 3.67438812e+02, 1.00024152e+00, 8.41857855e-06} {0.00000000e+00, 4.59675171e+02, 1.00024152e+00, 8.41857855e-06} {0.00000000e+00, 3.00110535e+02, 1.00024152e+00, 8.41857855e-06}
Depth clamping avoided the clipping, but would be inconsistent with the D3DPMISCCAPS_CLIPTLVERTS we report. (And the tests prove this.) Matteo tested this on Windows with an NVIDIA card, and it works there as well. I suppose we could just remove the cap and enable depth clamping again, but it strikes me as hiding the real bug, since this is somehow supposed to work even with D3DPMISCCAPS_CLIPTLVERTS.