gallium: Add static get option helpers
authorJakob Bornecrantz <jakob@vmware.com>
Thu, 22 Apr 2010 17:19:39 +0000 (18:19 +0100)
committerJakob Bornecrantz <jakob@vmware.com>
Fri, 23 Apr 2010 20:57:49 +0000 (21:57 +0100)
src/gallium/auxiliary/util/u_debug.h

index b6d0b508e30abb875467d29fe6037bb9e2d08ad0..ec3371a9b2565c181a9d564f2dbd33a6cfa39d32 100644 (file)
@@ -303,6 +303,39 @@ debug_get_flags_option(const char *name,
                        const struct debug_named_value *flags,
                        unsigned long dfault);
 
+#define DEBUG_GET_ONCE_BOOL_OPTION(sufix, name, dfault) \
+static boolean \
+debug_get_option_ ## sufix (void) \
+{ \
+   static boolean first = TRUE; \
+   static boolean value; \
+   if (first && !(first = FALSE)) \
+      value = debug_get_bool_option(name, dfault); \
+   return value; \
+}
+
+#define DEBUG_GET_ONCE_NUM_OPTION(sufix, name, dfault) \
+static long \
+debug_get_option_ ## sufix (void) \
+{ \
+   static boolean first = TRUE; \
+   static long value; \
+   if (first && !(first = FALSE)) \
+      value = debug_get_num_option(name, dfault); \
+   return value; \
+}
+
+#define DEBUG_GET_ONCE_FLAGS_OPTION(sufix, name, flags, dfault) \
+static unsigned long \
+debug_get_option_ ## sufix (void) \
+{ \
+   static boolean first = TRUE; \
+   static unsigned long value; \
+   if (first && !(first = FALSE)) \
+      value = debug_get_flags_option(name, flags, dfault); \
+   return value; \
+}
+
 
 unsigned long
 debug_memory_begin(void);