diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2012-10-21 10:46:14 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2012-10-21 10:46:14 +0100 |
commit | f6eed98fcfea54d50a282ac71ee654645551ae11 (patch) | |
tree | 543298ea854e13316cdb37c8112d16d6bc63606f /src/sna/sna_composite.c | |
parent | 60e4e009f90543bfd57f6a4e51ebc5b32b4af33b (diff) |
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>
Diffstat (limited to 'src/sna/sna_composite.c')
-rw-r--r-- | src/sna/sna_composite.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/sna/sna_composite.c b/src/sna/sna_composite.c index 60d39cde..c2af3b4e 100644 --- a/src/sna/sna_composite.c +++ b/src/sna/sna_composite.c @@ -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); |