Stefan Dösinger : wined3d: Add a debug function for surface locations.

Alexandre Julliard julliard at winehq.org
Tue Feb 17 08:49:11 CST 2009


Module: wine
Branch: master
Commit: 68c251f327f89f3eff03ee93f0b00dc557f93241
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=68c251f327f89f3eff03ee93f0b00dc557f93241

Author: Stefan Dösinger <stefan at codeweavers.com>
Date:   Mon Feb 16 23:30:36 2009 +0100

wined3d: Add a debug function for surface locations.

---

 dlls/wined3d/surface.c         |    7 ++-----
 dlls/wined3d/utils.c           |   11 +++++++++++
 dlls/wined3d/wined3d_private.h |    1 +
 3 files changed, 14 insertions(+), 5 deletions(-)

diff --git a/dlls/wined3d/surface.c b/dlls/wined3d/surface.c
index 2998bd1..66fb86d 100644
--- a/dlls/wined3d/surface.c
+++ b/dlls/wined3d/surface.c
@@ -4197,8 +4197,7 @@ static void WINAPI IWineD3DSurfaceImpl_ModifyLocation(IWineD3DSurface *iface, DW
     IWineD3DBaseTexture *texture;
     IWineD3DSurfaceImpl *overlay;
 
-    TRACE("(%p)->(%s, %s)\n", iface,
-          flag == SFLAG_INSYSMEM ? "SFLAG_INSYSMEM" : flag == SFLAG_INDRAWABLE ? "SFLAG_INDRAWABLE" : "SFLAG_INTEXTURE",
+    TRACE("(%p)->(%s, %s)\n", iface, debug_surflocation(flag),
           persistent ? "TRUE" : "FALSE");
 
     if (wined3d_settings.offscreen_rendering_mode == ORM_FBO) {
@@ -4481,9 +4480,7 @@ static HRESULT WINAPI IWineD3DSurfaceImpl_LoadLocation(IWineD3DSurface *iface, D
         }
     }
 
-    TRACE("(%p)->(%s, %p)\n", iface,
-          flag == SFLAG_INSYSMEM ? "SFLAG_INSYSMEM" : flag == SFLAG_INDRAWABLE ? "SFLAG_INDRAWABLE" : "SFLAG_INTEXTURE",
-          rect);
+    TRACE("(%p)->(%s, %p)\n", iface, debug_surflocation(flag), rect);
     if(rect) {
         TRACE("Rectangle: (%d,%d)-(%d,%d)\n", rect->left, rect->top, rect->right, rect->bottom);
     }
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index 808b8c7..7937b86 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -1220,6 +1220,17 @@ void dump_color_fixup_desc(struct color_fixup_desc fixup)
     TRACE("\tW: %s%s\n", debug_fixup_channel_source(fixup.w_source), fixup.w_sign_fixup ? ", SIGN_FIXUP" : "");
 }
 
+const char *debug_surflocation(DWORD flag) {
+    char buf[128];
+
+    buf[0] = 0;
+    if(flag & SFLAG_INSYSMEM) strcat(buf, " | SFLAG_INSYSMEM");
+    if(flag & SFLAG_INDRAWABLE) strcat(buf, " | SFLAG_INDRAWABLE");
+    if(flag & SFLAG_INTEXTURE) strcat(buf, " | SFLAG_INTEXTURE");
+    if(flag & SFLAG_INSRGBTEX) strcat(buf, " | SFLAG_INSRGBTEX");
+    return wine_dbg_sprintf("%s", buf[0] ? buf + 3 : "0");
+}
+
 /*****************************************************************************
  * Useful functions mapping GL <-> D3D values
  */
diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h
index c9f9187..d3e6bf1 100644
--- a/dlls/wined3d/wined3d_private.h
+++ b/dlls/wined3d/wined3d_private.h
@@ -2037,6 +2037,7 @@ const char* debug_d3dtop(WINED3DTEXTUREOP d3dtop);
 const char *debug_fixup_channel_source(enum fixup_channel_source source);
 const char *debug_yuv_fixup(enum yuv_fixup yuv_fixup);
 void dump_color_fixup_desc(struct color_fixup_desc fixup);
+const char *debug_surflocation(DWORD flag);
 
 /* Routines for GL <-> D3D values */
 GLenum StencilOp(DWORD op);




More information about the wine-cvs mailing list