summaryrefslogtreecommitdiff
path: root/src/mesa/drivers/dri/radeon
diff options
context:
space:
mode:
authorDennis Kasprzyk <onestone@opencompositing.org>2008-05-29 11:25:21 +0200
committerMichel Dänzer <michel@tungstengraphics.com>2008-05-29 11:25:21 +0200
commit328621509f4690fb945201a90425662e4fd2fc2d (patch)
treeff34a15525acaf40ce92731d9a29aa465ed750bd /src/mesa/drivers/dri/radeon
parent377016d728ace47c9eeb3ac2f01191608ab060f6 (diff)
R1/2/3/4/5xx: fixed calculation of cliprects in CopyBuffer.
Diffstat (limited to 'src/mesa/drivers/dri/radeon')
-rw-r--r--src/mesa/drivers/dri/radeon/radeon_ioctl.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/mesa/drivers/dri/radeon/radeon_ioctl.c b/src/mesa/drivers/dri/radeon/radeon_ioctl.c
index 078ac9a29a..446025b631 100644
--- a/src/mesa/drivers/dri/radeon/radeon_ioctl.c
+++ b/src/mesa/drivers/dri/radeon/radeon_ioctl.c
@@ -919,16 +919,18 @@ void radeonCopyBuffer( __DRIdrawablePrivate *dPriv,
if (rect->y2 < b->y2)
b->y2 = rect->y2;
- if (b->x1 < b->x2 && b->y1 < b->y2)
- b++;
+ if (b->x1 >= b->x2 || b->y1 >= b->y2)
+ continue;
}
- else
- b++;
+ b++;
n++;
}
rmesa->sarea->nbox = n;
+ if (!n)
+ continue;
+
ret = drmCommandNone( rmesa->dri.fd, DRM_RADEON_SWAP );
if ( ret ) {