Signed-off-by: Stefan Dösinger stefan@codeweavers.com
---
It somehow ends up drawing at z=0.5 instead of z=0.5+eps. Going through a different viewport size first fixes the problem and the test works like everywhere else. Weirdly this only applies to 640x480 target as well (but creating a separate RT+DS doesn't help), not the render targets with higher or lower resolutions.
LEGO Island 2 is broken on this machine, although in a different way than in bug 48104. It lookd as if the GPU does not handle surface tiling correctly. --- dlls/ddraw/tests/ddraw7.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c index 78ff17f28ac..71244ca1e1d 100644 --- a/dlls/ddraw/tests/ddraw7.c +++ b/dlls/ddraw/tests/ddraw7.c @@ -14966,9 +14966,10 @@ static void test_viewport(void) tests[] = { {{ 0, 0, 640, 480}, 0.001f, { 0, 120, 479, 359}, "Viewport (0, 0) - (640, 480)"}, + {{ 0, 0, 320, 240}, 0.001f, { 0, 60, 239, 179}, "Viewport (0, 0) - (320, 240)"}, + /* Don't run this right after the other 640x480 test, it breaks r500. */ {{ 0, 0, 640, 480, 0.5f, 0.0f}, 0.501f, {0, 120, 479, 359}, "Viewport (0, 0, 0.5) - (640, 480, 0.0)"}, - {{ 0, 0, 320, 240}, 0.001f, { 0, 60, 239, 179}, "Viewport (0, 0) - (320, 240)"}, {{ 0, 0, 1280, 960}, 0.001f, { 0, 240, 639, 479}, "Viewport (0, 0) - (1280, 960)"}, {{ 0, 0, 2000, 1600}, 0.001f, {-10, -10, -10, -10}, "Viewport (0, 0) - (2000, 1600)"}, {{100, 100, 640, 480}, 0.001f, {100, 220, 579, 459}, "Viewport (100, 100) - (640, 480)"},