From: Stefan Dösinger Subject: [PATCH 1/5] ddraw/tests: Remove A4R4G4B4 ckey tests (v2). Message-Id: <1465163818-18652-1-git-send-email-stefandoesinger@gmx.at> Date: Sun, 5 Jun 2016 22:56:54 +0100 Signed-off-by: Stefan Dösinger --- 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