summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorLuca Barbieri <[email protected]>2010-08-11 16:59:25 +0200
committerLuca Barbieri <[email protected]>2010-08-11 17:01:27 +0200
commit5266bc3c60033ccc3515b3a6d02f7219f981cbb1 (patch)
tree69aa425f3089e60cd4bae48271878bf8a8d69969 /src/gallium
parent684aeb366fb72a2dbf9dd7a0803f29880858cd06 (diff)
Revert "translate_generic: return NULL instead of assert(0) if format not supported"
This reverts commit 16b45ca7cefb3432b4133fe9d0b1dbfe3f286131. José Fonseca asked for a revert. Note that the testsuite will now segfault since it attempts to test all possible formats.
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/auxiliary/translate/translate_generic.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/gallium/auxiliary/translate/translate_generic.c b/src/gallium/auxiliary/translate/translate_generic.c
index 021099ae980..0baa49a1924 100644
--- a/src/gallium/auxiliary/translate/translate_generic.c
+++ b/src/gallium/auxiliary/translate/translate_generic.c
@@ -207,6 +207,12 @@ emit_B8G8R8A8_UNORM( const float *attrib, void *ptr)
out[3] = TO_8_UNORM(attrib[3]);
}
+static void
+emit_NULL( const float *attrib, void *ptr )
+{
+ /* do nothing is the only sensible option */
+}
+
static emit_func get_emit_func( enum pipe_format format )
{
switch (format) {
@@ -343,7 +349,8 @@ static emit_func get_emit_func( enum pipe_format format )
return &emit_A8R8G8B8_UNORM;
default:
- return NULL;
+ assert(0);
+ return &emit_NULL;
}
}
@@ -538,12 +545,8 @@ struct translate *translate_generic_create( const struct translate_key *key )
tg->attrib[i].instance_divisor = key->element[i].instance_divisor;
tg->attrib[i].emit = get_emit_func(key->element[i].output_format);
- if(!tg->attrib[i].emit)
- {
- FREE(tg);
- return NULL;
- }
tg->attrib[i].output_offset = key->element[i].output_offset;
+
}
tg->nr_attrib = key->nr_elements;