diff options
author | Dennis Kasprzyk <[email protected]> | 2008-05-29 11:25:21 +0200 |
---|---|---|
committer | Michel Dänzer <[email protected]> | 2008-05-29 11:25:21 +0200 |
commit | 328621509f4690fb945201a90425662e4fd2fc2d (patch) | |
tree | ff34a15525acaf40ce92731d9a29aa465ed750bd /src/mesa/drivers/dri/radeon | |
parent | 377016d728ace47c9eeb3ac2f01191608ab060f6 (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.c | 10 |
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 078ac9a29a2..446025b6312 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 ) { |