[PATCH xserver] dri2: Invalidate DRI2 buffers for all windows with the same pixmap on swap.

Ville Syrjälä ville.syrjala at nokia.com
Fri Mar 25 07:03:38 PDT 2011


On Fri, Mar 25, 2011 at 06:10:42AM -0700, ext Jakob Bornecrantz wrote:
> On Mar 25, 2011, at 13:47, Ville Syrjälä wrote:
> > On Fri, Mar 25, 2011 at 12:35:37PM +0100, ext Michel Dänzer wrote:
> >> From: Michel Dänzer <daenzer at vmware.com>
> >> 
> >> Without this, when a compositing manager unredirects a fullscreen window which
> >> uses DRI2 and page flipping, the DRI2 buffer information for the compositing
> >> manager's output window (typically the Composite Overlay Window or root window)
> >> may become stale, resulting in all kinds of hilarity.
> > 
> > Make sense to me.
> > 
> > BTW I'm toying around with offscreen flipping, and for that I'm using
> > the following patch to also invalidate the window's pixmap (the patch
> > is against our internal codebase which has the DRI2 ref counting
> > patches from Pauli and Christopher).
> 
> Does the flipped buffers magically appear in any rendering api sibling obejcts (such as GL texture obejcts) or does the client application need to do anything?

Initially I hooked it up so that it happens automagically, but I was
told by our GL expert that I could just update the objects when
they're (re)bound. This approach is based on the rules listed in
appendix C of GLES 2.0.25 spec. I haven't actually tried that change
yet.

-- 
Ville Syrjälä


More information about the xorg-devel mailing list