[ros-diffs] [greatlrd] 32943: adding test for param puD3dTextureFormats in NtGdiDdQueryDirectDrawObject test only param puNumHeaps, puvmList, puNumFourCC, puFourCC left to add test for.

greatlrd at svn.reactos.org greatlrd at svn.reactos.org
Sun Apr 13 17:38:23 CEST 2008


Author: greatlrd
Date: Sun Apr 13 10:38:23 2008
New Revision: 32943

URL: http://svn.reactos.org/svn/reactos?rev=32943&view=rev
Log:
adding test for param puD3dTextureFormats in NtGdiDdQueryDirectDrawObject test
only param puNumHeaps, puvmList, puNumFourCC, puFourCC left to add test for. 

Modified:
    trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdQueryDirectDrawObject.c

Modified: trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdQueryDirectDrawObject.c
URL: http://svn.reactos.org/svn/reactos/trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdQueryDirectDrawObject.c?rev=32943&r1=32942&r2=32943&view=diff
==============================================================================
--- trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdQueryDirectDrawObject.c [iso-8859-1] (original)
+++ trunk/rostests/apitests/w32knapi/ntdd/NtGdiDdQueryDirectDrawObject.c [iso-8859-1] Sun Apr 13 10:38:23 2008
@@ -38,6 +38,9 @@
     //DWORD FourCC = 0;
     DEVMODE devmode;
     HDC hdc;
+
+    DWORD dwTextureCounter = 0;
+    DDSURFACEDESC *myDesc = NULL;
 
     /* clear data */
     memset(&vmList,0,sizeof(VIDEOMEMORY));
@@ -529,62 +532,11 @@
         RTEST( puD3dBufferCallbacks->UnlockD3DBuffer == NULL);
     }
 
-    /* Backup D3DHAL_GLOBALDRIVERDATA so we do not need resting it */
+    /* Backup DD_D3DBUFCALLBACKS so we do not need resting it */
     RtlCopyMemory(&oldD3dBufferCallbacks, &D3dBufferCallbacks, sizeof(DD_D3DBUFCALLBACKS));
 
 
-/* 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);
-    ASSERT(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);
-    RTEST(pCallBackFlags[2] == 0);
-
-    /* We do not retesting instead we compare it */
-    RTEST(memcmp(&oldHalInfo, pHalInfo, sizeof(DD_HALINFO)) == 0);
-    RTEST(memcmp(&oldD3dCallbacks, puD3dCallbacks, sizeof(D3DNTHAL_CALLBACKS)) == 0);
-    RTEST(memcmp(&oldD3dDriverData, puD3dDriverData, sizeof(D3DNTHAL_GLOBALDRIVERDATA)) == 0);
-    RTEST(memcmp(&oldD3dBufferCallbacks, puD3dBufferCallbacks, sizeof(DD_D3DBUFCALLBACKS)) == 0);
-
-    
-
-
-/* Next Start 7 */
+/* testing  NtGdiDdQueryDirectDrawObject( hDD, pHalInfo, pCallBackFlags, puD3dCallbacks, puD3dDriverData, puD3dBufferCallbacks, puD3dTextureFormats, NULL, */ 
     pHalInfo = &HalInfo;
     pCallBackFlags = CallBackFlags;
     puD3dCallbacks = &D3dCallbacks;
@@ -613,29 +565,31 @@
                                         puD3dTextureFormats, puNumHeaps,
                                         puvmList, puNumFourCC,
                                         puFourCC)== FALSE);
+
     RTEST(pHalInfo != NULL);
+    ASSERT(pHalInfo != NULL);
+
     RTEST(pCallBackFlags != NULL);
-
-    if (pHalInfo->ddCaps.ddsCaps.dwCaps  & DDSCAPS_3DDEVICE )
-    {
-        RTEST(puD3dCallbacks != NULL);
-        RTEST(puD3dDriverData != NULL);
+    ASSERT(pCallBackFlags != NULL);
+
+    RTEST(puD3dCallbacks != NULL);
+    ASSERT(puD3dCallbacks != NULL);
+
+    RTEST(puD3dDriverData != NULL);
+    ASSERT(puD3dDriverData != NULL);
+
     RTEST(puD3dBufferCallbacks != NULL);
-    if (puD3dDriverData->dwNumTextureFormats != 0)
-    {
-            /* FIXME add a better test for texture */
-            RTEST(puD3dTextureFormats != NULL);
-        }
-    }
-
+    ASSERT(puD3dDriverData != NULL);
+
+    RTEST(puD3dTextureFormats != NULL);
+    ASSERT(puD3dTextureFormats != NULL);
+    
     RTEST(puNumFourCC == NULL);
     RTEST(puFourCC == NULL);
     RTEST(puNumHeaps == NULL);
     RTEST(puvmList == NULL);
-    ASSERT(pHalInfo != NULL);
-
-    /* We do not retesting DD_HALINFO, instead we compare it */
-    RTEST(memcmp(&oldHalInfo, pHalInfo, sizeof(DD_HALINFO)) == 0);
+
+    /* We retesting the flags */    
     RTEST(pCallBackFlags[0] != 0);
     RTEST(pCallBackFlags[1] != 0);
     RTEST(pCallBackFlags[2] == 0);
@@ -646,13 +600,47 @@
     RTEST(memcmp(&oldD3dDriverData, puD3dDriverData, sizeof(D3DNTHAL_GLOBALDRIVERDATA)) == 0);
     RTEST(memcmp(&oldD3dBufferCallbacks, puD3dBufferCallbacks, sizeof(DD_D3DBUFCALLBACKS)) == 0);
 
-
+    /* start test of dwNumTextureFormats */        
+    if (puD3dDriverData->dwNumTextureFormats != 0)
+    {
+        myDesc = puD3dTextureFormats;
+        for (dwTextureCounter=0;dwTextureCounter<puD3dDriverData->dwNumTextureFormats;dwTextureCounter++)
+        {
+            RTEST(myDesc->dwSize == sizeof(DDSURFACEDESC))
+            ASSERT(myDesc->dwSize == sizeof(DDSURFACEDESC));
+
+            RTEST( (myDesc->dwFlags & (~(DDSD_CAPS|DDSD_PIXELFORMAT))) == 0);
+            RTEST(myDesc->dwHeight == 0);
+            RTEST(myDesc->dwWidth == 0);
+            RTEST(myDesc->dwLinearSize == 0);
+            RTEST(myDesc->dwBackBufferCount == 0);
+            RTEST(myDesc->dwZBufferBitDepth == 0);
+            RTEST(myDesc->dwAlphaBitDepth == 0);
+            RTEST(myDesc->dwReserved == 0);
+            RTEST(myDesc->lpSurface == 0);
+            RTEST(myDesc->ddckCKDestOverlay.dwColorSpaceLowValue == 0);
+            RTEST(myDesc->ddckCKDestOverlay.dwColorSpaceHighValue == 0);
+            RTEST(myDesc->ddckCKDestBlt.dwColorSpaceLowValue == 0);
+            RTEST(myDesc->ddckCKDestBlt.dwColorSpaceHighValue == 0);
+            RTEST(myDesc->ddckCKSrcOverlay.dwColorSpaceLowValue == 0);
+            RTEST(myDesc->ddckCKSrcOverlay.dwColorSpaceHighValue == 0);
+            RTEST(myDesc->ddckCKSrcBlt.dwColorSpaceLowValue == 0);
+            RTEST(myDesc->ddckCKSrcBlt.dwColorSpaceHighValue == 0);            
+            RTEST(myDesc->ddpfPixelFormat.dwSize == sizeof(DDPIXELFORMAT));
+            RTEST(myDesc->ddpfPixelFormat.dwFlags != 0);
+            if (myDesc->ddpfPixelFormat.dwFlags & DDPF_FOURCC)
+            {
+                RTEST(myDesc->ddpfPixelFormat.dwFourCC != 0);
+            }
+            RTEST(myDesc->ddsCaps.dwCaps == DDSCAPS_TEXTURE);
+
+            myDesc = (DDSURFACEDESC *) (((DWORD) myDesc) + sizeof(DDSURFACEDESC));
+        }
+    }
+     
 
     /* Todo
-    * adding test for
-    * puD3dCallbacks
-    * puD3dDriverData
-    * puD3dBufferCallbacks
+    * adding test for   
     * puNumFourCC
     * puFourCC
     * puNumHeaps



More information about the Ros-diffs mailing list