[ros-diffs] [greatlrd] 37770: Add more dump data for ddraw

greatlrd at svn.reactos.org greatlrd at svn.reactos.org
Sun Nov 30 18:14:22 CET 2008


Author: greatlrd
Date: Sun Nov 30 11:14:21 2008
New Revision: 37770

URL: http://svn.reactos.org/svn/reactos?rev=37770&view=rev
Log:
Add more dump data for ddraw

Modified:
    branches/reactx/rostests/apitests/ddrawapi/testlist.c

Modified: branches/reactx/rostests/apitests/ddrawapi/testlist.c
URL: http://svn.reactos.org/svn/reactos/branches/reactx/rostests/apitests/ddrawapi/testlist.c?rev=37770&r1=37769&r2=37770&view=diff
==============================================================================
--- branches/reactx/rostests/apitests/ddrawapi/testlist.c [iso-8859-1] (original)
+++ branches/reactx/rostests/apitests/ddrawapi/testlist.c [iso-8859-1] Sun Nov 30 11:14:21 2008
@@ -27,6 +27,7 @@
 void dump_DDCORECAPS(char *str, LPDDCORECAPS lpDdcorecaps, DWORD offset);
 void dump_VIDMEMINFO(char *str, LPVIDMEMINFO lpVidmeminfo, DWORD offset);
 void dump_DBLNODE(char *str, LPDBLNODE lpDblnode, DWORD offset);
+void dump_DDPIXELFORMAT(char *str, LPDDPIXELFORMAT lpFormat, DWORD offset);
 
 /* dump all data struct when this is trun onm usefull when u debug ddraw.dll */
 #define DUMP_ON 1
@@ -436,9 +437,25 @@
     MY_DUMP_STR(buffer,"DWORD\0",str,"dwNumFourCC\0");
     printf("%08lx %s: 0x%08lx \n", FIELD_OFFSET(DDRAWI_DIRECTDRAW_GBL, dwNumFourCC) + offset, buffer, lpDraw_gbl->dwNumFourCC);
 
-
-    MY_DUMP_STR(buffer,"LPDWORD\0",str,"lpdwFourCC\0");
-    printf("%08lx %s: 0x%p \n", FIELD_OFFSET(DDRAWI_DIRECTDRAW_GBL, lpdwFourCC) + offset, buffer, lpDraw_gbl->lpdwFourCC);
+    if (lpDraw_gbl->dwNumFourCC != 0)
+    {
+        int c;
+        char bbbuffer[2048];
+        long long x;
+
+        for (c=0;c<lpDraw_gbl->dwNumFourCC;c++)
+        {
+            x = (long long)lpDraw_gbl->lpdwFourCC[c];
+            sprintf(bbbuffer,"lpdwFourCC[%02x]",c);
+            MY_DUMP_STR(buffer,"LPDWORD\0",str,bbbuffer);
+            printf("%08lx %s: 0x%08lx : %s\n", FIELD_OFFSET(DDRAWI_DIRECTDRAW_GBL, lpdwFourCC) + offset, buffer, lpDraw_gbl->lpdwFourCC[c], (char*)&x);
+        }
+    }
+    else
+    {
+        MY_DUMP_STR(buffer,"LPDWORD\0",str,"lpdwFourCC\0");
+        printf("%08lx %s: 0x%p \n", FIELD_OFFSET(DDRAWI_DIRECTDRAW_GBL, lpdwFourCC) + offset, buffer, lpDraw_gbl->lpdwFourCC);
+    }
 
     MY_DUMP_STR(buffer,"DWORD\0",str,"dwNumModes\0");
     printf("%08lx %s: 0x%08lx \n", FIELD_OFFSET(DDRAWI_DIRECTDRAW_GBL, dwNumModes) + offset, buffer, lpDraw_gbl->dwNumModes);
@@ -738,7 +755,9 @@
 
     MY_DUMP_STR(buffer,"LONG\0",str,"lDisplayPitch\0");
     printf("%08lx %s: 0x%08lx\n", FIELD_OFFSET(VIDMEMINFO, lDisplayPitch)+offset, buffer, lpVidmeminfo->lDisplayPitch);
-    //printf("%08lx DDPIXELFORMAT                       %sddpfDisplay          : 0x%08lx\n", FIELD_OFFSET(VIDMEMINFO, ddpfDisplay)+offset, str, lpVidmeminfo->ddpfDisplay);
+
+    sprintf(buffer,"%sddpfDisplay.",str);
+    dump_DDPIXELFORMAT(buffer, &lpVidmeminfo->ddpfDisplay, FIELD_OFFSET(VIDMEMINFO, ddpfDisplay) + offset );
 
     MY_DUMP_STR(buffer,"DWORD\0",str,"dwOffscreenAlign\0");
     printf("%08lx %s: 0x%08lx\n", FIELD_OFFSET(VIDMEMINFO, dwOffscreenAlign)+offset, buffer, lpVidmeminfo->dwOffscreenAlign);
@@ -867,8 +886,37 @@
     printf("%08lx %s: 0x%08lx\n", FIELD_OFFSET(DDRAWI_DDRAWSURFACE_LCL, lOverlayY)+offset, buffer, lpDdrawSurface->lOverlayY);
 }
 
-
-
+void dump_DDPIXELFORMAT(char *str, LPDDPIXELFORMAT lpFormat, DWORD offset)
+{
+
+    char buffer[2048];
+    if (lpFormat == NULL)
+        return ;
+
+    MY_DUMP_STR(buffer,"DWORD\0",str,"dwSize\0");
+    printf("%08lx %s: 0x%08lx\n", FIELD_OFFSET(DDPIXELFORMAT, dwSize)+offset, buffer, lpFormat->dwSize);
+
+    MY_DUMP_STR(buffer,"DWORD\0",str,"dwFlags\0");
+    printf("%08lx %s: 0x%08lx\n", FIELD_OFFSET(DDPIXELFORMAT, dwFlags)+offset, buffer, lpFormat->dwFlags);
+
+    MY_DUMP_STR(buffer,"DWORD\0",str,"dwFourCC\0");
+    printf("%08lx %s: 0x%08lx\n", FIELD_OFFSET(DDPIXELFORMAT, dwFourCC)+offset, buffer, lpFormat->dwFourCC);
+
+    MY_DUMP_STR(buffer,"DWORD\0",str,"dwRGBBitCount\0");
+    printf("%08lx %s: 0x%08lx\n", FIELD_OFFSET(DDPIXELFORMAT, dwRGBBitCount)+offset, buffer, lpFormat->dwRGBBitCount);
+
+    MY_DUMP_STR(buffer,"DWORD\0",str,"dwRBitMask\0");
+    printf("%08lx %s: 0x%08lx\n", FIELD_OFFSET(DDPIXELFORMAT, dwRBitMask)+offset, buffer, lpFormat->dwRBitMask);
+
+    MY_DUMP_STR(buffer,"DWORD\0",str,"dwGBitMask\0");
+    printf("%08lx %s: 0x%08lx\n", FIELD_OFFSET(DDPIXELFORMAT, dwGBitMask)+offset, buffer, lpFormat->dwGBitMask);
+
+    MY_DUMP_STR(buffer,"DWORD\0",str,"dwBBitMask\0");
+    printf("%08lx %s: 0x%08lx\n", FIELD_OFFSET(DDPIXELFORMAT, dwBBitMask)+offset, buffer, lpFormat->dwBBitMask);
+
+    MY_DUMP_STR(buffer,"DWORD\0",str,"dwRGBAlphaBitMask\0");
+    printf("%08lx %s: 0x%08lx\n", FIELD_OFFSET(DDPIXELFORMAT, dwRGBAlphaBitMask)+offset, buffer, lpFormat->dwRGBAlphaBitMask);
+}
 
 
 #endif



More information about the Ros-diffs mailing list