i915: Fix read != draw drawable for glCopyPixels.
authorEric Anholt <eric@anholt.net>
Tue, 24 Jun 2008 16:48:23 +0000 (09:48 -0700)
committerEric Anholt <eric@anholt.net>
Tue, 24 Jun 2008 17:25:19 +0000 (10:25 -0700)
Taken from commit bad6e175cf59cce630c37d73f6e71f3a4de50ae6.

src/mesa/drivers/dri/intel/intel_pixel_copy.c

index c453097e55e692f90a12c8263fca61fde1aad860..e7d5cc6df22703144330bf2d51c84c2346423ec0 100644 (file)
@@ -272,6 +272,7 @@ do_blit_copypixels(GLcontext * ctx,
 
    if (intel->driDrawable->numClipRects) {
       __DRIdrawablePrivate *dPriv = intel->driDrawable;
+      __DRIdrawablePrivate *dReadPriv = intel->driReadDrawable;
       drm_clip_rect_t *box = dPriv->pClipRects;
       drm_clip_rect_t dest_rect;
       GLint nbox = dPriv->numClipRects;
@@ -303,8 +304,8 @@ do_blit_copypixels(GLcontext * ctx,
       srcy = dPriv->h - srcy - height;  
       dstx += dPriv->x;
       dsty += dPriv->y;
-      srcx += dPriv->x;
-      srcy += dPriv->y;
+      srcx += dReadPriv->x;
+      srcy += dReadPriv->y;
 
       /* Clip against the source region.  This is the only source
        * clipping we do.  Dst is clipped with cliprects below.