Signed-off-by: Alex Henrie alexhenrie24@gmail.com --- dlls/ddraw/tests/ddraw1.c | 9 ++++++++- dlls/ddraw/tests/ddraw2.c | 9 ++++++++- dlls/ddraw/tests/ddraw4.c | 9 ++++++++- dlls/ddraw/tests/ddraw7.c | 9 ++++++++- 4 files changed, 32 insertions(+), 4 deletions(-)
diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c index 4542f3d4df..2797960321 100644 --- a/dlls/ddraw/tests/ddraw1.c +++ b/dlls/ddraw/tests/ddraw1.c @@ -117,6 +117,11 @@ static BOOL ddraw_is_intel(IDirectDraw *ddraw) return ddraw_dev_id(ddraw).dwVendorId == 0x8086; }
+static BOOL ddraw_is_vmware(IDirectDraw *ddraw) +{ + return ddraw_dev_id(ddraw).dwVendorId == 0x15ad; +} + static IDirectDrawSurface *create_overlay(IDirectDraw *ddraw, unsigned int width, unsigned int height, DWORD format) { @@ -8660,7 +8665,9 @@ static void test_offscreen_overlay(void) ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
hr = IDirectDrawSurface_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL); - ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled()), + ok(SUCCEEDED(hr) || + broken(hr == DDERR_OUTOFCAPS && dwm_enabled()) || + broken(hr == E_NOTIMPL && ddraw_is_vmware(ddraw)), "Failed to update overlay, hr %#x.\n", hr);
/* Try to overlay the primary with a non-overlay surface. */ diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c index f0fd0fa182..c6d962a235 100644 --- a/dlls/ddraw/tests/ddraw2.c +++ b/dlls/ddraw/tests/ddraw2.c @@ -119,6 +119,11 @@ static BOOL ddraw_is_intel(IDirectDraw2 *ddraw) return ddraw_dev_id(ddraw).dwVendorId == 0x8086; }
+static BOOL ddraw_is_vmware(IDirectDraw2 *ddraw) +{ + return ddraw_dev_id(ddraw).dwVendorId == 0x15ad; +} + static IDirectDrawSurface *create_overlay(IDirectDraw2 *ddraw, unsigned int width, unsigned int height, DWORD format) { @@ -9794,7 +9799,9 @@ static void test_offscreen_overlay(void) ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
hr = IDirectDrawSurface_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL); - ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled()), + ok(SUCCEEDED(hr) || + broken(hr == DDERR_OUTOFCAPS && dwm_enabled()) || + broken(hr == E_NOTIMPL && ddraw_is_vmware(ddraw)), "Failed to update overlay, hr %#x.\n", hr);
/* Try to overlay the primary with a non-overlay surface. */ diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c index 9574331952..8a049e03a6 100644 --- a/dlls/ddraw/tests/ddraw4.c +++ b/dlls/ddraw/tests/ddraw4.c @@ -125,6 +125,11 @@ static BOOL ddraw_is_intel(IDirectDraw4 *ddraw) return ddraw_dev_id(ddraw).dwVendorId == 0x8086; }
+static BOOL ddraw_is_vmware(IDirectDraw4 *ddraw) +{ + return ddraw_dev_id(ddraw).dwVendorId == 0x15ad; +} + static IDirectDrawSurface4 *create_overlay(IDirectDraw4 *ddraw, unsigned int width, unsigned int height, DWORD format) { @@ -11256,7 +11261,9 @@ static void test_offscreen_overlay(void) ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
hr = IDirectDrawSurface4_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL); - ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled()), + ok(SUCCEEDED(hr) || + broken(hr == DDERR_OUTOFCAPS && dwm_enabled()) || + broken(hr == E_NOTIMPL && ddraw_is_vmware(ddraw)), "Failed to update overlay, hr %#x.\n", hr);
/* Try to overlay the primary with a non-overlay surface. */ diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c index 3693821404..95c5e30900 100644 --- a/dlls/ddraw/tests/ddraw7.c +++ b/dlls/ddraw/tests/ddraw7.c @@ -135,6 +135,11 @@ static BOOL ddraw_is_intel(IDirectDraw7 *ddraw) return ddraw_dev_id(ddraw).dwVendorId == 0x8086; }
+static BOOL ddraw_is_vmware(IDirectDraw7 *ddraw) +{ + return ddraw_dev_id(ddraw).dwVendorId == 0x15ad; +} + static IDirectDrawSurface7 *create_overlay(IDirectDraw7 *ddraw, unsigned int width, unsigned int height, DWORD format) { @@ -11217,7 +11222,9 @@ static void test_offscreen_overlay(void) ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr);
hr = IDirectDrawSurface7_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL); - ok(SUCCEEDED(hr) || broken(hr == DDERR_OUTOFCAPS && dwm_enabled()), + ok(SUCCEEDED(hr) || + broken(hr == DDERR_OUTOFCAPS && dwm_enabled()) || + broken(hr == E_NOTIMPL && ddraw_is_vmware(ddraw)), "Failed to update overlay, hr %#x.\n", hr);
/* Try to overlay the primary with a non-overlay surface. */