xf86-video-ati: Branch 'r6xx-r7xx-support'

Alex Deucher agd5f at kemper.freedesktop.org
Wed Feb 25 06:18:16 PST 2009


 src/r600_exa.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

New commits:
commit 8373f4399b03961f2c928a9275d47e9f41bd92bb
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Wed Feb 25 09:16:38 2009 -0500

    R6xx/R7xx EXA: same surface and same coords equals nop
    
    should fix bug 20305

diff --git a/src/r600_exa.c b/src/r600_exa.c
index 52b0042..17c5567 100644
--- a/src/r600_exa.c
+++ b/src/r600_exa.c
@@ -869,6 +869,9 @@ R600Copy(PixmapPtr pDst,
     RADEONInfoPtr info = RADEONPTR(pScrn);
     struct radeon_accel_state *accel_state = info->accel_state;
 
+    if (accel_state->same_surface && (srcX == dstX) && (srcY == dstY))
+	return;
+
     if (accel_state->same_surface && is_overlap(srcX, srcX + w, srcY, srcY + h, dstX, dstX + w, dstY, dstY + h)) {
 	if (accel_state->copy_area) {
 	    uint32_t pitch = exaGetPixmapPitch(pDst) / (pDst->drawable.bitsPerPixel / 8);
@@ -891,7 +894,7 @@ R600Copy(PixmapPtr pDst,
 	    R600DoCopy(pScrn);
 	} else
 	    R600OverlapCopy(pDst, srcX, srcY, dstX, dstY, w, h);
-    } else if(accel_state->same_surface) {
+    } else if (accel_state->same_surface) {
 	uint32_t pitch = exaGetPixmapPitch(pDst) / (pDst->drawable.bitsPerPixel / 8);
 	uint32_t offset = exaGetPixmapOffset(pDst) + info->fbLocation + pScrn->fbOffset;
 


More information about the xorg-commit mailing list