sna: Mark the to-be-damaged region first, then Process afterwards
Damage is processed in two phases, with the actual Damage being appended before the operation is performed so that a copy can be made before modification (e.g. software cursors). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
60e4e009f9
commit
f6eed98fcf
|
|
@ -827,6 +827,10 @@ sna_composite_rectangles(CARD8 op,
|
|||
goto fallback;
|
||||
}
|
||||
|
||||
/* XXX xserver-1.8: CompositeRects is not tracked by Damage, so we must
|
||||
* manually append the damaged regions ourselves.
|
||||
*/
|
||||
DamageRegionAppend(&pixmap->drawable, ®ion);
|
||||
boxes = pixman_region_rectangles(®ion, &num_boxes);
|
||||
|
||||
/* If we going to be overwriting any CPU damage with a subsequent
|
||||
|
|
@ -984,10 +988,6 @@ fallback_composite:
|
|||
}
|
||||
|
||||
done:
|
||||
/* XXX xserver-1.8: CompositeRects is not tracked by Damage, so we must
|
||||
* manually append the damaged regions ourselves.
|
||||
*/
|
||||
DamageRegionAppend(&pixmap->drawable, ®ion);
|
||||
DamageRegionProcessPending(&pixmap->drawable);
|
||||
|
||||
pixman_region_fini(®ion);
|
||||
|
|
|
|||
Loading…
Reference in New Issue