From 27431fe331d71dde508498206f206bc2bcd3e79a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stefan=20D=C3=B6singer?= Date: Sat, 7 Nov 2009 17:15:36 +0100 Subject: [PATCH 3/8] d3d9: Accept the geforce 8 fog+srgb result This test was added because HL2 needs the GF7 behavior. GF8 cards have a behavior in the test that would break HL2(too much fog), but in HL2 on windows it magically still works. Valve says they didn't fix it on their part, and evidence points towards a driver hack. (Magically fixed with a driver update, behavior in the game != behavior in the tests). Newer Source engine based games don't use HW fog any more and handle it themselves in the shaders to avoid hitting the geforce7/8 difference. Stick to the gf7 behavior in Wine, but don't complain about the geforce 8 behavior on Windows. If any game starts depending on the gf8 behavior we'll need a hack for HL2 --- dlls/d3d9/tests/visual.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c index b871ad7..98d7211 100644 --- a/dlls/d3d9/tests/visual.c +++ b/dlls/d3d9/tests/visual.c @@ -6884,7 +6884,7 @@ static void fog_srgbwrite_test(IDirect3DDevice9 *device) ok(hr == D3D_OK, "IDirect3DDevice9_SetRenderState returned %08x\n", hr); color = getPixelColor(device, 160, 360); - ok(color_match(color, 0x00808080, 1), + ok(color_match(color, 0x00808080, 1) || broken(color_match(color, 0x00bcbcbc, 1)), "Fog with D3DRS_SRGBWRITEENABLE returned color 0x%08x, expected 0x00808080\n", color); hr = IDirect3DDevice9_Present(device, NULL, NULL, NULL, NULL); ok(hr == D3D_OK, "IDirect3DDevice9_Present failed with %08x\n", hr); -- 1.6.4.4