Mesa (master): mesa pack: use _mesa_problem instead of assert

Jordan Justen jljusten at kemper.freedesktop.org
Sun Jul 22 00:16:44 UTC 2012


Module: Mesa
Branch: master
Commit: 8c265cf5ef47ac8ae8565456d8ac023d6c847d57
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=8c265cf5ef47ac8ae8565456d8ac023d6c847d57

Author: Jordan Justen <jordan.l.justen at intel.com>
Date:   Wed Jun 20 14:47:46 2012 -0700

mesa pack: use _mesa_problem instead of assert

If the pack type is not supported, use _mesa_problem
rather than asserting.

Signed-off-by: Jordan Justen <jordan.l.justen at intel.com>
Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/mesa/main/pack.c     |   17 ++++++++++-------
 src/mesa/main/pack_tmp.h |    9 ++++++++-
 2 files changed, 18 insertions(+), 8 deletions(-)

diff --git a/src/mesa/main/pack.c b/src/mesa/main/pack.c
index a674f68..83192c1 100644
--- a/src/mesa/main/pack.c
+++ b/src/mesa/main/pack.c
@@ -514,26 +514,29 @@ _mesa_pack_rgba_span_int(struct gl_context *ctx, GLuint n, GLuint rgba[][4],
 {
    switch(dstType) {
    case GL_UNSIGNED_INT:
-      pack_uint_from_uint_rgba(dstAddr, dstFormat, rgba, n);
+      pack_uint_from_uint_rgba(ctx, dstAddr, dstFormat, rgba, n);
       break;
    case GL_INT:
       /* No conversion necessary. */
-      pack_uint_from_uint_rgba(dstAddr, dstFormat, rgba, n);
+      pack_uint_from_uint_rgba(ctx, dstAddr, dstFormat, rgba, n);
       break;
    case GL_UNSIGNED_SHORT:
-      pack_ushort_from_uint_rgba(dstAddr, dstFormat, rgba, n);
+      pack_ushort_from_uint_rgba(ctx, dstAddr, dstFormat, rgba, n);
       break;
    case GL_SHORT:
-      pack_short_from_uint_rgba(dstAddr, dstFormat, rgba, n);
+      pack_short_from_uint_rgba(ctx, dstAddr, dstFormat, rgba, n);
       break;
    case GL_UNSIGNED_BYTE:
-      pack_ubyte_from_uint_rgba(dstAddr, dstFormat, rgba, n);
+      pack_ubyte_from_uint_rgba(ctx, dstAddr, dstFormat, rgba, n);
       break;
    case GL_BYTE:
-      pack_byte_from_uint_rgba(dstAddr, dstFormat, rgba, n);
+      pack_byte_from_uint_rgba(ctx, dstAddr, dstFormat, rgba, n);
       break;
    default:
-      assert(0);
+      _mesa_problem(ctx,
+         "Unsupported type (%s) for format (%s)",
+         _mesa_lookup_enum_by_nr(dstType),
+         _mesa_lookup_enum_by_nr(dstFormat));
       return;
    }
 }
diff --git a/src/mesa/main/pack_tmp.h b/src/mesa/main/pack_tmp.h
index 83b6557..0d4eb38 100644
--- a/src/mesa/main/pack_tmp.h
+++ b/src/mesa/main/pack_tmp.h
@@ -22,7 +22,8 @@
  */
 
 static void
-FN_NAME(DST_TYPE *dst,
+FN_NAME(struct gl_context *ctx,
+	DST_TYPE *dst,
 	GLenum dstFormat,
 	SRC_TYPE rgba[][4],
 	int n)
@@ -111,5 +112,11 @@ FN_NAME(DST_TYPE *dst,
 	 dst[i*2+1] = SRC_CONVERT(rgba[i][ACOMP]);
       }
       break;
+
+   default:
+      _mesa_problem(ctx,
+         "Unsupported format (%s)",
+         _mesa_lookup_enum_by_nr(dstFormat));
+      break;
    }
 }




More information about the mesa-commit mailing list