[RFC][PATCH] dix/composite: Update windows with automatically redirected children on demand

Ville Syrjälä ville.syrjala at nokia.com
Mon Dec 27 11:13:31 PST 2010


On Mon, Dec 27, 2010 at 08:45:39PM +0200, Ville Syrjälä wrote:
> On Mon, Dec 27, 2010 at 10:25:17AM -0800, ext Keith Packard wrote:
> > On Mon, 27 Dec 2010 15:27:10 +0200, ville.syrjala at nokia.com wrote:
> > > Instead of trying to identify all parts of the code that have that
> > > requirement, add a simple hook into NotClippedByChildren(), which can
> > > perform the update process. Hopefully that should cover most of the
> > > cases, if not all of them.
> > 
> > It would be nice if this could work, but it's almost entirely
> > inaccurate:
> > 
> >  1) GetImage doesn't use NCBC
> 
> How odd. My test app uses GetImage and it got fixed by this. I'll have
> to check what's going on there.

Breakpoint 2, NotClippedByChildren (pWin=0x3dded0) at ../../dix/window.c:3026
3026	in ../../dix/window.c
#0  NotClippedByChildren (pWin=0x3dded0) at ../../dix/window.c:3026
#1  0x00078d40 in DoGetImage (client=0x3eac88, format=2, drawable=4194305, x=0, y=0, width=16, 
    height=16, planemask=4294967295, im_return=0x0) at ../../dix/dispatch.c:2149
#2  0x0007905c in ProcGetImage (client=0x3eac88) at ../../dix/dispatch.c:2253
#3  0x00073510 in Dispatch () at ../../dix/dispatch.c:432
#4  0x000207ac in main (argc=16, argv=0xaec4cdd4, envp=0xaec4ce18) at ../../dix/main.c:291

So it apparently does use it.

> >  2) CopyArea doesn't use NCBC when copying from the Root
> >  3) CopyArea doesn't use NCBC when copying from self
> >  4) ValidateGC/ValidatePicture use NCBC only when the clip may have changed

Hmm. It seems these actually manage to dodge my NCBC approach :(

-- 
Ville Syrjälä


More information about the xorg-devel mailing list