mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-07 11:28:05 +02:00
Report damage before modifying the area, not after.
If we copy the area before reporting the damage in this area, the server may restore buffered data over the new data, leading to artefacts on the screen. Reproducable with two cursors (second of which is SW rendered) and moving windows around in compiz. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=16384 .
This commit is contained in:
parent
495c02262e
commit
3a94b25538
1 changed files with 2 additions and 2 deletions
|
|
@ -512,13 +512,13 @@ static void driCopySubBuffer(__DRIdrawable *dPriv,
|
|||
{
|
||||
drm_clip_rect_t rect;
|
||||
|
||||
dPriv->driScreenPriv->DriverAPI.CopySubBuffer(dPriv, x, y, w, h);
|
||||
|
||||
rect.x1 = x;
|
||||
rect.y1 = dPriv->h - y - h;
|
||||
rect.x2 = x + w;
|
||||
rect.y2 = rect.y1 + h;
|
||||
driReportDamage(dPriv, &rect, 1);
|
||||
|
||||
dPriv->driScreenPriv->DriverAPI.CopySubBuffer(dPriv, x, y, w, h);
|
||||
}
|
||||
|
||||
const __DRIcopySubBufferExtension driCopySubBufferExtension = {
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue