Signed-off-by: Jeff Smith whydoubt@gmail.com --- This series cleans up failures seen on the XP test machine using the "VMware SVGA II" driver, which seems to lack various features, such as 3D texture support.
dlls/ddraw/tests/ddraw1.c | 3 +++ dlls/ddraw/tests/ddraw2.c | 3 +++ dlls/ddraw/tests/ddraw4.c | 3 +++ dlls/ddraw/tests/ddraw7.c | 3 +++ 4 files changed, 12 insertions(+)
diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c index b513121fbb..b1045e2854 100644 --- a/dlls/ddraw/tests/ddraw1.c +++ b/dlls/ddraw/tests/ddraw1.c @@ -5488,6 +5488,9 @@ static void test_create_surface_pitch(void) } if ((test_data[i].caps & DDSCAPS_VIDEOMEMORY) && hr == DDERR_NODIRECTDRAWHW) continue; + if (((test_data[i].caps & (DDSCAPS_VIDEOMEMORY | DDSCAPS_TEXTURE)) == + (DDSCAPS_VIDEOMEMORY | DDSCAPS_TEXTURE)) && hr == DDERR_NOTEXTUREHW) + continue; ok(hr == test_data[i].hr, "Test %u: Got unexpected hr %#x, expected %#x.\n", i, hr, test_data[i].hr); if (FAILED(hr)) continue; diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c index 541362c748..5a26d4eec4 100644 --- a/dlls/ddraw/tests/ddraw2.c +++ b/dlls/ddraw/tests/ddraw2.c @@ -6430,6 +6430,9 @@ static void test_create_surface_pitch(void) } if ((test_data[i].caps & DDSCAPS_VIDEOMEMORY) && hr == DDERR_NODIRECTDRAWHW) continue; + if (((test_data[i].caps & (DDSCAPS_VIDEOMEMORY | DDSCAPS_TEXTURE)) == + (DDSCAPS_VIDEOMEMORY | DDSCAPS_TEXTURE)) && hr == DDERR_NOTEXTUREHW) + continue; ok(hr == test_data[i].hr, "Test %u: Got unexpected hr %#x, expected %#x.\n", i, hr, test_data[i].hr); if (FAILED(hr)) continue; diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c index 8cadfae52a..33e3db259a 100644 --- a/dlls/ddraw/tests/ddraw4.c +++ b/dlls/ddraw/tests/ddraw4.c @@ -8266,6 +8266,9 @@ static void test_create_surface_pitch(void) } if ((test_data[i].caps & DDSCAPS_VIDEOMEMORY) && hr == DDERR_NODIRECTDRAWHW) continue; + if (((test_data[i].caps & (DDSCAPS_VIDEOMEMORY | DDSCAPS_TEXTURE)) == + (DDSCAPS_VIDEOMEMORY | DDSCAPS_TEXTURE)) && hr == DDERR_NOTEXTUREHW) + continue; ok(hr == test_data[i].hr, "Test %u: Got unexpected hr %#x, expected %#x.\n", i, hr, test_data[i].hr); if (FAILED(hr)) continue; diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c index f4a709711b..8ad1e859fa 100644 --- a/dlls/ddraw/tests/ddraw7.c +++ b/dlls/ddraw/tests/ddraw7.c @@ -8110,6 +8110,9 @@ static void test_create_surface_pitch(void) } if ((test_data[i].caps & DDSCAPS_VIDEOMEMORY) && hr == DDERR_NODIRECTDRAWHW) continue; + if (((test_data[i].caps & (DDSCAPS_VIDEOMEMORY | DDSCAPS_TEXTURE)) == + (DDSCAPS_VIDEOMEMORY | DDSCAPS_TEXTURE)) && hr == DDERR_NOTEXTUREHW) + continue; if (is_ddraw64 && (test_data[i].caps & DDSCAPS_TEXTURE) && SUCCEEDED(test_data[i].hr)) todo_wine ok(hr == E_NOINTERFACE, "Test %u: Got unexpected hr %#x.\n", i, hr); else
Signed-off-by: Jeff Smith whydoubt@gmail.com --- dlls/ddraw/tests/ddraw1.c | 3 ++- dlls/ddraw/tests/ddraw2.c | 3 ++- dlls/ddraw/tests/ddraw4.c | 3 ++- dlls/ddraw/tests/ddraw7.c | 3 ++- 4 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c index b1045e2854..a03d0881c5 100644 --- a/dlls/ddraw/tests/ddraw1.c +++ b/dlls/ddraw/tests/ddraw1.c @@ -5509,7 +5509,8 @@ static void test_create_surface_pitch(void) "Test %u: Got unexpected pitch %u, expected %u.\n", i, U1(surface_desc).lPitch, test_data[i].pitch_out64); else - ok(U1(surface_desc).lPitch == test_data[i].pitch_out32, + ok(U1(surface_desc).lPitch == test_data[i].pitch_out32 || broken( + U1(surface_desc).lPitch == 0xfc && (test_data[i].caps & DDSCAPS_VIDEOMEMORY)), "Test %u: Got unexpected pitch %u, expected %u.\n", i, U1(surface_desc).lPitch, test_data[i].pitch_out32); } diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c index 5a26d4eec4..688cb532bd 100644 --- a/dlls/ddraw/tests/ddraw2.c +++ b/dlls/ddraw/tests/ddraw2.c @@ -6452,7 +6452,8 @@ static void test_create_surface_pitch(void) "Test %u: Got unexpected pitch %u, expected %u.\n", i, U1(surface_desc).lPitch, test_data[i].pitch_out64); else - ok(U1(surface_desc).lPitch == test_data[i].pitch_out32, + ok(U1(surface_desc).lPitch == test_data[i].pitch_out32 || broken( + U1(surface_desc).lPitch == 0xfc && (test_data[i].caps & DDSCAPS_VIDEOMEMORY)), "Test %u: Got unexpected pitch %u, expected %u.\n", i, U1(surface_desc).lPitch, test_data[i].pitch_out32); } diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c index 33e3db259a..96d8e2a701 100644 --- a/dlls/ddraw/tests/ddraw4.c +++ b/dlls/ddraw/tests/ddraw4.c @@ -8288,7 +8288,8 @@ static void test_create_surface_pitch(void) "Test %u: Got unexpected pitch %u, expected %u.\n", i, U1(surface_desc).lPitch, test_data[i].pitch_out64); else - ok(U1(surface_desc).lPitch == test_data[i].pitch_out32, + ok(U1(surface_desc).lPitch == test_data[i].pitch_out32 || broken( + U1(surface_desc).lPitch == 0xfc && (test_data[i].caps & DDSCAPS_VIDEOMEMORY)), "Test %u: Got unexpected pitch %u, expected %u.\n", i, U1(surface_desc).lPitch, test_data[i].pitch_out32); } diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c index 8ad1e859fa..8044e49a60 100644 --- a/dlls/ddraw/tests/ddraw7.c +++ b/dlls/ddraw/tests/ddraw7.c @@ -8135,7 +8135,8 @@ static void test_create_surface_pitch(void) "Test %u: Got unexpected pitch %u, expected %u.\n", i, U1(surface_desc).lPitch, test_data[i].pitch_out64); else - ok(U1(surface_desc).lPitch == test_data[i].pitch_out32, + ok(U1(surface_desc).lPitch == test_data[i].pitch_out32 || broken( + U1(surface_desc).lPitch == 0xfc && (test_data[i].caps & DDSCAPS_VIDEOMEMORY)), "Test %u: Got unexpected pitch %u, expected %u.\n", i, U1(surface_desc).lPitch, test_data[i].pitch_out32); }
Signed-off-by: Jeff Smith whydoubt@gmail.com --- dlls/ddraw/tests/ddraw1.c | 7 +++++++ dlls/ddraw/tests/ddraw2.c | 7 +++++++ dlls/ddraw/tests/ddraw4.c | 7 +++++++ dlls/ddraw/tests/ddraw7.c | 7 +++++++ 4 files changed, 28 insertions(+)
diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c index a03d0881c5..30069738b0 100644 --- a/dlls/ddraw/tests/ddraw1.c +++ b/dlls/ddraw/tests/ddraw1.c @@ -13018,6 +13018,13 @@ static void test_caps(void) "Got unexpected caps %#x, expected %#x.\n", hel_caps.ddsOldCaps.dwCaps, hel_caps.ddsCaps.dwCaps);
+ if (hal_caps.ddsCaps.dwCaps && (~hal_caps.ddsCaps.dwCaps & caps_always)) + { + skip("Failed to find sufficient hardware caps, skipping test.\n"); + IDirectDraw_Release(ddraw); + return; + } + no3d = !(hal_caps.ddsCaps.dwCaps & DDSCAPS_3DDEVICE); if (hal_caps.ddsCaps.dwCaps) { diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c index 688cb532bd..48c00e2220 100644 --- a/dlls/ddraw/tests/ddraw2.c +++ b/dlls/ddraw/tests/ddraw2.c @@ -13850,6 +13850,13 @@ static void test_caps(void) "Got unexpected caps %#x, expected %#x.\n", hel_caps.ddsOldCaps.dwCaps, hel_caps.ddsCaps.dwCaps);
+ if (hal_caps.ddsCaps.dwCaps && (~hal_caps.ddsCaps.dwCaps & caps_always)) + { + skip("Failed to find sufficient hardware caps, skipping test.\n"); + IDirectDraw_Release(ddraw); + return; + } + no3d = !(hal_caps.ddsCaps.dwCaps & DDSCAPS_3DDEVICE); if (hal_caps.ddsCaps.dwCaps) { diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c index 96d8e2a701..3c2143e5bf 100644 --- a/dlls/ddraw/tests/ddraw4.c +++ b/dlls/ddraw/tests/ddraw4.c @@ -16502,6 +16502,13 @@ static void test_caps(void) "Got unexpected caps %#x, expected %#x.\n", hel_caps.ddsOldCaps.dwCaps, hel_caps.ddsCaps.dwCaps);
+ if (hal_caps.ddsCaps.dwCaps && (~hal_caps.ddsCaps.dwCaps & caps_always)) + { + skip("Failed to find sufficient hardware caps, skipping test.\n"); + IDirectDraw_Release(ddraw); + return; + } + no3d = !(hal_caps.ddsCaps.dwCaps & DDSCAPS_3DDEVICE); if (hal_caps.ddsCaps.dwCaps) { diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c index 8044e49a60..2ca73d2d66 100644 --- a/dlls/ddraw/tests/ddraw7.c +++ b/dlls/ddraw/tests/ddraw7.c @@ -16476,6 +16476,13 @@ static void test_caps(void) "Got unexpected caps %#x, expected %#x.\n", hel_caps.ddsOldCaps.dwCaps, hel_caps.ddsCaps.dwCaps);
+ if (hal_caps.ddsCaps.dwCaps && (~hal_caps.ddsCaps.dwCaps & caps_always)) + { + skip("Failed to find sufficient hardware caps, skipping test.\n"); + IDirectDraw_Release(ddraw); + return; + } + no3d = !(hal_caps.ddsCaps.dwCaps & DDSCAPS_3DDEVICE); if (hal_caps.ddsCaps.dwCaps) {