util: Rename u_debug_dump.[ch] -> u_dump.[ch].
authorJosé Fonseca <jfonseca@vmware.com>
Sun, 14 Feb 2010 15:20:34 +0000 (15:20 +0000)
committerJosé Fonseca <jfonseca@vmware.com>
Sun, 14 Feb 2010 15:20:34 +0000 (15:20 +0000)
I have more plans for this than mere debugging -- it will be an helper
to provide human readible representations of all gallium state for
the python state tracker.

src/gallium/auxiliary/Makefile
src/gallium/auxiliary/SConscript
src/gallium/auxiliary/util/u_debug_dump.c [deleted file]
src/gallium/auxiliary/util/u_debug_dump.h [deleted file]
src/gallium/auxiliary/util/u_dump.h [new file with mode: 0644]
src/gallium/auxiliary/util/u_dump_defines.c [new file with mode: 0644]

index 507ca6e6aaab6a0659c31ee5b1c3f15987466f1b..3f96da61aec6e7b0f1c9f0c0ab958c6969f9d3cd 100644 (file)
@@ -91,9 +91,9 @@ C_SOURCES = \
        translate/translate.c \
        translate/translate_cache.c \
        util/u_debug.c \
-       util/u_debug_dump.c \
        util/u_debug_symbol.c \
        util/u_debug_stack.c \
+       util/u_dump_defines.c \
        util/u_bitmask.c \
        util/u_blit.c \
        util/u_blitter.c \
index 9709344b54623b0b5747ad83137e5adad8d0ad68..f226f46285f67b9823f1f2212d4a8d9d1dcb65ee 100644 (file)
@@ -131,10 +131,10 @@ source = [
     'util/u_cache.c',
     'util/u_cpu_detect.c',
     'util/u_debug.c',
-    'util/u_debug_dump.c',
     'util/u_debug_memory.c',
     'util/u_debug_stack.c',
     'util/u_debug_symbol.c',
+    'util/u_dump_defines.c',
     'util/u_dl.c',
     'util/u_draw_quad.c',
     'util/u_format.c',
diff --git a/src/gallium/auxiliary/util/u_debug_dump.c b/src/gallium/auxiliary/util/u_debug_dump.c
deleted file mode 100644 (file)
index 61624d0..0000000
+++ /dev/null
@@ -1,267 +0,0 @@
-/**************************************************************************
- * 
- * Copyright 2009 VMware, Inc.
- * All Rights Reserved.
- * 
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- * 
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- * 
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- * 
- **************************************************************************/
-
-
-#include "util/u_memory.h"
-#include "util/u_debug.h" 
-#include "util/u_debug_dump.h" 
-
-
-#define DEBUG_DUMP_INVALID_NAME "<invalid>"
-
-
-#if 0
-static const char *
-debug_dump_strip_prefix(const char *name,
-                        const char *prefix) 
-{
-   const char *stripped;
-   assert(name);
-   assert(prefix);
-   stripped = name;
-   while(*prefix) {
-      if(*stripped != *prefix)
-        return name;
-
-      ++stripped;
-      ++prefix;
-   }
-   return stripped;
-}
-#endif
-
-static const char *
-debug_dump_enum_continuous(unsigned value, 
-                           unsigned num_names,
-                           const char **names)
-{
-   if (value >= num_names)
-      return DEBUG_DUMP_INVALID_NAME;
-   return names[value];
-}
-
-
-#define DEFINE_DEBUG_DUMP_CONTINUOUS(_name) \
-   const char * \
-   debug_dump_##_name(unsigned value, boolean shortened) \
-   { \
-      if(shortened) \
-         return debug_dump_enum_continuous(value, Elements(debug_dump_##_name##_short_names), debug_dump_##_name##_short_names); \
-      else \
-         return debug_dump_enum_continuous(value, Elements(debug_dump_##_name##_names), debug_dump_##_name##_names); \
-   }
-
-
-static const char *
-debug_dump_blend_factor_names[] = {
-   DEBUG_DUMP_INVALID_NAME, /* 0x0 */
-   "PIPE_BLENDFACTOR_ONE",
-   "PIPE_BLENDFACTOR_SRC_COLOR",
-   "PIPE_BLENDFACTOR_SRC_ALPHA",
-   "PIPE_BLENDFACTOR_DST_ALPHA",
-   "PIPE_BLENDFACTOR_DST_COLOR",
-   "PIPE_BLENDFACTOR_SRC_ALPHA_SATURATE",
-   "PIPE_BLENDFACTOR_CONST_COLOR",
-   "PIPE_BLENDFACTOR_CONST_ALPHA",
-   "PIPE_BLENDFACTOR_SRC1_COLOR",
-   "PIPE_BLENDFACTOR_SRC1_ALPHA",
-   DEBUG_DUMP_INVALID_NAME, /* 0x0b */
-   DEBUG_DUMP_INVALID_NAME, /* 0x0c */
-   DEBUG_DUMP_INVALID_NAME, /* 0x0d */
-   DEBUG_DUMP_INVALID_NAME, /* 0x0e */
-   DEBUG_DUMP_INVALID_NAME, /* 0x0f */
-   DEBUG_DUMP_INVALID_NAME, /* 0x10 */
-   "PIPE_BLENDFACTOR_ZERO",
-   "PIPE_BLENDFACTOR_INV_SRC_COLOR",
-   "PIPE_BLENDFACTOR_INV_SRC_ALPHA",
-   "PIPE_BLENDFACTOR_INV_DST_ALPHA",
-   "PIPE_BLENDFACTOR_INV_DST_COLOR",
-   DEBUG_DUMP_INVALID_NAME, /* 0x16 */
-   "PIPE_BLENDFACTOR_INV_CONST_COLOR",
-   "PIPE_BLENDFACTOR_INV_CONST_ALPHA",
-   "PIPE_BLENDFACTOR_INV_SRC1_COLOR",
-   "PIPE_BLENDFACTOR_INV_SRC1_ALPHA"
-};
-
-static const char *
-debug_dump_blend_factor_short_names[] = {
-   DEBUG_DUMP_INVALID_NAME, /* 0x0 */
-   "one",
-   "src_color",
-   "src_alpha",
-   "dst_alpha",
-   "dst_color",
-   "src_alpha_saturate",
-   "const_color",
-   "const_alpha",
-   "src1_color",
-   "src1_alpha",
-   DEBUG_DUMP_INVALID_NAME, /* 0x0b */
-   DEBUG_DUMP_INVALID_NAME, /* 0x0c */
-   DEBUG_DUMP_INVALID_NAME, /* 0x0d */
-   DEBUG_DUMP_INVALID_NAME, /* 0x0e */
-   DEBUG_DUMP_INVALID_NAME, /* 0x0f */
-   DEBUG_DUMP_INVALID_NAME, /* 0x10 */
-   "zero",
-   "inv_src_color",
-   "inv_src_alpha",
-   "inv_dst_alpha",
-   "inv_dst_color",
-   DEBUG_DUMP_INVALID_NAME, /* 0x16 */
-   "inv_const_color",
-   "inv_const_alpha",
-   "inv_src1_color",
-   "inv_src1_alpha"
-};
-
-DEFINE_DEBUG_DUMP_CONTINUOUS(blend_factor)
-
-
-static const char *
-debug_dump_blend_func_names[] = {
-   "PIPE_BLEND_ADD",
-   "PIPE_BLEND_SUBTRACT",
-   "PIPE_BLEND_REVERSE_SUBTRACT",
-   "PIPE_BLEND_MIN",
-   "PIPE_BLEND_MAX"
-};
-
-static const char *
-debug_dump_blend_func_short_names[] = {
-   "add",
-   "sub",
-   "rev_sub",
-   "min",
-   "max"
-};
-
-DEFINE_DEBUG_DUMP_CONTINUOUS(blend_func)
-
-
-static const char *
-debug_dump_func_names[] = {
-   "PIPE_FUNC_NEVER",
-   "PIPE_FUNC_LESS",
-   "PIPE_FUNC_EQUAL",
-   "PIPE_FUNC_LEQUAL",
-   "PIPE_FUNC_GREATER",
-   "PIPE_FUNC_NOTEQUAL",
-   "PIPE_FUNC_GEQUAL",
-   "PIPE_FUNC_ALWAYS"
-};
-
-static const char *
-debug_dump_func_short_names[] = {
-   "never",
-   "less",
-   "equal",
-   "less_equal",
-   "greater",
-   "not_equal",
-   "greater_equal",
-   "always"
-};
-
-DEFINE_DEBUG_DUMP_CONTINUOUS(func)
-
-
-static const char *
-debug_dump_tex_target_names[] = {
-   "PIPE_TEXTURE_1D",
-   "PIPE_TEXTURE_2D",
-   "PIPE_TEXTURE_3D",
-   "PIPE_TEXTURE_CUBE"
-};
-
-static const char *
-debug_dump_tex_target_short_names[] = {
-   "1d",
-   "2d",
-   "3d",
-   "cube"
-};
-
-DEFINE_DEBUG_DUMP_CONTINUOUS(tex_target)
-
-
-static const char *
-debug_dump_tex_wrap_names[] = {
-   "PIPE_TEX_WRAP_REPEAT",
-   "PIPE_TEX_WRAP_CLAMP",
-   "PIPE_TEX_WRAP_CLAMP_TO_EDGE",
-   "PIPE_TEX_WRAP_CLAMP_TO_BORDER",
-   "PIPE_TEX_WRAP_MIRROR_REPEAT",
-   "PIPE_TEX_WRAP_MIRROR_CLAMP",
-   "PIPE_TEX_WRAP_MIRROR_CLAMP_TO_EDGE",
-   "PIPE_TEX_WRAP_MIRROR_CLAMP_TO_BORDER"
-};
-
-static const char *
-debug_dump_tex_wrap_short_names[] = {
-   "repeat",
-   "clamp",
-   "clamp_to_edge",
-   "clamp_to_border",
-   "mirror_repeat",
-   "mirror_clamp",
-   "mirror_clamp_to_edge",
-   "mirror_clamp_to_border"
-};
-
-DEFINE_DEBUG_DUMP_CONTINUOUS(tex_wrap)
-
-
-static const char *
-debug_dump_tex_mipfilter_names[] = {
-   "PIPE_TEX_MIPFILTER_NEAREST",
-   "PIPE_TEX_MIPFILTER_LINEAR",
-   "PIPE_TEX_MIPFILTER_NONE"
-};
-
-static const char *
-debug_dump_tex_mipfilter_short_names[] = {
-   "nearest",
-   "linear",
-   "none"
-};
-
-DEFINE_DEBUG_DUMP_CONTINUOUS(tex_mipfilter)
-
-
-static const char *
-debug_dump_tex_filter_names[] = {
-   "PIPE_TEX_FILTER_NEAREST",
-   "PIPE_TEX_FILTER_LINEAR"
-};
-
-static const char *
-debug_dump_tex_filter_short_names[] = {
-   "nearest",
-   "linear"
-};
-
-DEFINE_DEBUG_DUMP_CONTINUOUS(tex_filter)
diff --git a/src/gallium/auxiliary/util/u_debug_dump.h b/src/gallium/auxiliary/util/u_debug_dump.h
deleted file mode 100644 (file)
index 19b130a..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-/**************************************************************************
- * 
- * Copyright 2009 VMware, Inc.
- * All Rights Reserved.
- * 
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- * 
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- * 
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- * 
- **************************************************************************/
-
-/**
- * @file
- * Dump data in human/machine readable format.
- * 
- * @author Jose Fonseca <jfonseca@vmware.com>
- */
-
-#ifndef U_DEBUG_DUMP_H_
-#define U_DEBUG_DUMP_H_
-
-
-#include "pipe/p_compiler.h"
-#include "pipe/p_state.h"
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-const char *
-debug_dump_blend_factor(unsigned value, boolean shortened);
-
-const char *
-debug_dump_blend_func(unsigned value, boolean shortened);
-
-const char *
-debug_dump_func(unsigned value, boolean shortened);
-
-const char *
-debug_dump_tex_target(unsigned value, boolean shortened);
-
-const char *
-debug_dump_tex_wrap(unsigned value, boolean shortened);
-
-const char *
-debug_dump_tex_mipfilter(unsigned value, boolean shortened);
-
-const char *
-debug_dump_tex_filter(unsigned value, boolean shortened);
-
-
-/* FIXME: Move the other debug_dump_xxx functions out of u_debug.h into here. */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* U_DEBUG_H_ */
diff --git a/src/gallium/auxiliary/util/u_dump.h b/src/gallium/auxiliary/util/u_dump.h
new file mode 100644 (file)
index 0000000..ddccc54
--- /dev/null
@@ -0,0 +1,80 @@
+/**************************************************************************
+ * 
+ * Copyright 2009 VMware, Inc.
+ * All Rights Reserved.
+ * 
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sub license, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ * 
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial portions
+ * of the Software.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+ * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ * 
+ **************************************************************************/
+
+/**
+ * @file
+ * Dump data in human/machine readable format.
+ * 
+ * @author Jose Fonseca <jfonseca@vmware.com>
+ */
+
+#ifndef U_DEBUG_DUMP_H_
+#define U_DEBUG_DUMP_H_
+
+
+#include "pipe/p_compiler.h"
+#include "pipe/p_state.h"
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#define UTIL_DUMP_INVALID_NAME "<invalid>"
+
+
+const char *
+util_dump_blend_factor(unsigned value, boolean shortened);
+
+const char *
+util_dump_blend_func(unsigned value, boolean shortened);
+
+const char *
+util_dump_func(unsigned value, boolean shortened);
+
+const char *
+util_dump_tex_target(unsigned value, boolean shortened);
+
+const char *
+util_dump_tex_wrap(unsigned value, boolean shortened);
+
+const char *
+util_dump_tex_mipfilter(unsigned value, boolean shortened);
+
+const char *
+util_dump_tex_filter(unsigned value, boolean shortened);
+
+
+/* FIXME: Move the other debug_dump_xxx functions out of u_debug.h into here. */
+
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* U_DEBUG_H_ */
diff --git a/src/gallium/auxiliary/util/u_dump_defines.c b/src/gallium/auxiliary/util/u_dump_defines.c
new file mode 100644 (file)
index 0000000..96a2256
--- /dev/null
@@ -0,0 +1,264 @@
+/**************************************************************************
+ * 
+ * Copyright 2009 VMware, Inc.
+ * All Rights Reserved.
+ * 
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sub license, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ * 
+ * The above copyright notice and this permission notice (including the
+ * next paragraph) shall be included in all copies or substantial portions
+ * of the Software.
+ * 
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
+ * IN NO EVENT SHALL VMWARE AND/OR ITS SUPPLIERS BE LIABLE FOR
+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ * 
+ **************************************************************************/
+
+
+#include "util/u_memory.h"
+#include "util/u_debug.h" 
+#include "util/u_dump.h"
+
+
+#if 0
+static const char *
+util_dump_strip_prefix(const char *name,
+                        const char *prefix) 
+{
+   const char *stripped;
+   assert(name);
+   assert(prefix);
+   stripped = name;
+   while(*prefix) {
+      if(*stripped != *prefix)
+        return name;
+
+      ++stripped;
+      ++prefix;
+   }
+   return stripped;
+}
+#endif
+
+static const char *
+util_dump_enum_continuous(unsigned value,
+                           unsigned num_names,
+                           const char **names)
+{
+   if (value >= num_names)
+      return UTIL_DUMP_INVALID_NAME;
+   return names[value];
+}
+
+
+#define DEFINE_UTIL_DUMP_CONTINUOUS(_name) \
+   const char * \
+   util_dump_##_name(unsigned value, boolean shortened) \
+   { \
+      if(shortened) \
+         return util_dump_enum_continuous(value, Elements(util_dump_##_name##_short_names), util_dump_##_name##_short_names); \
+      else \
+         return util_dump_enum_continuous(value, Elements(util_dump_##_name##_names), util_dump_##_name##_names); \
+   }
+
+
+static const char *
+util_dump_blend_factor_names[] = {
+   UTIL_DUMP_INVALID_NAME, /* 0x0 */
+   "PIPE_BLENDFACTOR_ONE",
+   "PIPE_BLENDFACTOR_SRC_COLOR",
+   "PIPE_BLENDFACTOR_SRC_ALPHA",
+   "PIPE_BLENDFACTOR_DST_ALPHA",
+   "PIPE_BLENDFACTOR_DST_COLOR",
+   "PIPE_BLENDFACTOR_SRC_ALPHA_SATURATE",
+   "PIPE_BLENDFACTOR_CONST_COLOR",
+   "PIPE_BLENDFACTOR_CONST_ALPHA",
+   "PIPE_BLENDFACTOR_SRC1_COLOR",
+   "PIPE_BLENDFACTOR_SRC1_ALPHA",
+   UTIL_DUMP_INVALID_NAME, /* 0x0b */
+   UTIL_DUMP_INVALID_NAME, /* 0x0c */
+   UTIL_DUMP_INVALID_NAME, /* 0x0d */
+   UTIL_DUMP_INVALID_NAME, /* 0x0e */
+   UTIL_DUMP_INVALID_NAME, /* 0x0f */
+   UTIL_DUMP_INVALID_NAME, /* 0x10 */
+   "PIPE_BLENDFACTOR_ZERO",
+   "PIPE_BLENDFACTOR_INV_SRC_COLOR",
+   "PIPE_BLENDFACTOR_INV_SRC_ALPHA",
+   "PIPE_BLENDFACTOR_INV_DST_ALPHA",
+   "PIPE_BLENDFACTOR_INV_DST_COLOR",
+   UTIL_DUMP_INVALID_NAME, /* 0x16 */
+   "PIPE_BLENDFACTOR_INV_CONST_COLOR",
+   "PIPE_BLENDFACTOR_INV_CONST_ALPHA",
+   "PIPE_BLENDFACTOR_INV_SRC1_COLOR",
+   "PIPE_BLENDFACTOR_INV_SRC1_ALPHA"
+};
+
+static const char *
+util_dump_blend_factor_short_names[] = {
+   UTIL_DUMP_INVALID_NAME, /* 0x0 */
+   "one",
+   "src_color",
+   "src_alpha",
+   "dst_alpha",
+   "dst_color",
+   "src_alpha_saturate",
+   "const_color",
+   "const_alpha",
+   "src1_color",
+   "src1_alpha",
+   UTIL_DUMP_INVALID_NAME, /* 0x0b */
+   UTIL_DUMP_INVALID_NAME, /* 0x0c */
+   UTIL_DUMP_INVALID_NAME, /* 0x0d */
+   UTIL_DUMP_INVALID_NAME, /* 0x0e */
+   UTIL_DUMP_INVALID_NAME, /* 0x0f */
+   UTIL_DUMP_INVALID_NAME, /* 0x10 */
+   "zero",
+   "inv_src_color",
+   "inv_src_alpha",
+   "inv_dst_alpha",
+   "inv_dst_color",
+   UTIL_DUMP_INVALID_NAME, /* 0x16 */
+   "inv_const_color",
+   "inv_const_alpha",
+   "inv_src1_color",
+   "inv_src1_alpha"
+};
+
+DEFINE_UTIL_DUMP_CONTINUOUS(blend_factor)
+
+
+static const char *
+util_dump_blend_func_names[] = {
+   "PIPE_BLEND_ADD",
+   "PIPE_BLEND_SUBTRACT",
+   "PIPE_BLEND_REVERSE_SUBTRACT",
+   "PIPE_BLEND_MIN",
+   "PIPE_BLEND_MAX"
+};
+
+static const char *
+util_dump_blend_func_short_names[] = {
+   "add",
+   "sub",
+   "rev_sub",
+   "min",
+   "max"
+};
+
+DEFINE_UTIL_DUMP_CONTINUOUS(blend_func)
+
+
+static const char *
+util_dump_func_names[] = {
+   "PIPE_FUNC_NEVER",
+   "PIPE_FUNC_LESS",
+   "PIPE_FUNC_EQUAL",
+   "PIPE_FUNC_LEQUAL",
+   "PIPE_FUNC_GREATER",
+   "PIPE_FUNC_NOTEQUAL",
+   "PIPE_FUNC_GEQUAL",
+   "PIPE_FUNC_ALWAYS"
+};
+
+static const char *
+util_dump_func_short_names[] = {
+   "never",
+   "less",
+   "equal",
+   "less_equal",
+   "greater",
+   "not_equal",
+   "greater_equal",
+   "always"
+};
+
+DEFINE_UTIL_DUMP_CONTINUOUS(func)
+
+
+static const char *
+util_dump_tex_target_names[] = {
+   "PIPE_TEXTURE_1D",
+   "PIPE_TEXTURE_2D",
+   "PIPE_TEXTURE_3D",
+   "PIPE_TEXTURE_CUBE"
+};
+
+static const char *
+util_dump_tex_target_short_names[] = {
+   "1d",
+   "2d",
+   "3d",
+   "cube"
+};
+
+DEFINE_UTIL_DUMP_CONTINUOUS(tex_target)
+
+
+static const char *
+util_dump_tex_wrap_names[] = {
+   "PIPE_TEX_WRAP_REPEAT",
+   "PIPE_TEX_WRAP_CLAMP",
+   "PIPE_TEX_WRAP_CLAMP_TO_EDGE",
+   "PIPE_TEX_WRAP_CLAMP_TO_BORDER",
+   "PIPE_TEX_WRAP_MIRROR_REPEAT",
+   "PIPE_TEX_WRAP_MIRROR_CLAMP",
+   "PIPE_TEX_WRAP_MIRROR_CLAMP_TO_EDGE",
+   "PIPE_TEX_WRAP_MIRROR_CLAMP_TO_BORDER"
+};
+
+static const char *
+util_dump_tex_wrap_short_names[] = {
+   "repeat",
+   "clamp",
+   "clamp_to_edge",
+   "clamp_to_border",
+   "mirror_repeat",
+   "mirror_clamp",
+   "mirror_clamp_to_edge",
+   "mirror_clamp_to_border"
+};
+
+DEFINE_UTIL_DUMP_CONTINUOUS(tex_wrap)
+
+
+static const char *
+util_dump_tex_mipfilter_names[] = {
+   "PIPE_TEX_MIPFILTER_NEAREST",
+   "PIPE_TEX_MIPFILTER_LINEAR",
+   "PIPE_TEX_MIPFILTER_NONE"
+};
+
+static const char *
+util_dump_tex_mipfilter_short_names[] = {
+   "nearest",
+   "linear",
+   "none"
+};
+
+DEFINE_UTIL_DUMP_CONTINUOUS(tex_mipfilter)
+
+
+static const char *
+util_dump_tex_filter_names[] = {
+   "PIPE_TEX_FILTER_NEAREST",
+   "PIPE_TEX_FILTER_LINEAR"
+};
+
+static const char *
+util_dump_tex_filter_short_names[] = {
+   "nearest",
+   "linear"
+};
+
+DEFINE_UTIL_DUMP_CONTINUOUS(tex_filter)