R1/2/3/4/5xx: fixed calculation of cliprects in CopyBuffer.
This commit is contained in:
committed by
Michel Dänzer
parent
377016d728
commit
328621509f
@@ -477,16 +477,18 @@ void r200CopyBuffer( __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 ) {
|
||||
|
||||
@@ -215,16 +215,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++;
|
||||
}
|
||||
radeon->sarea->nbox = n;
|
||||
|
||||
if (!n)
|
||||
continue;
|
||||
|
||||
ret = drmCommandNone(radeon->dri.fd, DRM_RADEON_SWAP);
|
||||
|
||||
if (ret) {
|
||||
|
||||
@@ -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 ) {
|
||||
|
||||
Reference in New Issue
Block a user