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@intel.com>
Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
Jordan Justen
2012-06-20 14:47:46 -07:00
parent 9ad8f431b2
commit 8c265cf5ef
2 changed files with 18 additions and 8 deletions
+10 -7
View File
@@ -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;
}
}
+8 -1
View File
@@ -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;
}
}