-/* $Id: image.c,v 1.30 2000/05/04 13:48:49 brianp Exp $ */
+/* $Id: image.c,v 1.32 2000/05/19 22:35:44 brianp Exp $ */
/*
* Mesa 3-D graphics library
else {
/* Non-BITMAP data */
const GLint bytesPerPixel = _mesa_bytes_per_pixel(format, type);
+ GLint bytesPerRow, remainder;
if (bytesPerPixel <= 0)
return -1; /* error */
if (packing->RowLength == 0) {
- GLint bytes = bytesPerPixel * width;
- return bytes;
+ bytesPerRow = bytesPerPixel * width;
}
else {
- GLint bytes = bytesPerPixel * packing->RowLength;
- return bytes;
+ bytesPerRow = bytesPerPixel * packing->RowLength;
}
+ remainder = bytesPerRow % packing->Alignment;
+ if (remainder > 0)
+ bytesPerRow += (packing->Alignment - remainder);
+ return bytesPerRow;
}
}
GLenum srcFormat, GLenum srcType,
const GLvoid *source,
const struct gl_pixelstore_attrib *unpacking,
- GLboolean applyTransferOps )
+ GLboolean applyTransferOps, GLboolean clamp )
{
ASSERT(dstFormat == GL_ALPHA ||
dstFormat == GL_LUMINANCE ||
}
/* clamp to [0,1] */
- {
+ if (clamp) {
GLuint i;
for (i = 0; i < n; i++) {
rgba[i][RCOMP] = CLAMP(rgba[i][RCOMP], 0.0F, 1.0F);