From 881ef2a9db22cff4c7d07b873d23b0c324da555a Mon Sep 17 00:00:00 2001 From: Brian Paul Date: Mon, 16 Jan 2012 12:28:56 -0700 Subject: [PATCH] swrast: use color packing functions in s_span.c --- src/mesa/swrast/s_span.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/src/mesa/swrast/s_span.c b/src/mesa/swrast/s_span.c index 1ad8396f55c..fa63ade89ce 100644 --- a/src/mesa/swrast/s_span.c +++ b/src/mesa/swrast/s_span.c @@ -1052,20 +1052,25 @@ put_values(struct gl_context *ctx, struct gl_renderbuffer *rb, GLuint count, const GLint x[], const GLint y[], const void *values, const GLubyte *mask) { + gl_pack_ubyte_rgba_func pack_ubyte; + gl_pack_float_rgba_func pack_float; GLuint i; + if (datatype == GL_UNSIGNED_BYTE) + pack_ubyte = _mesa_get_pack_ubyte_rgba_function(rb->Format); + else + pack_float = _mesa_get_pack_float_rgba_function(rb->Format); + for (i = 0; i < count; i++) { if (mask[i]) { GLubyte *dst = _swrast_pixel_address(rb, x[i], y[i]); if (datatype == GL_UNSIGNED_BYTE) { - _mesa_pack_ubyte_rgba_row(rb->Format, 1, - (const GLubyte (*)[4]) values + i, dst); + pack_ubyte((const GLubyte *) values + 4 * i, dst); } else { assert(datatype == GL_FLOAT); - _mesa_pack_float_rgba_row(rb->Format, count, - (const GLfloat (*)[4]) values + i, dst); + pack_float((const GLfloat *) values + 4 * i, dst); } } } -- 2.30.2