XDamage extension over-reports window damage

Jonathan Lennox lennox at cs.columbia.edu
Wed Feb 2 13:49:30 PST 2005


On Wednesday, January 26 2005, "Keith Packard" wrote to "Jonathan Lennox, xorg at lists.freedesktop.org, Keith Packard" saying:

> The guarantee Damage provides is that you will get notification whenever 
> the contents of the window changes; it doesn't guarantee that you will get 
> minimal notification.  Changes to the server which reduce overreporting 
> would be gratefully accepted.

The attached patch fixes both the problems I reported.

The principle of the patch is that no drawing operation can damage something
that can't be drawn to.  Thus, for damage to windows, I clip the region of
damage reports, based on the window's clipList or NotClippedByChildren
regions and the relevant GC's subWindowMode.

I'm not positive this is correct for the two render damage operations
(damageComposite and damageGlyphs), or for the Composite extension, or for
calls to DamageDamageRegion made outside of miext/damage/damage.c.  I could
certainly change the patch to code things more defensively for those cases.
I'm also not certain what happens for windows with a backing store.

What do you think?  If you'd like, I can file an enhancement request in the
freedesktop bugzilla with this patch.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: damage.c.enh.patch
Type: text/x-patch
Size: 11998 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20050202/be5ef2a1/attachment.bin>
-------------- next part --------------

-- 
Jonathan Lennox
lennox at cs.columbia.edu


More information about the xorg mailing list