summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeith Whitwell <[email protected]>2009-01-17 18:45:20 +0000
committerKeith Whitwell <[email protected]>2009-01-17 18:45:20 +0000
commit8f3fac6107460b6d9b011b5c76246468bb16004b (patch)
tree65b1e1d644d9b8d75d428d827f6bcfddbf89dc40
parentbcc45a202496fba9686f953011039c09e36bf3ae (diff)
debug: add noprefix version of debug_dump_enum
-rw-r--r--src/gallium/auxiliary/util/p_debug.c26
-rw-r--r--src/gallium/include/pipe/p_debug.h5
2 files changed, 31 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/util/p_debug.c b/src/gallium/auxiliary/util/p_debug.c
index acdfa211c84..f373f941dd8 100644
--- a/src/gallium/auxiliary/util/p_debug.c
+++ b/src/gallium/auxiliary/util/p_debug.c
@@ -406,6 +406,32 @@ debug_dump_enum(const struct debug_named_value *names,
const char *
+debug_dump_enum_noprefix(const struct debug_named_value *names,
+ const char *prefix,
+ unsigned long value)
+{
+ static char rest[64];
+
+ while(names->name) {
+ if(names->value == value) {
+ const char *name = names->name;
+ while (*name == *prefix) {
+ name++;
+ prefix++;
+ }
+ return name;
+ }
+ ++names;
+ }
+
+
+
+ util_snprintf(rest, sizeof(rest), "0x%08lx", value);
+ return rest;
+}
+
+
+const char *
debug_dump_flags(const struct debug_named_value *names,
unsigned long value)
{
diff --git a/src/gallium/include/pipe/p_debug.h b/src/gallium/include/pipe/p_debug.h
index 3b00fb9aa89..e9c95982dda 100644
--- a/src/gallium/include/pipe/p_debug.h
+++ b/src/gallium/include/pipe/p_debug.h
@@ -261,6 +261,11 @@ const char *
debug_dump_enum(const struct debug_named_value *names,
unsigned long value);
+const char *
+debug_dump_enum_noprefix(const struct debug_named_value *names,
+ const char *prefix,
+ unsigned long value);
+
/**
* Convert binary flags value to a string.