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