i915: Fix overlapping CopyPixels with negative pixel zoom.
Fixes a failure in pixel-pos.c oglconform test.
This commit is contained in:
parent
b9532f078a
commit
15487e46a2
|
@ -135,10 +135,20 @@ do_texture_copypixels(GLcontext * ctx,
|
|||
srcbox.x2 = srcx + width;
|
||||
srcbox.y2 = srcy + height;
|
||||
|
||||
if (ctx->Pixel.ZoomX > 0) {
|
||||
dstbox.x1 = dstx;
|
||||
dstbox.y1 = dsty;
|
||||
dstbox.x2 = dstx + width * ctx->Pixel.ZoomX;
|
||||
} else {
|
||||
dstbox.x1 = dstx + width * ctx->Pixel.ZoomX;
|
||||
dstbox.x2 = dstx;
|
||||
}
|
||||
if (ctx->Pixel.ZoomY > 0) {
|
||||
dstbox.y1 = dsty;
|
||||
dstbox.y2 = dsty + height * ctx->Pixel.ZoomY;
|
||||
} else {
|
||||
dstbox.y1 = dsty + height * ctx->Pixel.ZoomY;
|
||||
dstbox.y2 = dsty;
|
||||
}
|
||||
|
||||
DBG("src %d,%d %d,%d\n", srcbox.x1, srcbox.y1, srcbox.x2, srcbox.y2);
|
||||
DBG("dst %d,%d %d,%d (%dx%d) (%f,%f)\n", dstbox.x1, dstbox.y1, dstbox.x2, dstbox.y2,
|
||||
|
|
Loading…
Reference in New Issue