diff options
author | Eric Anholt <[email protected]> | 2013-12-23 12:11:25 -0800 |
---|---|---|
committer | Carl Worth <[email protected]> | 2014-01-09 12:24:03 -0800 |
commit | 9b3ed4c8c2e985506628ff9e6be2431b4b01393f (patch) | |
tree | ec86dd673d34480a781aee38aeffb1e30e894da6 /src/mesa/drivers | |
parent | 38235d292382ddf0c02369f407bb151362dafbd2 (diff) |
i965: Fix handling of MESA_pack_invert in blit (PBO) readpixels.
Fixes piglit GL_MESA_pack_invert/readpixels and GPU hangs with glamor and
cairo-gl.
Cc: 10.0 9.2 <[email protected]>
Reviewed-by: Kenneth Graunke <[email protected]>
Reviewed-by: Ian Romanick <[email protected]>
Reviewed-by: Anuj Phogat <[email protected]>
(cherry picked from commit e186b927b8254ce62e0d47db90d16cd4253b3db5)
Diffstat (limited to 'src/mesa/drivers')
-rw-r--r-- | src/mesa/drivers/dri/i965/intel_pixel_read.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/mesa/drivers/dri/i965/intel_pixel_read.c b/src/mesa/drivers/dri/i965/intel_pixel_read.c index 08cb7624bb1..e98c19083e8 100644 --- a/src/mesa/drivers/dri/i965/intel_pixel_read.c +++ b/src/mesa/drivers/dri/i965/intel_pixel_read.c @@ -106,13 +106,15 @@ do_blit_readpixels(struct gl_context * ctx, /* Mesa flips the dst_stride for pack->Invert, but we want our mt to have a * normal dst_stride. */ + struct gl_pixelstore_attrib uninverted_pack = *pack; if (pack->Invert) { dst_stride = -dst_stride; dst_flip = true; + uninverted_pack.Invert = false; } dst_offset = (GLintptr)pixels; - dst_offset += _mesa_image_offset(2, pack, width, height, + dst_offset += _mesa_image_offset(2, &uninverted_pack, width, height, format, type, 0, 0, 0); if (!_mesa_clip_copytexsubimage(ctx, |