[PATCH] wined3d: debug_d3dusage: flags can be combined
Erik Inge Bolsø
knan-wine at anduin.net
Sat Jun 23 19:43:50 CDT 2007
---
dlls/wined3d/utils.c | 15 ++++++++-------
1 files changed, 8 insertions(+), 7 deletions(-)
diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c
index 65bff5c..f79c998 100644
--- a/dlls/wined3d/utils.c
+++ b/dlls/wined3d/utils.c
@@ -230,8 +230,10 @@ 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
+ static char buffer[33*11];
+ buffer[0]='\0';
+
+#define WINED3DUSAGE_TO_STR(u) if (usage & WINED3DUSAGE_MASK & u) { if (buffer[0]!=0){strcat ((char *)&buffer,"|");} strcat ((char *)&buffer, #u); }
WINED3DUSAGE_TO_STR(WINED3DUSAGE_RENDERTARGET);
WINED3DUSAGE_TO_STR(WINED3DUSAGE_DEPTHSTENCIL);
WINED3DUSAGE_TO_STR(WINED3DUSAGE_WRITEONLY);
@@ -244,11 +246,10 @@ 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 & WINED3DUSAGE_MASK) == 0) return "none";
+
+ return (const char *) &buffer;
}
const char* debug_d3dusagequery(DWORD usagequery) {
--
1.4.4.2
More information about the wine-patches
mailing list