On 12/06/2011 12:07 PM, Eric Anholt wrote:
On Mon, 5 Dec 2011 20:43:17 -0700, Brian Paul<[email protected]> wrote:diff --git a/src/mesa/swrast/s_zoom.c b/src/mesa/swrast/s_zoom.c index 16bb997..e832121 100644 --- a/src/mesa/swrast/s_zoom.c +++ b/src/mesa/swrast/s_zoom.c @@ -299,11 +299,17 @@ zoom_span( struct gl_context *ctx, GLint imgX, GLint imgY, const SWspan *span, * Also, clipping may change the span end value, so store it as well. */ const GLint end = zoomed.end; /* save */ - GLuint rgbaSave[MAX_WIDTH][4]; + void *rgbaSave; const GLint pixelSize = (zoomed.array->ChanType == GL_UNSIGNED_BYTE) ? 4 * sizeof(GLubyte) : ((zoomed.array->ChanType == GL_UNSIGNED_SHORT) ? 4 * sizeof(GLushort) : 4 * sizeof(GLfloat)); + + rgbaSave = malloc(zoomed.end * MAX_PIXEL_BYTES); + if (!rgbaSave) { + return; + } + if (y1 - y0> 1) { memcpy(rgbaSave, zoomed.array->rgba, zoomed.end * pixelSize); } @@ -315,6 +321,8 @@ zoom_span( struct gl_context *ctx, GLint imgX, GLint imgY, const SWspan *span, memcpy(zoomed.array->rgba, rgbaSave, zoomed.end * pixelSize); } } + + free(rgbaSave); } }You've got that pixelSize value right there, let's use that instead of MAX_PIXEL_BYTES.
Good point, since I'm already using that as the size to the memcpy() calls - duh.
-Brian _______________________________________________ mesa-dev mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-dev
