[PATCH 3/5] ddraw/tests: Changing only viewport Z range is broken on r500 on Win10.
Stefan Dösinger
stefan at codeweavers.com
Mon Jan 27 15:45:26 CST 2020
Signed-off-by: Stefan Dösinger <stefan at 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)"},
--
2.24.1
More information about the wine-devel
mailing list