[Mesa-dev] [PATCH 1/3] st/readpixels: fix accel path for skipimages.

Iago Toral itoral at igalia.com
Tue Sep 1 06:49:58 PDT 2015


Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>

On Tue, 2015-09-01 at 16:41 +1000, Dave Airlie wrote:
> From: Dave Airlie <airlied at redhat.com>
> 
> We don't need to use the 3d image address here as that will
> include SKIP_IMAGES, and we are only blitting a single
> 2D anyways, so just use the 2D path.
> 
> This fixes some memory overruns under CTS
>  packed_pixels.packed_pixels_pixelstore when PACK_SKIP_IMAGES
> is used.
> 
> Signed-off-by: Dave Airlie <airlied at redhat.com>
> ---
>  src/mesa/state_tracker/st_cb_readpixels.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/src/mesa/state_tracker/st_cb_readpixels.c b/src/mesa/state_tracker/st_cb_readpixels.c
> index 6ff6cf6..bb36e69 100644
> --- a/src/mesa/state_tracker/st_cb_readpixels.c
> +++ b/src/mesa/state_tracker/st_cb_readpixels.c
> @@ -238,9 +238,9 @@ st_readpixels(struct gl_context *ctx, GLint x, GLint y,
>        GLuint row;
>  
>        for (row = 0; row < (unsigned) height; row++) {
> -         GLvoid *dest = _mesa_image_address3d(pack, pixels,
> +         GLvoid *dest = _mesa_image_address2d(pack, pixels,
>                                                width, height, format,
> -                                              type, 0, row, 0);
> +                                              type, row, 0);
>           memcpy(dest, map, bytesPerRow);
>           map += tex_xfer->stride;
>        }




More information about the mesa-dev mailing list