win32kdxtest does not contain any more test for NtGdiDdQueryDirectDrawObject

So now I start adding new test, that I did manual testing for and reading debugout put for. 
we still missing test for NtGdiDdQueryDirectDrawObject

svn path=/trunk/; revision=28299
This commit is contained in:
Magnus Olsen 2007-08-12 14:11:00 +00:00
parent b694e14566
commit f41e3a0f1a

View file

@ -87,6 +87,8 @@ Test_NtGdiDdQueryDirectDrawObject(PTESTINFO pti)
RTEST(puD3dTextureFormats == NULL);
RTEST(puNumFourCC == NULL);
RTEST(puFourCC == NULL);
RTEST(puNumHeaps == NULL);
RTEST(puvmList == NULL);
RTEST(NtGdiDdQueryDirectDrawObject( hDirectDraw, pHalInfo,
pCallBackFlags, puD3dCallbacks,
@ -103,6 +105,8 @@ Test_NtGdiDdQueryDirectDrawObject(PTESTINFO pti)
RTEST(puD3dTextureFormats == NULL);
RTEST(puNumFourCC == NULL);
RTEST(puFourCC == NULL);
RTEST(puNumHeaps == NULL);
RTEST(puvmList == NULL);
pHalInfo = &HalInfo;
RTEST(NtGdiDdQueryDirectDrawObject( hDirectDraw, pHalInfo,
@ -120,6 +124,8 @@ Test_NtGdiDdQueryDirectDrawObject(PTESTINFO pti)
RTEST(puNumFourCC == NULL);
RTEST(puFourCC == NULL);
ASSERT1(pHalInfo != NULL);
RTEST(puNumHeaps == NULL);
RTEST(puvmList == NULL);
if ((pHalInfo->dwSize != sizeof(DD_HALINFO)) &&
(pHalInfo->dwSize != sizeof(DD_HALINFO_V4)))
@ -128,8 +134,6 @@ Test_NtGdiDdQueryDirectDrawObject(PTESTINFO pti)
ASSERT1(pHalInfo->dwSize != sizeof(DD_HALINFO));
}
if (pHalInfo->dwSize == sizeof(DD_HALINFO))
{
/*the offset, in bytes, to primary surface in the display memory */
@ -222,6 +226,8 @@ Test_NtGdiDdQueryDirectDrawObject(PTESTINFO pti)
RTEST(puNumFourCC == NULL);
RTEST(puFourCC == NULL);
ASSERT1(pHalInfo != NULL);
RTEST(puNumHeaps == NULL);
RTEST(puvmList == NULL);
/* We do not retesting DD_HALINFO, instead we compare it */
RTEST(memcmp(&oldHalInfo, pHalInfo, sizeof(DD_HALINFO)) == 0);
@ -258,6 +264,8 @@ Test_NtGdiDdQueryDirectDrawObject(PTESTINFO pti)
RTEST(puD3dTextureFormats == NULL);
RTEST(puNumFourCC == NULL);
RTEST(puFourCC == NULL);
RTEST(puNumHeaps == NULL);
RTEST(puvmList == NULL);
ASSERT1(pHalInfo != NULL);
/* We do not retesting DD_HALINFO, instead we compare it */
@ -297,6 +305,8 @@ Test_NtGdiDdQueryDirectDrawObject(PTESTINFO pti)
RTEST(puD3dTextureFormats == NULL);
RTEST(puNumFourCC == NULL);
RTEST(puFourCC == NULL);
RTEST(puNumHeaps == NULL);
RTEST(puvmList == NULL);
ASSERT1(pHalInfo != NULL);
/* We do not retesting DD_HALINFO, instead we compare it */
@ -332,12 +342,117 @@ Test_NtGdiDdQueryDirectDrawObject(PTESTINFO pti)
{
RTEST(puD3dCallbacks != NULL);
RTEST(puD3dDriverData != NULL);
RTEST(puD3dBufferCallbacks != NULL);
}
RTEST(puD3dBufferCallbacks == NULL);
RTEST(puD3dTextureFormats == NULL);
RTEST(puNumFourCC == NULL);
RTEST(puFourCC == NULL);
RTEST(puNumHeaps == NULL);
RTEST(puvmList == NULL);
ASSERT1(pHalInfo != NULL);
/* We do not retesting DD_HALINFO, instead we compare it */
RTEST(memcmp(&oldHalInfo, pHalInfo, sizeof(DD_HALINFO)) == 0);
RTEST(pCallBackFlags[0] != 0);
RTEST(pCallBackFlags[1] != 0);
/* NT4 this will fail */
RTEST(pCallBackFlags[2] == 0);
/* Next Start 6 */
pHalInfo = &HalInfo;
pCallBackFlags = CallBackFlags;
puD3dCallbacks = &D3dCallbacks;
puD3dDriverData = &D3dDriverData;
puD3dBufferCallbacks = &D3dBufferCallbacks;
RtlZeroMemory(pHalInfo,sizeof(DD_HALINFO));
RtlZeroMemory(pCallBackFlags,sizeof(DWORD)*3);
RtlZeroMemory(puD3dCallbacks,sizeof(D3DNTHAL_CALLBACKS));
RtlZeroMemory(puD3dDriverData,sizeof(D3DNTHAL_GLOBALDRIVERDATA));
RtlZeroMemory(&D3dBufferCallbacks,sizeof(DD_D3DBUFCALLBACKS));
RTEST(NtGdiDdQueryDirectDrawObject( hDirectDraw, pHalInfo,
pCallBackFlags, puD3dCallbacks,
puD3dDriverData, puD3dBufferCallbacks,
puD3dTextureFormats, puNumHeaps,
puvmList, puNumFourCC,
puFourCC)== FALSE);
RTEST(pHalInfo != NULL);
RTEST(pCallBackFlags != NULL);
if (pHalInfo->ddCaps.ddsCaps.dwCaps & DDSCAPS_3DDEVICE )
{
RTEST(puD3dCallbacks != NULL);
RTEST(puD3dDriverData != NULL);
RTEST(puD3dBufferCallbacks != NULL);
}
RTEST(puD3dTextureFormats == NULL);
RTEST(puNumFourCC == NULL);
RTEST(puFourCC == NULL);
RTEST(puNumHeaps == NULL);
RTEST(puvmList == NULL);
ASSERT1(pHalInfo != NULL);
/* We do not retesting DD_HALINFO, instead we compare it */
RTEST(memcmp(&oldHalInfo, pHalInfo, sizeof(DD_HALINFO)) == 0);
RTEST(pCallBackFlags[0] != 0);
RTEST(pCallBackFlags[1] != 0);
/* NT4 this will fail */
RTEST(pCallBackFlags[2] == 0);
/* Next Start 7 */
pHalInfo = &HalInfo;
pCallBackFlags = CallBackFlags;
puD3dCallbacks = &D3dCallbacks;
puD3dDriverData = &D3dDriverData;
puD3dBufferCallbacks = &D3dBufferCallbacks;
/* It is forbein to return a DDSURFACEDESC2 it should always be DDSURFACEDESC
This is only for detected bad drivers that does not follow the rules, if they
does not follow tthe rules only not everthing being copy then in gdi32.dll
gdi32.dll always assume it is DDSURFACEDESC size
*/
if (puD3dDriverData->dwNumTextureFormats != 0)
{
puD3dTextureFormats = malloc (puD3dDriverData->dwNumTextureFormats * sizeof(DDSURFACEDESC2));
}
RtlZeroMemory(pHalInfo,sizeof(DD_HALINFO));
RtlZeroMemory(pCallBackFlags,sizeof(DWORD)*3);
RtlZeroMemory(puD3dCallbacks,sizeof(D3DNTHAL_CALLBACKS));
RtlZeroMemory(puD3dDriverData,sizeof(D3DNTHAL_GLOBALDRIVERDATA));
RtlZeroMemory(&D3dBufferCallbacks,sizeof(DD_D3DBUFCALLBACKS));
RTEST(NtGdiDdQueryDirectDrawObject( hDirectDraw, pHalInfo,
pCallBackFlags, puD3dCallbacks,
puD3dDriverData, puD3dBufferCallbacks,
puD3dTextureFormats, puNumHeaps,
puvmList, puNumFourCC,
puFourCC)== FALSE);
RTEST(pHalInfo != NULL);
RTEST(pCallBackFlags != NULL);
if (pHalInfo->ddCaps.ddsCaps.dwCaps & DDSCAPS_3DDEVICE )
{
RTEST(puD3dCallbacks != NULL);
RTEST(puD3dDriverData != NULL);
RTEST(puD3dBufferCallbacks != NULL);
if (puD3dDriverData->dwNumTextureFormats != 0)
{
/* FIXME add a better test for texture */
RTEST(puD3dTextureFormats != NULL);
}
}
RTEST(puNumFourCC == NULL);
RTEST(puFourCC == NULL);
RTEST(puNumHeaps == NULL);
RTEST(puvmList == NULL);
ASSERT1(pHalInfo != NULL);
/* We do not retesting DD_HALINFO, instead we compare it */
@ -350,55 +465,17 @@ Test_NtGdiDdQueryDirectDrawObject(PTESTINFO pti)
/* Next Start 6 */
//pHalInfo = &HalInfo;
//pCallBackFlags = CallBackFlags;
//puD3dCallbacks = &D3dCallbacks;
//puD3dDriverData = &D3dDriverData;
//puD3dBufferCallbacks = &D3dBufferCallbacks;
/* Todo
* adding test for
* puD3dCallbacks
* puD3dDriverData
* puD3dBufferCallbacks
* puNumFourCC
* puFourCC
* puNumHeaps
* puvmList
*/
//RtlZeroMemory(pHalInfo,sizeof(DD_HALINFO));
//RtlZeroMemory(pCallBackFlags,sizeof(DWORD)*3);
//RtlZeroMemory(puD3dCallbacks,sizeof(D3DNTHAL_CALLBACKS));
////RtlZeroMemory(puD3dDriverData,sizeof(D3DNTHAL_CALLBACKS));
//RtlZeroMemory(&D3dBufferCallbacks,sizeof(D3DNTHAL_CALLBACKS));
//RTEST(NtGdiDdQueryDirectDrawObject( hDirectDraw, pHalInfo,
// pCallBackFlags, puD3dCallbacks,
// puD3dDriverData, puD3dBufferCallbacks,
// puD3dTextureFormats, puNumHeaps,
// puvmList, puNumFourCC,
// puFourCC)== FALSE);
//RTEST(pHalInfo != NULL);
//RTEST(pCallBackFlags != NULL);
//if (pHalInfo->ddCaps.ddsCaps.dwCaps & DDSCAPS_3DDEVICE )
//{
// RTEST(puD3dCallbacks != NULL);
// RTEST(puD3dDriverData != NULL);
// RTEST(puD3dBufferCallbacks != NULL);
//}
//RTEST(puD3dTextureFormats == NULL);
//RTEST(puNumFourCC == NULL);
//RTEST(puFourCC == NULL);
//ASSERT1(pHalInfo != NULL);
///* We do not retesting DD_HALINFO, instead we compare it */
//RTEST(memcmp(&oldHalInfo, pHalInfo, sizeof(DD_HALINFO)) == 0);
//RTEST(pCallBackFlags[0] != 0);
//RTEST(pCallBackFlags[1] != 0);
///* NT4 this will fail */
//RTEST(pCallBackFlags[2] == 0);
/* FIXME
RTEST(puD3dTextureFormats == NULL);
RTEST(puNumFourCC == NULL);
RTEST(puFourCC == NULL);
*/
/* Cleanup ReactX setup */
DeleteDC(hdc);
Syscall(L"NtGdiDdDeleteDirectDrawObject", 1, &hDirectDraw);