[Mesa-dev] [PATCH 03/23] swrast: remove MAX_WIDTH arrays in s_zoom.c
Jose Fonseca
jfonseca at vmware.com
Tue Feb 21 00:30:49 PST 2012
Shouldn't malloc be passed zoomedWidth instead of width?
Jose
----- Original Message -----
> From: Brian Paul <brianp at vmware.com>
>
> ---
> src/mesa/swrast/s_zoom.c | 16 ++++++++++++++--
> 1 files changed, 14 insertions(+), 2 deletions(-)
>
> diff --git a/src/mesa/swrast/s_zoom.c b/src/mesa/swrast/s_zoom.c
> index 73bff48..ede8f90 100644
> --- a/src/mesa/swrast/s_zoom.c
> +++ b/src/mesa/swrast/s_zoom.c
> @@ -362,7 +362,7 @@ _swrast_write_zoomed_stencil_span(struct
> gl_context *ctx, GLint imgX, GLint imgY
> GLint width, GLint spanX, GLint
> spanY,
> const GLubyte stencil[])
> {
> - GLubyte zoomedVals[MAX_WIDTH];
> + GLubyte *zoomedVals;
> GLint x0, x1, y0, y1, y;
> GLint i, zoomedWidth;
>
> @@ -375,6 +375,10 @@ _swrast_write_zoomed_stencil_span(struct
> gl_context *ctx, GLint imgX, GLint imgY
> ASSERT(zoomedWidth > 0);
> ASSERT(zoomedWidth <= MAX_WIDTH);
>
> + zoomedVals = (GLubyte *) malloc(width * sizeof(GLubyte));
> + if (!zoomedVals)
> + return;
> +
> /* zoom the span horizontally */
> for (i = 0; i < zoomedWidth; i++) {
> GLint j = unzoom_x(ctx->Pixel.ZoomX, imgX, x0 + i) - spanX;
> @@ -387,6 +391,8 @@ _swrast_write_zoomed_stencil_span(struct
> gl_context *ctx, GLint imgX, GLint imgY
> for (y = y0; y < y1; y++) {
> _swrast_write_stencil_span(ctx, zoomedWidth, x0, y,
> zoomedVals);
> }
> +
> + free(zoomedVals);
> }
>
>
> @@ -401,7 +407,7 @@ _swrast_write_zoomed_z_span(struct gl_context
> *ctx, GLint imgX, GLint imgY,
> {
> struct gl_renderbuffer *rb =
> ctx->DrawBuffer->Attachment[BUFFER_DEPTH].Renderbuffer;
> - GLuint zoomedVals[MAX_WIDTH];
> + GLuint *zoomedVals;
> GLint x0, x1, y0, y1, y;
> GLint i, zoomedWidth;
>
> @@ -414,6 +420,10 @@ _swrast_write_zoomed_z_span(struct gl_context
> *ctx, GLint imgX, GLint imgY,
> ASSERT(zoomedWidth > 0);
> ASSERT(zoomedWidth <= MAX_WIDTH);
>
> + zoomedVals = (GLuint *) malloc(width * sizeof(GLuint));
> + if (!zoomedVals)
> + return;
> +
> /* zoom the span horizontally */
> for (i = 0; i < zoomedWidth; i++) {
> GLint j = unzoom_x(ctx->Pixel.ZoomX, imgX, x0 + i) - spanX;
> @@ -427,4 +437,6 @@ _swrast_write_zoomed_z_span(struct gl_context
> *ctx, GLint imgX, GLint imgY,
> GLubyte *dst = _swrast_pixel_address(rb, x0, y);
> _mesa_pack_uint_z_row(rb->Format, zoomedWidth, zoomedVals,
> dst);
> }
> +
> + free(zoomedVals);
> }
> --
> 1.7.3.4
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
More information about the mesa-dev
mailing list