aboutsummaryrefslogtreecommitdiff
path: root/mesalib/src/gallium/auxiliary/util/u_dump_defines.c
diff options
context:
space:
mode:
authormarha <marha@users.sourceforge.net>2013-02-27 10:45:05 +0100
committermarha <marha@users.sourceforge.net>2013-02-27 10:45:05 +0100
commitc74ef795c7282681616decc36a9a81cd1b1b6ec7 (patch)
treebeb5f13ba78bd7920eae918b6aa5db5bac83f0da /mesalib/src/gallium/auxiliary/util/u_dump_defines.c
parentf51268259621a21d14e40b8a41c5803a5c2ce706 (diff)
downloadvcxsrv-c74ef795c7282681616decc36a9a81cd1b1b6ec7.tar.gz
vcxsrv-c74ef795c7282681616decc36a9a81cd1b1b6ec7.tar.bz2
vcxsrv-c74ef795c7282681616decc36a9a81cd1b1b6ec7.zip
libX11 mesa pixman xkeyboard-config
xkeyboard-config commit 9993f996e75232385b19cc5078f7fecde6b399b9 libX11 commit b687440c28c7da6ee0ae44514d20248db5161606 pixman commit 2156fb51b353867d5a18b734690ca551f74d4fb1 mesa commit f987d23b28491bd7b0552bd9daffa53a8e073c71
Diffstat (limited to 'mesalib/src/gallium/auxiliary/util/u_dump_defines.c')
-rw-r--r--mesalib/src/gallium/auxiliary/util/u_dump_defines.c31
1 files changed, 28 insertions, 3 deletions
diff --git a/mesalib/src/gallium/auxiliary/util/u_dump_defines.c b/mesalib/src/gallium/auxiliary/util/u_dump_defines.c
index 692d4447c..cc6268773 100644
--- a/mesalib/src/gallium/auxiliary/util/u_dump_defines.c
+++ b/mesalib/src/gallium/auxiliary/util/u_dump_defines.c
@@ -73,6 +73,23 @@ util_dump_enum_continuous(unsigned value,
}
+/**
+ * Same as DEFINE_UTIL_DUMP_CONTINUOUS but with static assertions to detect
+ * failures to update lists.
+ */
+#define DEFINE_UTIL_DUMP_CONTINUOUS_COUNT(_name, _count) \
+ const char * \
+ util_dump_##_name(unsigned value, boolean shortened) \
+ { \
+ STATIC_ASSERT(Elements(util_dump_##_name##_names) == _count); \
+ STATIC_ASSERT(Elements(util_dump_##_name##_short_names) == _count); \
+ 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 */
@@ -262,7 +279,11 @@ util_dump_tex_target_names[] = {
"PIPE_TEXTURE_1D",
"PIPE_TEXTURE_2D",
"PIPE_TEXTURE_3D",
- "PIPE_TEXTURE_CUBE"
+ "PIPE_TEXTURE_CUBE",
+ "PIPE_TEXTURE_RECT",
+ "PIPE_TEXTURE_1D_ARRAY",
+ "PIPE_TEXTURE_2D_ARRAY",
+ "PIPE_TEXTURE_CUBE_ARRAY",
};
static const char *
@@ -271,10 +292,14 @@ util_dump_tex_target_short_names[] = {
"1d",
"2d",
"3d",
- "cube"
+ "cube",
+ "rect",
+ "1d_array",
+ "2d_array",
+ "cube_array",
};
-DEFINE_UTIL_DUMP_CONTINUOUS(tex_target)
+DEFINE_UTIL_DUMP_CONTINUOUS_COUNT(tex_target, PIPE_MAX_TEXTURE_TYPES)
static const char *