Revert "translate_generic: return NULL instead of assert(0) if format not supported"
authorLuca Barbieri <luca@luca-barbieri.com>
Wed, 11 Aug 2010 14:59:25 +0000 (16:59 +0200)
committerLuca Barbieri <luca@luca-barbieri.com>
Wed, 11 Aug 2010 15:01:27 +0000 (17:01 +0200)
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.

src/gallium/auxiliary/translate/translate_generic.c

index 021099ae980286a80851667a032686af5a7fb9fa..0baa49a1924c2bedf316220164adb43c1a66303f 100644 (file)
@@ -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;