[PATCH 1/5] ddraw/tests: Remove A4R4G4B4 ckey tests (v2).

Stefan Dösinger stefandoesinger at gmx.at
Sun Jun 5 16:56:54 CDT 2016


Signed-off-by: Stefan Dösinger <stefandoesinger at gmx.at>

---

Version 2: Don't remove the misbehavior detection as it also filters out
a related bug on WARP on R5G6B5.

They're more broken on Nvidia + Win10 than they used to be on Nvidia +
Win7. I can't find a way to detect the problem without putting the driver
into a broken state.

The annoying part of this is that we lose 4 bit precision tests. X4R4G4B4
doesn't seem to exist everywhere.
---
 dlls/ddraw/tests/ddraw1.c | 21 +++++++++++++--------
 dlls/ddraw/tests/ddraw2.c | 21 +++++++++++++--------
 dlls/ddraw/tests/ddraw4.c | 21 +++++++++++++--------
 dlls/ddraw/tests/ddraw7.c | 21 +++++++++++++--------
 4 files changed, 52 insertions(+), 32 deletions(-)

diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c
index c848593..bfb8ec5 100644
--- a/dlls/ddraw/tests/ddraw1.c
+++ b/dlls/ddraw/tests/ddraw1.c
@@ -7603,14 +7603,16 @@ static void test_colorkey_precision(void)
             }
 
         },
-        {
-            15, 0, 2, 0x0678, "D3DFMT_A4R4G4B4",
-            {
-                sizeof(DDPIXELFORMAT), DDPF_RGB | DDPF_ALPHAPIXELS, 0,
-                {16}, {0x0f00}, {0x00f0}, {0x000f}, {0xf000}
-            }
-
-        },
+        /*
+         * Broken on Nvidia on Windows. Blit returns, but the following Lock call waits forever.
+         * {
+         *     15, 0, 2, 0x0678, "D3DFMT_A4R4G4B4",
+         *     {
+         *         sizeof(DDPIXELFORMAT), DDPF_RGB | DDPF_ALPHAPIXELS, 0,
+         *         {16}, {0x0f00}, {0x00f0}, {0x000f}, {0xf000}
+         *     }
+         * },
+         */
     };
 
     window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW,
@@ -7797,6 +7799,9 @@ static void test_colorkey_precision(void)
                      * so we can detect the bug by looking at the otherwise unused 4th texel. It should
                      * never be masked out by the key.
                      *
+                     * On Windows 10 the problem is worse, Blt just hangs. For this reason the ARGB4444
+                     * test is disabled entirely.
+                     *
                      * Also appears to affect the testbot in some way with R5G6B5. Color keying is
                      * terrible on WARP. */
                     skip("Nvidia A4R4G4B4 color keying blit bug detected, skipping.\n");
diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c
index eefa334..9cca986 100644
--- a/dlls/ddraw/tests/ddraw2.c
+++ b/dlls/ddraw/tests/ddraw2.c
@@ -8761,14 +8761,16 @@ static void test_colorkey_precision(void)
             }
 
         },
-        {
-            15, 0, 2, 0x0678, "D3DFMT_A4R4G4B4",
-            {
-                sizeof(DDPIXELFORMAT), DDPF_RGB | DDPF_ALPHAPIXELS, 0,
-                {16}, {0x0f00}, {0x00f0}, {0x000f}, {0xf000}
-            }
-
-        },
+        /*
+         * Broken on Nvidia on Windows. Blit returns, but the following Lock call waits forever.
+         * {
+         *     15, 0, 2, 0x0678, "D3DFMT_A4R4G4B4",
+         *     {
+         *         sizeof(DDPIXELFORMAT), DDPF_RGB | DDPF_ALPHAPIXELS, 0,
+         *         {16}, {0x0f00}, {0x00f0}, {0x000f}, {0xf000}
+         *     }
+         * },
+         */
     };
 
     window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW,
@@ -8931,6 +8933,9 @@ static void test_colorkey_precision(void)
                      * so we can detect the bug by looking at the otherwise unused 4th texel. It should
                      * never be masked out by the key.
                      *
+                     * On Windows 10 the problem is worse, Blt just hangs. For this reason the ARGB4444
+                     * test is disabled entirely.
+                     *
                      * Also appears to affect the testbot in some way with R5G6B5. Color keying is
                      * terrible on WARP. */
                     skip("Nvidia A4R4G4B4 color keying blit bug detected, skipping.\n");
diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c
index ab5ccab..4ee5de2 100644
--- a/dlls/ddraw/tests/ddraw4.c
+++ b/dlls/ddraw/tests/ddraw4.c
@@ -9904,14 +9904,16 @@ static void test_colorkey_precision(void)
             }
 
         },
-        {
-            15, 0, 2, 0x0678, "D3DFMT_A4R4G4B4",
-            {
-                sizeof(DDPIXELFORMAT), DDPF_RGB | DDPF_ALPHAPIXELS, 0,
-                {16}, {0x0f00}, {0x00f0}, {0x000f}, {0xf000}
-            }
-
-        },
+        /*
+         * Broken on Nvidia on Windows. Blit returns, but the following Lock call waits forever.
+         * {
+         *     15, 0, 2, 0x0678, "D3DFMT_A4R4G4B4",
+         *     {
+         *         sizeof(DDPIXELFORMAT), DDPF_RGB | DDPF_ALPHAPIXELS, 0,
+         *         {16}, {0x0f00}, {0x00f0}, {0x000f}, {0xf000}
+         *     }
+         * },
+         */
     };
 
     window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW,
@@ -10081,6 +10083,9 @@ static void test_colorkey_precision(void)
                      * so we can detect the bug by looking at the otherwise unused 4th texel. It should
                      * never be masked out by the key.
                      *
+                     * On Windows 10 the problem is worse, Blt just hangs. For this reason the ARGB4444
+                     * test is disabled entirely.
+                     *
                      * Also appears to affect the testbot in some way with R5G6B5. Color keying is
                      * terrible on WARP. */
                     skip("Nvidia A4R4G4B4 color keying blit bug detected, skipping.\n");
diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c
index 9a3bfe3..aa7f9f8 100644
--- a/dlls/ddraw/tests/ddraw7.c
+++ b/dlls/ddraw/tests/ddraw7.c
@@ -10236,14 +10236,16 @@ static void test_colorkey_precision(void)
             }
 
         },
-        {
-            15, 0, 2, 0x0678, "D3DFMT_A4R4G4B4",
-            {
-                sizeof(DDPIXELFORMAT), DDPF_RGB | DDPF_ALPHAPIXELS, 0,
-                {16}, {0x0f00}, {0x00f0}, {0x000f}, {0xf000}
-            }
-
-        },
+        /*
+         * Broken on Nvidia on Windows. Blit returns, but the following Lock call waits forever.
+         * {
+         *     15, 0, 2, 0x0678, "D3DFMT_A4R4G4B4",
+         *     {
+         *         sizeof(DDPIXELFORMAT), DDPF_RGB | DDPF_ALPHAPIXELS, 0,
+         *         {16}, {0x0f00}, {0x00f0}, {0x000f}, {0xf000}
+         *     }
+         * },
+         */
     };
 
     window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW,
@@ -10403,6 +10405,9 @@ static void test_colorkey_precision(void)
                      * so we can detect the bug by looking at the otherwise unused 4th texel. It should
                      * never be masked out by the key.
                      *
+                     * On Windows 10 the problem is worse, Blt just hangs. For this reason the ARGB4444
+                     * test is disabled entirely.
+                     *
                      * Also appears to affect the testbot in some way with R5G6B5. Color keying is
                      * terrible on WARP. */
                     skip("Nvidia A4R4G4B4 color keying blit bug detected, skipping.\n");
-- 
2.7.3




More information about the wine-patches mailing list