=?UTF-8?Q?Stefan=20D=C3=B6singer=20?=: ddraw: Add tests for DDSD_PIXELFORMAT and DDSD_ZBUFFERBITDEPTH in Lock.
Alexandre Julliard
julliard at winehq.org
Wed Sep 7 12:35:27 CDT 2011
Module: wine
Branch: master
Commit: 4466d6223b3810c3b4341942a1bf2c040558a901
URL: http://source.winehq.org/git/wine.git/?a=commit;h=4466d6223b3810c3b4341942a1bf2c040558a901
Author: Stefan Dösinger <stefan at codeweavers.com>
Date: Sun Aug 28 19:14:11 2011 +0200
ddraw: Add tests for DDSD_PIXELFORMAT and DDSD_ZBUFFERBITDEPTH in Lock.
---
dlls/ddraw/tests/dsurface.c | 39 +++++++++++++++++++++++++++++++++++++++
1 files changed, 39 insertions(+), 0 deletions(-)
diff --git a/dlls/ddraw/tests/dsurface.c b/dlls/ddraw/tests/dsurface.c
index a300d5e..a307579 100644
--- a/dlls/ddraw/tests/dsurface.c
+++ b/dlls/ddraw/tests/dsurface.c
@@ -4184,6 +4184,45 @@ static void test_ddsd(DDSURFACEDESC *ddsd, BOOL expect_pf, BOOL expect_zd, const
ok(!(out.dwFlags & DDSD_ZBUFFERBITDEPTH), "%s surface: Expected DDSD_ZBUFFERBITDEPTH not to be set\n", name);
}
+ reset_ddsd(&out);
+ hr = IDirectDrawSurface_Lock(surface, NULL, &out, 0, NULL);
+ if (SUCCEEDED(hr))
+ {
+ hr = IDirectDrawSurface_Unlock(surface, NULL);
+ ok(SUCCEEDED(hr), "IDirectDrawSurface_GetSurfaceDesc failed, hr %#x.\n", hr);
+
+ /* DDSD_ZBUFFERBITDEPTH is never set on Nvidia, but follows GetSurfaceDesc rules on AMD */
+ if (!expect_zd)
+ {
+ ok(!(out.dwFlags & DDSD_ZBUFFERBITDEPTH),
+ "Lock %s surface: Expected DDSD_ZBUFFERBITDEPTH not to be set\n", name);
+ }
+
+ /* DDSD_PIXELFORMAT follows GetSurfaceDesc rules */
+ if (expect_pf)
+ {
+ ok(out.dwFlags & DDSD_PIXELFORMAT, "%s surface: Expected DDSD_PIXELFORMAT to be set\n", name);
+ }
+ else
+ {
+ ok(!(out.dwFlags & DDSD_PIXELFORMAT),
+ "Lock %s surface: Expected DDSD_PIXELFORMAT not to be set\n", name);
+ }
+ }
+
+ hr = IDirectDrawSurface7_Lock(surface7, NULL, &out2, 0, NULL);
+ ok(SUCCEEDED(hr), "IDirectDrawSurface7_Lock failed, hr %#x.\n", hr);
+ if (SUCCEEDED(hr))
+ {
+ hr = IDirectDrawSurface7_Unlock(surface7, NULL);
+ ok(SUCCEEDED(hr), "IDirectDrawSurface7_Unlock failed, hr %#x.\n", hr);
+ /* DDSD_PIXELFORMAT is always set, DDSD_ZBUFFERBITDEPTH never */
+ ok(out2.dwFlags & DDSD_PIXELFORMAT,
+ "Lock %s surface: Expected DDSD_PIXELFORMAT to be set in DDSURFACEDESC2\n", name);
+ ok(!(out2.dwFlags & DDSD_ZBUFFERBITDEPTH),
+ "Lock %s surface: Did not expect DDSD_ZBUFFERBITDEPTH to be set in DDSURFACEDESC2\n", name);
+ }
+
IDirectDrawSurface7_Release(surface7);
IDirectDrawSurface_Release(surface);
}
More information about the wine-cvs
mailing list