Some clean up

svn path=/trunk/; revision=27118
This commit is contained in:
Maarten Bosma 2007-06-10 14:43:48 +00:00
parent b7a21ac467
commit 65c877d142
4 changed files with 281 additions and 289 deletions

View file

@ -0,0 +1,269 @@
BOOL Test_GetAvailableVidMem (INT* passed, INT* failed)
{
LPDIRECTDRAW7 DirectDraw;
/* Preparations */
if (DirectDrawCreateEx(NULL, (VOID**)&DirectDraw, IID_IDirectDraw7, NULL) != DD_OK)
{
printf("ERROR: Failed to set up ddraw\n");
return FALSE;
}
/* Here we go */
DWORD Total, Free;
DDSCAPS2 Caps = { 0 };
TEST (DirectDraw->GetAvailableVidMem(&Caps, NULL, NULL) == DDERR_INVALIDPARAMS);
TEST (DirectDraw->GetAvailableVidMem(NULL, &Total, &Free) == DDERR_INVALIDPARAMS);
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
/* testing caps */
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_RESERVED1;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_ALPHA;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_BACKBUFFER;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_COMPLEX;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_FLIP;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_FRONTBUFFER;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_OVERLAY;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_PALETTE;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_PRIMARYSURFACE;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_RESERVED3;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_SYSTEMMEMORY;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_TEXTURE;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_3DDEVICE;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_VIDEOMEMORY;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_VISIBLE;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_WRITEONLY;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_ZBUFFER;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_OWNDC;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_LIVEVIDEO;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_HWCODEC;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_MODEX;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_MIPMAP;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_RESERVED2;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_ALLOCONLOAD;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_VIDEOPORT;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_LOCALVIDMEM;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_NONLOCALVIDMEM;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = 0x01;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDCAPS);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_RESERVED4;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_HINTDYNAMIC;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_HINTSTATIC;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_TEXTUREMANAGE;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_RESERVED1;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_RESERVED2;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_OPAQUE;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_HINTANTIALIASING;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_CUBEMAP;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_CUBEMAP_POSITIVEX;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_CUBEMAP_NEGATIVEX;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_CUBEMAP_POSITIVEY;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_CUBEMAP_NEGATIVEY;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_CUBEMAP_POSITIVEZ;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_CUBEMAP_NEGATIVEZ;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_MIPMAPSUBLEVEL;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_D3DTEXTUREMANAGE;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_DONOTPERSIST;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_STEREOSURFACELEFT;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_VOLUME;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_NOTUSERLOCKABLE;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_POINTS;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_RTPATCHES;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_NPATCHES;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_RESERVED3;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_DISCARDBACKBUFFER;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_ENABLEALPHACHANNEL;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_EXTENDEDFORMATPRIMARY;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_ADDITIONALPRIMARY;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps3 = ~(DDSCAPS3_MULTISAMPLE_QUALITY_MASK | DDSCAPS3_MULTISAMPLE_MASK | DDSCAPS3_RESERVED1 | DDSCAPS3_RESERVED2 | DDSCAPS3_LIGHTWEIGHTMIPMAP | DDSCAPS3_AUTOGENMIPMAP | DDSCAPS3_DMAP);
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDCAPS);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps3 = (DDSCAPS3_MULTISAMPLE_QUALITY_MASK | DDSCAPS3_MULTISAMPLE_MASK | DDSCAPS3_RESERVED1 | DDSCAPS3_RESERVED2 | DDSCAPS3_LIGHTWEIGHTMIPMAP | DDSCAPS3_AUTOGENMIPMAP | DDSCAPS3_DMAP);
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps4 = 1;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDCAPS );
DirectDraw->Release();
return TRUE;
}

View file

@ -79,276 +79,6 @@ BOOL Test_SetCooperativeLevel (INT* passed, INT* failed)
return TRUE;
}
BOOL Test_GetAvailableVidMem (INT* passed, INT* failed)
{
LPDIRECTDRAW7 DirectDraw;
/* Preparations */
if (DirectDrawCreateEx(NULL, (VOID**)&DirectDraw, IID_IDirectDraw7, NULL) != DD_OK)
{
printf("ERROR: Failed to set up ddraw\n");
return FALSE;
}
/* Here we go */
DWORD Total, Free;
DDSCAPS2 Caps = { 0 };
TEST (DirectDraw->GetAvailableVidMem(&Caps, NULL, NULL) == DDERR_INVALIDPARAMS);
TEST (DirectDraw->GetAvailableVidMem(NULL, &Total, &Free) == DDERR_INVALIDPARAMS);
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
/* testing caps */
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_RESERVED1;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_ALPHA;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_BACKBUFFER;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_COMPLEX;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_FLIP;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_FRONTBUFFER;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_OFFSCREENPLAIN;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_OVERLAY;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_PALETTE;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_PRIMARYSURFACE;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_RESERVED3;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_SYSTEMMEMORY;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_TEXTURE;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_3DDEVICE;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_VIDEOMEMORY;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_VISIBLE;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_WRITEONLY;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_ZBUFFER;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_OWNDC;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDPARAMS );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_LIVEVIDEO;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_HWCODEC;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_MODEX;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_MIPMAP;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_RESERVED2;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_ALLOCONLOAD;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_VIDEOPORT;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK );
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_LOCALVIDMEM;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps = DDSCAPS_NONLOCALVIDMEM;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = 0x01;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDCAPS);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_RESERVED4;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_HINTDYNAMIC;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_HINTSTATIC;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_TEXTUREMANAGE;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_RESERVED1;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_RESERVED2;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_OPAQUE;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_HINTANTIALIASING;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_CUBEMAP;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_CUBEMAP_POSITIVEX;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_CUBEMAP_NEGATIVEX;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_CUBEMAP_POSITIVEY;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_CUBEMAP_NEGATIVEY;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_CUBEMAP_POSITIVEZ;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_CUBEMAP_NEGATIVEZ;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_MIPMAPSUBLEVEL;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_D3DTEXTUREMANAGE;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_DONOTPERSIST;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_STEREOSURFACELEFT;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_VOLUME;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_NOTUSERLOCKABLE;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_POINTS;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_RTPATCHES;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_NPATCHES;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_RESERVED3;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_DISCARDBACKBUFFER;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_ENABLEALPHACHANNEL;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_EXTENDEDFORMATPRIMARY;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps2 = DDSCAPS2_ADDITIONALPRIMARY;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps3 = ~(DDSCAPS3_MULTISAMPLE_QUALITY_MASK | DDSCAPS3_MULTISAMPLE_MASK | DDSCAPS3_RESERVED1 | DDSCAPS3_RESERVED2 | DDSCAPS3_LIGHTWEIGHTMIPMAP | DDSCAPS3_AUTOGENMIPMAP | DDSCAPS3_DMAP);
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDCAPS);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps3 = (DDSCAPS3_MULTISAMPLE_QUALITY_MASK | DDSCAPS3_MULTISAMPLE_MASK | DDSCAPS3_RESERVED1 | DDSCAPS3_RESERVED2 | DDSCAPS3_LIGHTWEIGHTMIPMAP | DDSCAPS3_AUTOGENMIPMAP | DDSCAPS3_DMAP);
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DD_OK);
memset(&Caps,0,sizeof(DDSCAPS2));
Caps.dwCaps4 = 1;
TEST (DirectDraw->GetAvailableVidMem(&Caps, &Total, &Free) == DDERR_INVALIDCAPS );
DirectDraw->Release();
return TRUE;
}
BOOL Test_GetFourCCCodes (INT* passed, INT* failed)
{
LPDIRECTDRAW7 DirectDraw;
@ -381,8 +111,6 @@ BOOL Test_GetDeviceIdentifier (INT* passed, INT* failed)
DDDEVICEIDENTIFIER2 pDDDI;
//OLECHAR GuidStr[100];
/* Preparations */
if (DirectDrawCreateEx(NULL, (VOID**)&DirectDraw, IID_IDirectDraw7, NULL) != DD_OK)
{
@ -394,7 +122,6 @@ BOOL Test_GetDeviceIdentifier (INT* passed, INT* failed)
TEST ( DirectDraw->GetDeviceIdentifier(NULL, ~DDGDI_GETHOSTIDENTIFIER) == DDERR_INVALIDPARAMS );
TEST ( DirectDraw->GetDeviceIdentifier(NULL, DDGDI_GETHOSTIDENTIFIER) == DDERR_INVALIDPARAMS );
memset(&pDDDI,0,sizeof(DDDEVICEIDENTIFIER2));
TEST ( DirectDraw->GetDeviceIdentifier(&pDDDI, 0) == DD_OK );

View file

@ -5,6 +5,8 @@ typedef struct
LPDIRECTDRAW7 DirectDraw;
} ENUMCONTEXT;
BOOL Test_GetMonitorFrequency (INT* passed, INT* failed);
HRESULT CALLBACK DummyEnumDisplayModes( LPDDSURFACEDESC2 pDDSD, ENUMCONTEXT* Context )
{
return DDENUMRET_OK;
@ -53,6 +55,8 @@ BOOL Test_DisplayModes (INT* passed, INT* failed)
/* The Test */
Test_GetMonitorFrequency(passed, failed);
/* First try with some generic display modes */
TEST ( DirectDraw->SetDisplayMode (1586, 895, 0, 0, 0) == DDERR_UNSUPPORTED );
TEST ( DirectDraw->SetDisplayMode (0, 0, 0, 0, 0x123) == DDERR_INVALIDPARAMS );
@ -62,7 +66,6 @@ BOOL Test_DisplayModes (INT* passed, INT* failed)
TEST ( DirectDraw->SetDisplayMode (800, 600, 0, 0, 0) == DD_OK );
TEST ( DirectDraw->SetDisplayMode (0, 0, 16, 0, 0) == DD_OK );
TEST ( DirectDraw->GetMonitorFrequency (NULL) == DDERR_INVALIDPARAMS );
TEST ( DirectDraw->GetDisplayMode (NULL) == DDERR_INVALIDPARAMS );
DDSURFACEDESC2 DisplayMode = {0};
TEST ( DirectDraw->GetDisplayMode (&DisplayMode) == DDERR_INVALIDPARAMS );
@ -78,11 +81,9 @@ BOOL Test_DisplayModes (INT* passed, INT* failed)
DirectDraw->Release();
return TRUE;
}
BOOL Test_GetMonitorFrequency (INT* passed, INT* failed)
{
LPDIRECTDRAW7 DirectDraw;
@ -103,29 +104,24 @@ BOOL Test_GetMonitorFrequency (INT* passed, INT* failed)
TEST (DirectDraw->GetMonitorFrequency((PDWORD)0xdeadbeef) == DDERR_INVALIDPARAMS);
TEST (DirectDraw->GetMonitorFrequency(NULL) == DDERR_INVALIDPARAMS);
/* This test depns on which graphice card you have */
// result depends on our graphices card
retVal = DirectDraw->GetMonitorFrequency((PDWORD)&lpFreq);
TEST ( retVal == DD_OK || retVal == DDERR_UNSUPPORTED);
if ( retVal == DDERR_UNSUPPORTED)
{
retVal = DD_OK;
}
TEST ( retVal == DD_OK);
/* Test by hacking interal structures */
/* hacking testing */
/* shall return DDERR_UNSUPPORTED */
// should return DDERR_UNSUPPORTED
This->lpLcl->lpGbl->dwMonitorFrequency = 0;
TEST (DirectDraw->GetMonitorFrequency(&temp) == DDERR_UNSUPPORTED);
/* shall return DD_OK */
// should return DD_OK
This->lpLcl->lpGbl->dwMonitorFrequency = 85;
TEST (DirectDraw->GetMonitorFrequency(&temp) == DD_OK);
/* restore */
/* Restore */
This->lpLcl->lpGbl->dwMonitorFrequency = lpFreq;
DirectDraw->Release();
return TRUE;
}
}

View file

@ -7,6 +7,7 @@
/* include the tests */
#include "DDraw/create.cpp"
#include "DDraw/display_modes.cpp"
#include "DDraw/available_mem.cpp"
#include "Surface/create.cpp"
#include "Surface/private_data.cpp"
#include "Surface/misc.cpp"
@ -16,7 +17,6 @@ TEST TestList[] =
{
{ "IDirectDraw: COM Stuff", Test_CreateDDraw },
{ "IDirectDraw: GetDeviceIdentifier", Test_GetDeviceIdentifier },
{ "IDirectDraw: Display Frequency", Test_GetMonitorFrequency },
{ "IDirectDraw: Display Modes", Test_DisplayModes },
{ "IDirectDraw: Available Video Memory", Test_GetAvailableVidMem },
{ "IDirectDraw: GetFourCC", Test_GetFourCCCodes },