[PATCH v4 6/7] composite: Use DamageSetReportAfterOp

Ville Syrjälä ville.syrjala at nokia.com
Wed Jan 5 08:44:11 PST 2011


On Wed, Jan 05, 2011 at 08:34:12AM -0800, ext Keith Packard wrote:
> On Wed,  5 Jan 2011 15:51:36 +0200, ville.syrjala at nokia.com wrote:
> > From: Ville Syrjälä <ville.syrjala at nokia.com>
> > 
> > Use the "report after" damage mode for marking the automatically
> > redirected as damaged. Avoids a premature window tree update triggered
> > by compSourceValidate eg. during a CopyArea request. If the window is
> > marked as damaged before the CopyArea has actaully happened, the window
> > tree update will copy stale data to the parent.
> 
> I didn't comment on this one before because I didn't understand what it
> was doing. I think I've got it now -- the window damage gets registered
> in the Damage CopyArea wrapper, then SourceValidate is called which
> copies the window contents to its parent, then the data are copied. At
> this point, the window has no damage recorded and yet there are changed
> pixels.

Exactly.

> Given that the hierarchical composite damage fixes this problem in a
> cleaner fashion, should we just use that patch and not this one?
> 
> Yeah, I know I said it was "just an optimization", but I think you've
> discovered that it isn't just an optimization...

This patch doesn't actually interfere with the damagedDescendants patch,
so we can either take both or just the damagedDescendants patch. Marking
the window as damaged only after the copy has been performed seems a bit
cleaner to me. But I don't have any strong feelings either way, so you
get to choose ;)

-- 
Ville Syrjälä


More information about the xorg-devel mailing list