summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNicolai Hähnle <[email protected]>2015-12-21 16:11:37 -0500
committerNicolai Hähnle <[email protected]>2015-12-29 09:06:57 -0500
commit4711170239ae53c0fb06a4a0343cb3236fd882b7 (patch)
tree4b48c7b3bc03ef238e9b1d62e67049f46908c105
parentda0e216e069bd064199ed04b52de6fb23d810806 (diff)
gallium/util: add DEBUG_GET_ONCE_OPTION
This is analogous to the alreading existing macros for BOOL, NUM, and FLAGS. Reviewed-by: Marek Olšák <[email protected]>
-rw-r--r--src/gallium/auxiliary/util/u_debug.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/gallium/auxiliary/util/u_debug.h b/src/gallium/auxiliary/util/u_debug.h
index 5307072fa3a..34668f844e9 100644
--- a/src/gallium/auxiliary/util/u_debug.h
+++ b/src/gallium/auxiliary/util/u_debug.h
@@ -404,6 +404,19 @@ debug_get_flags_option(const char *name,
const struct debug_named_value *flags,
uint64_t dfault);
+#define DEBUG_GET_ONCE_OPTION(suffix, name, dfault) \
+static const char * \
+debug_get_option_ ## suffix (void) \
+{ \
+ static boolean first = TRUE; \
+ static const char * value; \
+ if (first) { \
+ first = FALSE; \
+ value = debug_get_option(name, dfault); \
+ } \
+ return value; \
+}
+
#define DEBUG_GET_ONCE_BOOL_OPTION(sufix, name, dfault) \
static boolean \
debug_get_option_ ## sufix (void) \