Henri Verbeet : wined3d: Fix debug_d3dusage() to handle combinations of flags.

Alexandre Julliard julliard at winehq.org
Mon May 25 10:06:31 CDT 2009


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

Author: Henri Verbeet <hverbeet at codeweavers.com>
Date:   Mon May 25 09:17:22 2009 +0200

wined3d: Fix debug_d3dusage() to handle combinations of flags.

---

 dlls/wined3d/utils.c |   17 +++++++++--------
 1 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index 09f76fd..8a9f7e0 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -911,9 +911,12 @@ const char* debug_d3ddevicetype(WINED3DDEVTYPE devtype) {
   }
 }
 
-const char* debug_d3dusage(DWORD usage) {
-  switch (usage & WINED3DUSAGE_MASK) {
-#define WINED3DUSAGE_TO_STR(u) case u: return #u
+const char *debug_d3dusage(DWORD usage)
+{
+    char buf[284];
+
+    buf[0] = '\0';
+#define WINED3DUSAGE_TO_STR(u) if (usage & u) { strcat(buf, " | "#u); usage &= ~u; }
     WINED3DUSAGE_TO_STR(WINED3DUSAGE_RENDERTARGET);
     WINED3DUSAGE_TO_STR(WINED3DUSAGE_DEPTHSTENCIL);
     WINED3DUSAGE_TO_STR(WINED3DUSAGE_WRITEONLY);
@@ -926,11 +929,9 @@ const char* debug_d3dusage(DWORD usage) {
     WINED3DUSAGE_TO_STR(WINED3DUSAGE_AUTOGENMIPMAP);
     WINED3DUSAGE_TO_STR(WINED3DUSAGE_DMAP);
 #undef WINED3DUSAGE_TO_STR
-  case 0: return "none";
-  default:
-    FIXME("Unrecognized %u Usage!\n", usage);
-    return "unrecognized";
-  }
+    if (usage) FIXME("Unrecognized usage flag(s) %#x\n", usage);
+
+    return buf[0] ? wine_dbg_sprintf("%s", &buf[3]) : "0";
 }
 
 const char* debug_d3dusagequery(DWORD usagequery) {




More information about the wine-cvs mailing list