summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/main/readpix.c20
1 files changed, 7 insertions, 13 deletions
diff --git a/src/mesa/main/readpix.c b/src/mesa/main/readpix.c
index a5b74bcccfd..56e9d60bb11 100644
--- a/src/mesa/main/readpix.c
+++ b/src/mesa/main/readpix.c
@@ -858,21 +858,16 @@ _mesa_readpixels(struct gl_context *ctx,
const struct gl_pixelstore_attrib *packing,
GLvoid *pixels)
{
- struct gl_pixelstore_attrib clippedPacking = *packing;
-
if (ctx->NewState)
_mesa_update_state(ctx);
- /* Do all needed clipping here, so that we can forget about it later */
- if (_mesa_clip_readpixels(ctx, &x, &y, &width, &height, &clippedPacking)) {
-
- pixels = _mesa_map_pbo_dest(ctx, &clippedPacking, pixels);
+ pixels = _mesa_map_pbo_dest(ctx, packing, pixels);
if (pixels) {
/* Try memcpy first. */
if (readpixels_memcpy(ctx, x, y, width, height, format, type,
pixels, packing)) {
- _mesa_unmap_pbo_dest(ctx, &clippedPacking);
+ _mesa_unmap_pbo_dest(ctx, packing);
return;
}
@@ -880,25 +875,24 @@ _mesa_readpixels(struct gl_context *ctx,
switch (format) {
case GL_STENCIL_INDEX:
read_stencil_pixels(ctx, x, y, width, height, type, pixels,
- &clippedPacking);
+ packing);
break;
case GL_DEPTH_COMPONENT:
read_depth_pixels(ctx, x, y, width, height, type, pixels,
- &clippedPacking);
+ packing);
break;
case GL_DEPTH_STENCIL_EXT:
read_depth_stencil_pixels(ctx, x, y, width, height, type, pixels,
- &clippedPacking);
+ packing);
break;
default:
/* all other formats should be color formats */
read_rgba_pixels(ctx, x, y, width, height, format, type, pixels,
- &clippedPacking);
+ packing);
}
- _mesa_unmap_pbo_dest(ctx, &clippedPacking);
+ _mesa_unmap_pbo_dest(ctx, packing);
}
- }
}