--- /dev/null
+
+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;
+}
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;
DDDEVICEIDENTIFIER2 pDDDI;
//OLECHAR GuidStr[100];
-
-
/* Preparations */
if (DirectDrawCreateEx(NULL, (VOID**)&DirectDraw, IID_IDirectDraw7, NULL) != DD_OK)
{
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 );
LPDIRECTDRAW7 DirectDraw;
} ENUMCONTEXT;
+BOOL Test_GetMonitorFrequency (INT* passed, INT* failed);
+
HRESULT CALLBACK DummyEnumDisplayModes( LPDDSURFACEDESC2 pDDSD, ENUMCONTEXT* Context )
{
return DDENUMRET_OK;
/* 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 );
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 );
DirectDraw->Release();
-
return TRUE;
}
-
BOOL Test_GetMonitorFrequency (INT* passed, INT* failed)
{
LPDIRECTDRAW7 DirectDraw;
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;
-}
+}
\ No newline at end of file
/* 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"
{
{ "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 },