intel: Use fb->Height when flipping read buffer orientation
authorKristian Høgsberg <krh@bitplanet.net>
Tue, 30 Mar 2010 18:05:47 +0000 (14:05 -0400)
committerKristian Høgsberg <krh@bitplanet.net>
Tue, 30 Mar 2010 20:48:51 +0000 (16:48 -0400)
With DRI2, x and y are always zero and fb->Height is always up to date
with the drawable height.

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

index 618f690a5f8b520173351febd12a39b132447724..62e1e78f59be035ca2e3d9649a7e17f2aa4de8bc 100644 (file)
@@ -130,18 +130,8 @@ do_copy_texsubimage(struct intel_context *intel,
       }
 
       if (ctx->ReadBuffer->Name == 0) {
-        /* reading from a window, adjust x, y */
-        const __DRIdrawable *dPriv = intel->driReadDrawable;
-        y = dPriv->y + (dPriv->h - (y + height));
-        x += dPriv->x;
-
-        /* Invert the data coming from the source rectangle due to GL
-         * and hardware disagreeing on where y=0 is.
-         *
-         * It appears that our offsets and pitches get mangled
-         * appropriately by the hardware, and we don't need to adjust them
-         * on our own.
-         */
+        /* Flip vertical orientation for system framebuffers */
+        y = ctx->ReadBuffer->Height - (y + height);
         src_pitch = -src->pitch;
       } else {
         /* reading from a FBO, y is already oriented the way we like */