From b75725109cd08a2ab3f8cd705e62608c0485a2b5 Mon Sep 17 00:00:00 2001 From: David Hedberg Date: Sun, 2 Sep 2007 19:10:00 +0200 Subject: ddraw/tests: check case where DDSD_MIPMAPCOUNT is set and dwMipMapCount is 0. --- dlls/ddraw/tests/dsurface.c | 19 +++++++++++++++++++ 1 files changed, 19 insertions(+), 0 deletions(-) diff --git a/dlls/ddraw/tests/dsurface.c b/dlls/ddraw/tests/dsurface.c index 6c223f4..585dc7d 100644 --- a/dlls/ddraw/tests/dsurface.c +++ b/dlls/ddraw/tests/dsurface.c @@ -183,6 +183,25 @@ static void MipMapCreationTest(void) /* Destroy the surface. */ IDirectDrawSurface_Release(lpDDSMipMapTest); + + + /* Fifth mipmap creation test: try to create a surface with + DDSCAPS_COMPLEX, DDSCAPS_MIPMAP, DDSD_MIPMAPCOUNT, + where dwMipMapCount = 0. This should fail. */ + + ddsd.dwSize = sizeof(ddsd); + ddsd.dwFlags = DDSD_CAPS | DDSD_WIDTH | DDSD_HEIGHT | DDSD_MIPMAPCOUNT; + ddsd.ddsCaps.dwCaps = DDSCAPS_TEXTURE | DDSCAPS_COMPLEX | DDSCAPS_MIPMAP; + U2(ddsd).dwMipMapCount = 0; + ddsd.dwWidth = 128; + ddsd.dwHeight = 32; + rc = IDirectDraw_CreateSurface(lpDD, &ddsd, &lpDDSMipMapTest, NULL); + ok(rc==DDERR_INVALIDPARAMS,"CreateSurface returned: %x\n",rc); + + /* Destroy the surface. */ + if( rc == DD_OK ) + IDirectDrawSurface_Release(lpDDSMipMapTest); + } static void SrcColorKey32BlitTest(void) -- 1.5.3.rc7