[PATCH] dix: Propagate notification of FreeScratchPixmapHeader to the ddx

Chris Wilson chris at chris-wilson.co.uk
Tue Apr 12 10:57:17 PDT 2011


On Tue, 12 Apr 2011 10:37:03 -0700, Keith Packard <keithp at keithp.com> wrote:
> On Tue, 12 Apr 2011 12:29:13 +0100, Chris Wilson <chris at chris-wilson.co.uk> wrote:
> 
> > As FreeScratchPixmapHeader is called when the resource backing the
> > scratch pixmap becomes no longer accessible, it is vital that the ddx is
> > notified in order to serialise any access it has to that resource.
> 
> Might be better to just abandon the scratch pixmap headers and let
> FreePixmap do this work -- you're passing pretty unusual values down to
> ModifyPixmapHeader here.

Right, that would work for me. The issue I have is just that the PixmapPtr
is cached by the Screen after the backing resource goes out of scope and
so the GPU may continue to access those user pages long after they cease
pointing to the scratch pages (and I also miss the barrier to ensure that
the contents are written before the client accesses them again). The other
approach is to have some means of detecting a temporary PixmapPtr by the
ddx so that I can insert the barrier after the drawing operation (and
avoid it for the rest).
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the xorg-devel mailing list