From: Brian Date: Mon, 12 Mar 2007 15:35:44 +0000 (-0600) Subject: take GL_UNPACK_ALIGNMENT into account in _mesa_image_row_stride() for GL_BITMAP type... X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=c1a544733749cd388b9f51d087c695b2ce0ec729;p=mesa.git take GL_UNPACK_ALIGNMENT into account in _mesa_image_row_stride() for GL_BITMAP type (bug 10261) --- diff --git a/src/mesa/main/image.c b/src/mesa/main/image.c index eb91ebb6110..58dd771484c 100644 --- a/src/mesa/main/image.c +++ b/src/mesa/main/image.c @@ -667,7 +667,7 @@ _mesa_image_row_stride( const struct gl_pixelstore_attrib *packing, ASSERT(packing); if (type == GL_BITMAP) { /* BITMAP data */ - GLint bytes; + GLint bytes, remainder; if (packing->RowLength == 0) { bytes = (width + 7) / 8; } @@ -678,6 +678,11 @@ _mesa_image_row_stride( const struct gl_pixelstore_attrib *packing, /* negate the bytes per row (negative row stride) */ bytes = -bytes; } + + remainder = bytes % packing->Alignment; + if (remainder > 0) + bytes += (packing->Alignment - remainder); + return bytes; } else {