st/readpixels: fix accel path for skipimages.

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.

Cc: "11.0" <mesa-stable@lists.freedesktop.org>
Reviewed-by: Iago Toral Quiroga <itoral@igalia.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
Dave Airlie 2015-09-01 15:13:45 +10:00
parent c3c242070e
commit 6a3e1fb958

View file

@ -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;
}