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 <mesa-stable@lists.freedesktop.org> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
This commit is contained in:
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user