GLuint width, GLuint height)
{
struct swrast_renderbuffer *srb = swrast_renderbuffer(rb);
+ GLuint bpp;
switch (internalFormat) {
case GL_RGB:
return GL_FALSE;
}
+ bpp = _mesa_get_format_bytes(rb->Format);
+
/* free old buffer storage */
if (srb->Buffer) {
free(srb->Buffer);
srb->Buffer = NULL;
}
- srb->RowStride = width * _mesa_get_format_bytes(rb->Format);
+ srb->RowStride = width * bpp;
if (width > 0 && height > 0) {
/* allocate new buffer storage */
- srb->Buffer = malloc(width * height
- * _mesa_get_format_bytes(rb->Format));
+ srb->Buffer = malloc(srb->RowStride * height);
if (srb->Buffer == NULL) {
rb->Width = 0;
rb->Height = 0;
_mesa_error(ctx, GL_OUT_OF_MEMORY,
"software renderbuffer allocation (%d x %d x %d)",
- width, height, _mesa_get_format_bytes(rb->Format));
+ width, height, bpp);
return GL_FALSE;
}
}