From: Henri Verbeet Subject: [PATCH 2/5] ddraw/tests: Rewrite offscreen_test(). Message-Id: <1454704263-30101-2-git-send-email-hverbeet@codeweavers.com> Date: Fri, 5 Feb 2016 21:31:00 +0100 Signed-off-by: Henri Verbeet --- dlls/ddraw/tests/ddraw1.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++ dlls/ddraw/tests/ddraw2.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++ dlls/ddraw/tests/ddraw4.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++ dlls/ddraw/tests/ddraw7.c | 78 ++++++++++++++++++++++++++++++++++++++++++++++ dlls/ddraw/tests/overlay.c | 41 ------------------------ 5 files changed, 312 insertions(+), 41 deletions(-) diff --git a/dlls/ddraw/tests/ddraw1.c b/dlls/ddraw/tests/ddraw1.c index fdb9945..6741093 100644 --- a/dlls/ddraw/tests/ddraw1.c +++ b/dlls/ddraw/tests/ddraw1.c @@ -8333,6 +8333,83 @@ done: DestroyWindow(window); } +static void test_offscreen_overlay(void) +{ + IDirectDrawSurface *overlay, *offscreen, *primary; + DDSURFACEDESC surface_desc; + IDirectDraw *ddraw; + HWND window; + HRESULT hr; + HDC dc; + + window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, + 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); + hr = IDirectDraw_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); + ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); + + if (!(overlay = create_overlay(ddraw, 64, 64, MAKEFOURCC('U','Y','V','Y')))) + { + skip("Failed to create a UYVY overlay, skipping test.\n"); + goto done; + } + + memset(&surface_desc, 0, sizeof(surface_desc)); + surface_desc.dwSize = sizeof(surface_desc); + surface_desc.dwFlags = DDSD_CAPS; + surface_desc.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE; + hr = IDirectDraw_CreateSurface(ddraw, &surface_desc, &primary, NULL); + ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr); + + /* On Windows 7, and probably Vista, UpdateOverlay() will return + * DDERR_OUTOFCAPS if the dwm is active. Calling GetDC() on the primary + * surface prevents this by disabling the dwm. */ + hr = IDirectDrawSurface_GetDC(primary, &dc); + ok(SUCCEEDED(hr), "Failed to get DC, hr %#x.\n", hr); + hr = IDirectDrawSurface_ReleaseDC(primary, dc); + ok(SUCCEEDED(hr), "Failed to release DC, hr %#x.\n", hr); + + /* Try to overlay a NULL surface. */ + hr = IDirectDrawSurface_UpdateOverlay(overlay, NULL, NULL, NULL, DDOVER_SHOW, NULL); + ok(hr == DDERR_INVALIDPARAMS, "Got unexpected hr %#x.\n", hr); + hr = IDirectDrawSurface_UpdateOverlay(overlay, NULL, NULL, NULL, DDOVER_HIDE, NULL); + ok(hr == DDERR_INVALIDPARAMS, "Got unexpected hr %#x.\n", hr); + + /* Try to overlay an offscreen surface. */ + memset(&surface_desc, 0, sizeof(surface_desc)); + surface_desc.dwSize = sizeof(surface_desc); + surface_desc.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH | DDSD_PIXELFORMAT; + surface_desc.dwWidth = 64; + surface_desc.dwHeight = 64; + surface_desc.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN; + surface_desc.ddpfPixelFormat.dwSize = sizeof(surface_desc.ddpfPixelFormat); + surface_desc.ddpfPixelFormat.dwFlags = DDPF_RGB; + surface_desc.ddpfPixelFormat.dwFourCC = 0; + U1(surface_desc.ddpfPixelFormat).dwRGBBitCount = 16; + U2(surface_desc.ddpfPixelFormat).dwRBitMask = 0xf800; + U3(surface_desc.ddpfPixelFormat).dwGBitMask = 0x07e0; + U4(surface_desc.ddpfPixelFormat).dwBBitMask = 0x001f; + hr = IDirectDraw_CreateSurface(ddraw, &surface_desc, &offscreen, NULL); + ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr); + + hr = IDirectDrawSurface_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL); + ok(SUCCEEDED(hr), "Failed to update overlay, hr %#x.\n", hr); + + /* Try to overlay the primary with a non-overlay surface. */ + hr = IDirectDrawSurface_UpdateOverlay(offscreen, NULL, primary, NULL, DDOVER_SHOW, NULL); + ok(hr == DDERR_NOTAOVERLAYSURFACE, "Got unexpected hr %#x.\n", hr); + hr = IDirectDrawSurface_UpdateOverlay(offscreen, NULL, primary, NULL, DDOVER_HIDE, NULL); + ok(hr == DDERR_NOTAOVERLAYSURFACE, "Got unexpected hr %#x.\n", hr); + + IDirectDrawSurface_Release(offscreen); + IDirectDrawSurface_Release(primary); + IDirectDrawSurface_Release(overlay); +done: + IDirectDraw_Release(ddraw); + DestroyWindow(window); +} + START_TEST(ddraw1) { IDirectDraw *ddraw; @@ -8407,4 +8484,5 @@ START_TEST(ddraw1) test_shademode(); test_lockrect_invalid(); test_yv12_overlay(); + test_offscreen_overlay(); } diff --git a/dlls/ddraw/tests/ddraw2.c b/dlls/ddraw/tests/ddraw2.c index f0ba90c..fb9f816 100644 --- a/dlls/ddraw/tests/ddraw2.c +++ b/dlls/ddraw/tests/ddraw2.c @@ -9440,6 +9440,83 @@ done: DestroyWindow(window); } +static void test_offscreen_overlay(void) +{ + IDirectDrawSurface *overlay, *offscreen, *primary; + DDSURFACEDESC surface_desc; + IDirectDraw2 *ddraw; + HWND window; + HRESULT hr; + HDC dc; + + window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, + 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); + hr = IDirectDraw2_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); + ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); + + if (!(overlay = create_overlay(ddraw, 64, 64, MAKEFOURCC('U','Y','V','Y')))) + { + skip("Failed to create a UYVY overlay, skipping test.\n"); + goto done; + } + + memset(&surface_desc, 0, sizeof(surface_desc)); + surface_desc.dwSize = sizeof(surface_desc); + surface_desc.dwFlags = DDSD_CAPS; + surface_desc.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE; + hr = IDirectDraw2_CreateSurface(ddraw, &surface_desc, &primary, NULL); + ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr); + + /* On Windows 7, and probably Vista, UpdateOverlay() will return + * DDERR_OUTOFCAPS if the dwm is active. Calling GetDC() on the primary + * surface prevents this by disabling the dwm. */ + hr = IDirectDrawSurface_GetDC(primary, &dc); + ok(SUCCEEDED(hr), "Failed to get DC, hr %#x.\n", hr); + hr = IDirectDrawSurface_ReleaseDC(primary, dc); + ok(SUCCEEDED(hr), "Failed to release DC, hr %#x.\n", hr); + + /* Try to overlay a NULL surface. */ + hr = IDirectDrawSurface_UpdateOverlay(overlay, NULL, NULL, NULL, DDOVER_SHOW, NULL); + ok(hr == DDERR_INVALIDPARAMS, "Got unexpected hr %#x.\n", hr); + hr = IDirectDrawSurface_UpdateOverlay(overlay, NULL, NULL, NULL, DDOVER_HIDE, NULL); + ok(hr == DDERR_INVALIDPARAMS, "Got unexpected hr %#x.\n", hr); + + /* Try to overlay an offscreen surface. */ + memset(&surface_desc, 0, sizeof(surface_desc)); + surface_desc.dwSize = sizeof(surface_desc); + surface_desc.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH | DDSD_PIXELFORMAT; + surface_desc.dwWidth = 64; + surface_desc.dwHeight = 64; + surface_desc.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN; + surface_desc.ddpfPixelFormat.dwSize = sizeof(surface_desc.ddpfPixelFormat); + surface_desc.ddpfPixelFormat.dwFlags = DDPF_RGB; + surface_desc.ddpfPixelFormat.dwFourCC = 0; + U1(surface_desc.ddpfPixelFormat).dwRGBBitCount = 16; + U2(surface_desc.ddpfPixelFormat).dwRBitMask = 0xf800; + U3(surface_desc.ddpfPixelFormat).dwGBitMask = 0x07e0; + U4(surface_desc.ddpfPixelFormat).dwBBitMask = 0x001f; + hr = IDirectDraw2_CreateSurface(ddraw, &surface_desc, &offscreen, NULL); + ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr); + + hr = IDirectDrawSurface_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL); + ok(SUCCEEDED(hr), "Failed to update overlay, hr %#x.\n", hr); + + /* Try to overlay the primary with a non-overlay surface. */ + hr = IDirectDrawSurface_UpdateOverlay(offscreen, NULL, primary, NULL, DDOVER_SHOW, NULL); + ok(hr == DDERR_NOTAOVERLAYSURFACE, "Got unexpected hr %#x.\n", hr); + hr = IDirectDrawSurface_UpdateOverlay(offscreen, NULL, primary, NULL, DDOVER_HIDE, NULL); + ok(hr == DDERR_NOTAOVERLAYSURFACE, "Got unexpected hr %#x.\n", hr); + + IDirectDrawSurface_Release(offscreen); + IDirectDrawSurface_Release(primary); + IDirectDrawSurface_Release(overlay); +done: + IDirectDraw2_Release(ddraw); + DestroyWindow(window); +} + START_TEST(ddraw2) { IDirectDraw2 *ddraw; @@ -9521,4 +9598,5 @@ START_TEST(ddraw2) test_shademode(); test_lockrect_invalid(); test_yv12_overlay(); + test_offscreen_overlay(); } diff --git a/dlls/ddraw/tests/ddraw4.c b/dlls/ddraw/tests/ddraw4.c index 08a1a4c..1be75c2 100644 --- a/dlls/ddraw/tests/ddraw4.c +++ b/dlls/ddraw/tests/ddraw4.c @@ -10615,6 +10615,83 @@ done: DestroyWindow(window); } +static void test_offscreen_overlay(void) +{ + IDirectDrawSurface4 *overlay, *offscreen, *primary; + DDSURFACEDESC2 surface_desc; + IDirectDraw4 *ddraw; + HWND window; + HRESULT hr; + HDC dc; + + window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, + 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); + hr = IDirectDraw4_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); + ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); + + if (!(overlay = create_overlay(ddraw, 64, 64, MAKEFOURCC('U','Y','V','Y')))) + { + skip("Failed to create a UYVY overlay, skipping test.\n"); + goto done; + } + + memset(&surface_desc, 0, sizeof(surface_desc)); + surface_desc.dwSize = sizeof(surface_desc); + surface_desc.dwFlags = DDSD_CAPS; + surface_desc.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE; + hr = IDirectDraw4_CreateSurface(ddraw, &surface_desc, &primary, NULL); + ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr); + + /* On Windows 7, and probably Vista, UpdateOverlay() will return + * DDERR_OUTOFCAPS if the dwm is active. Calling GetDC() on the primary + * surface prevents this by disabling the dwm. */ + hr = IDirectDrawSurface4_GetDC(primary, &dc); + ok(SUCCEEDED(hr), "Failed to get DC, hr %#x.\n", hr); + hr = IDirectDrawSurface4_ReleaseDC(primary, dc); + ok(SUCCEEDED(hr), "Failed to release DC, hr %#x.\n", hr); + + /* Try to overlay a NULL surface. */ + hr = IDirectDrawSurface4_UpdateOverlay(overlay, NULL, NULL, NULL, DDOVER_SHOW, NULL); + ok(hr == DDERR_INVALIDPARAMS, "Got unexpected hr %#x.\n", hr); + hr = IDirectDrawSurface4_UpdateOverlay(overlay, NULL, NULL, NULL, DDOVER_HIDE, NULL); + ok(hr == DDERR_INVALIDPARAMS, "Got unexpected hr %#x.\n", hr); + + /* Try to overlay an offscreen surface. */ + memset(&surface_desc, 0, sizeof(surface_desc)); + surface_desc.dwSize = sizeof(surface_desc); + surface_desc.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH | DDSD_PIXELFORMAT; + surface_desc.dwWidth = 64; + surface_desc.dwHeight = 64; + surface_desc.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN; + U4(surface_desc).ddpfPixelFormat.dwSize = sizeof(U4(surface_desc).ddpfPixelFormat); + U4(surface_desc).ddpfPixelFormat.dwFlags = DDPF_RGB; + U4(surface_desc).ddpfPixelFormat.dwFourCC = 0; + U1(U4(surface_desc).ddpfPixelFormat).dwRGBBitCount = 16; + U2(U4(surface_desc).ddpfPixelFormat).dwRBitMask = 0xf800; + U3(U4(surface_desc).ddpfPixelFormat).dwGBitMask = 0x07e0; + U4(U4(surface_desc).ddpfPixelFormat).dwBBitMask = 0x001f; + hr = IDirectDraw4_CreateSurface(ddraw, &surface_desc, &offscreen, NULL); + ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr); + + hr = IDirectDrawSurface4_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL); + ok(SUCCEEDED(hr), "Failed to update overlay, hr %#x.\n", hr); + + /* Try to overlay the primary with a non-overlay surface. */ + hr = IDirectDrawSurface4_UpdateOverlay(offscreen, NULL, primary, NULL, DDOVER_SHOW, NULL); + ok(hr == DDERR_NOTAOVERLAYSURFACE, "Got unexpected hr %#x.\n", hr); + hr = IDirectDrawSurface4_UpdateOverlay(offscreen, NULL, primary, NULL, DDOVER_HIDE, NULL); + ok(hr == DDERR_NOTAOVERLAYSURFACE, "Got unexpected hr %#x.\n", hr); + + IDirectDrawSurface4_Release(offscreen); + IDirectDrawSurface4_Release(primary); + IDirectDrawSurface4_Release(overlay); +done: + IDirectDraw4_Release(ddraw); + DestroyWindow(window); +} + START_TEST(ddraw4) { IDirectDraw4 *ddraw; @@ -10703,4 +10780,5 @@ START_TEST(ddraw4) test_shademode(); test_lockrect_invalid(); test_yv12_overlay(); + test_offscreen_overlay(); } diff --git a/dlls/ddraw/tests/ddraw7.c b/dlls/ddraw/tests/ddraw7.c index 9b5c698..d6598fe 100644 --- a/dlls/ddraw/tests/ddraw7.c +++ b/dlls/ddraw/tests/ddraw7.c @@ -10894,6 +10894,83 @@ done: DestroyWindow(window); } +static void test_offscreen_overlay(void) +{ + IDirectDrawSurface7 *overlay, *offscreen, *primary; + DDSURFACEDESC2 surface_desc; + IDirectDraw7 *ddraw; + HWND window; + HRESULT hr; + HDC dc; + + window = CreateWindowA("static", "ddraw_test", WS_OVERLAPPEDWINDOW, + 0, 0, 640, 480, 0, 0, 0, 0); + ddraw = create_ddraw(); + ok(!!ddraw, "Failed to create a ddraw object.\n"); + hr = IDirectDraw7_SetCooperativeLevel(ddraw, window, DDSCL_NORMAL); + ok(SUCCEEDED(hr), "Failed to set cooperative level, hr %#x.\n", hr); + + if (!(overlay = create_overlay(ddraw, 64, 64, MAKEFOURCC('U','Y','V','Y')))) + { + skip("Failed to create a UYVY overlay, skipping test.\n"); + goto done; + } + + memset(&surface_desc, 0, sizeof(surface_desc)); + surface_desc.dwSize = sizeof(surface_desc); + surface_desc.dwFlags = DDSD_CAPS; + surface_desc.ddsCaps.dwCaps = DDSCAPS_PRIMARYSURFACE; + hr = IDirectDraw7_CreateSurface(ddraw, &surface_desc, &primary, NULL); + ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr); + + /* On Windows 7, and probably Vista, UpdateOverlay() will return + * DDERR_OUTOFCAPS if the dwm is active. Calling GetDC() on the primary + * surface prevents this by disabling the dwm. */ + hr = IDirectDrawSurface7_GetDC(primary, &dc); + ok(SUCCEEDED(hr), "Failed to get DC, hr %#x.\n", hr); + hr = IDirectDrawSurface7_ReleaseDC(primary, dc); + ok(SUCCEEDED(hr), "Failed to release DC, hr %#x.\n", hr); + + /* Try to overlay a NULL surface. */ + hr = IDirectDrawSurface7_UpdateOverlay(overlay, NULL, NULL, NULL, DDOVER_SHOW, NULL); + ok(hr == DDERR_INVALIDPARAMS, "Got unexpected hr %#x.\n", hr); + hr = IDirectDrawSurface7_UpdateOverlay(overlay, NULL, NULL, NULL, DDOVER_HIDE, NULL); + ok(hr == DDERR_INVALIDPARAMS, "Got unexpected hr %#x.\n", hr); + + /* Try to overlay an offscreen surface. */ + memset(&surface_desc, 0, sizeof(surface_desc)); + surface_desc.dwSize = sizeof(surface_desc); + surface_desc.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH | DDSD_PIXELFORMAT; + surface_desc.dwWidth = 64; + surface_desc.dwHeight = 64; + surface_desc.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN; + U4(surface_desc).ddpfPixelFormat.dwSize = sizeof(U4(surface_desc).ddpfPixelFormat); + U4(surface_desc).ddpfPixelFormat.dwFlags = DDPF_RGB; + U4(surface_desc).ddpfPixelFormat.dwFourCC = 0; + U1(U4(surface_desc).ddpfPixelFormat).dwRGBBitCount = 16; + U2(U4(surface_desc).ddpfPixelFormat).dwRBitMask = 0xf800; + U3(U4(surface_desc).ddpfPixelFormat).dwGBitMask = 0x07e0; + U4(U4(surface_desc).ddpfPixelFormat).dwBBitMask = 0x001f; + hr = IDirectDraw7_CreateSurface(ddraw, &surface_desc, &offscreen, NULL); + ok(SUCCEEDED(hr), "Failed to create surface, hr %#x.\n",hr); + + hr = IDirectDrawSurface7_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL); + ok(SUCCEEDED(hr), "Failed to update overlay, hr %#x.\n", hr); + + /* Try to overlay the primary with a non-overlay surface. */ + hr = IDirectDrawSurface7_UpdateOverlay(offscreen, NULL, primary, NULL, DDOVER_SHOW, NULL); + ok(hr == DDERR_NOTAOVERLAYSURFACE, "Got unexpected hr %#x.\n", hr); + hr = IDirectDrawSurface7_UpdateOverlay(offscreen, NULL, primary, NULL, DDOVER_HIDE, NULL); + ok(hr == DDERR_NOTAOVERLAYSURFACE, "Got unexpected hr %#x.\n", hr); + + IDirectDrawSurface7_Release(offscreen); + IDirectDrawSurface7_Release(primary); + IDirectDrawSurface7_Release(overlay); +done: + IDirectDraw7_Release(ddraw); + DestroyWindow(window); +} + START_TEST(ddraw7) { HMODULE module = GetModuleHandleA("ddraw.dll"); @@ -10993,4 +11070,5 @@ START_TEST(ddraw7) test_shademode(); test_lockrect_invalid(); test_yv12_overlay(); + test_offscreen_overlay(); } diff --git a/dlls/ddraw/tests/overlay.c b/dlls/ddraw/tests/overlay.c index ecea63e..3e7b807 100644 --- a/dlls/ddraw/tests/overlay.c +++ b/dlls/ddraw/tests/overlay.c @@ -151,46 +151,6 @@ static void rectangle_settings(void) { IDirectDrawSurface7_Release(overlay); } -static void offscreen_test(void) { - IDirectDrawSurface7 *overlay = create_overlay(64, 64, MAKEFOURCC('U','Y','V','Y')), *offscreen = NULL; - HRESULT hr; - DDSURFACEDESC2 ddsd; - - /* Try to overlay a NULL surface */ - hr = IDirectDrawSurface7_UpdateOverlay(overlay, NULL, NULL, NULL, DDOVER_SHOW, NULL); - ok(hr == DDERR_INVALIDPARAMS, "IDirectDrawSurface7_UpdateOverlay failed with hr=0x%08x\n", hr); - hr = IDirectDrawSurface7_UpdateOverlay(overlay, NULL, NULL, NULL, DDOVER_HIDE, NULL); - ok(hr == DDERR_INVALIDPARAMS, "IDirectDrawSurface7_UpdateOverlay failed with hr=0x%08x\n", hr); - - /* Try to overlay an offscreen surface */ - memset(&ddsd, 0, sizeof(ddsd)); - ddsd.dwSize = sizeof(ddsd); - ddsd.dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_WIDTH | DDSD_PIXELFORMAT; - ddsd.dwWidth = 64; - ddsd.dwHeight = 64; - U4(ddsd).ddpfPixelFormat.dwSize = sizeof(U4(ddsd).ddpfPixelFormat); - U4(ddsd).ddpfPixelFormat.dwFlags = DDPF_RGB; - U4(ddsd).ddpfPixelFormat.dwFourCC = 0; - U1(U4(ddsd).ddpfPixelFormat).dwRGBBitCount = 16; - U2(U4(ddsd).ddpfPixelFormat).dwRBitMask = 0xF800; - U3(U4(ddsd).ddpfPixelFormat).dwGBitMask = 0x07e0; - U4(U4(ddsd).ddpfPixelFormat).dwBBitMask = 0x001F; - ddsd.ddsCaps.dwCaps = DDSCAPS_OFFSCREENPLAIN; - hr = IDirectDraw7_CreateSurface(ddraw, &ddsd, &offscreen, NULL); - ok(hr == DD_OK, "IDirectDraw7_CreateSurface failed with hr=0x%08x\n", hr); - - hr = IDirectDrawSurface7_UpdateOverlay(overlay, NULL, offscreen, NULL, DDOVER_SHOW, NULL); - ok(hr == DD_OK || broken(hr == E_NOTIMPL), - "IDirectDrawSurface7_UpdateOverlay failed with hr=0x%08x\n", hr); - - /* Try to overlay the primary with a non-overlay surface */ - hr = IDirectDrawSurface7_UpdateOverlay(offscreen, NULL, primary, NULL, DDOVER_SHOW, NULL); - ok(hr == DDERR_NOTAOVERLAYSURFACE, "IDirectDrawSurface7_UpdateOverlay failed with hr=0x%08x\n", hr); - - IDirectDrawSurface7_Release(offscreen); - IDirectDrawSurface7_Release(overlay); -} - START_TEST(overlay) { if(CreateDirectDraw() == FALSE) { @@ -199,7 +159,6 @@ START_TEST(overlay) } rectangle_settings(); - offscreen_test(); if(primary) IDirectDrawSurface7_Release(primary); if(ddraw) IDirectDraw7_Release(ddraw); -- 2.1.4