[PATCH 1/4] present: restore root window pixmap when aborting a flip

Keith Packard keithp at keithp.com
Fri Apr 25 15:31:02 PDT 2014


Frank Binns <frank.binns at imgtec.com> writes:

> If a 2D application is started on top of a fullscreen 3D application, which
> is flipping, then we need to stop flipping and restore the root window to
> using the screen pixmap. Normally this would be done as part of an unflip.
> However, in the case that there is a pending flip there is no mechanism to
> abort so the unflip is deferred until the pending flip completes. This
> provides a window of opportunity for the 2D application to draw to the wrong
> pixmap.
>
> This problem is avoided by fixing up the root window pixmap immediately but
> deferring the unflip as usual.

I think we should also be doing this in the other two places where
abort_flip is set to TRUE. Also, this needs to do the same two calls to
present_set_tree_pixmap that present_unflip would do later on. Those are
done in a specific order so that the child window hierarchy also gets
its pixmaps reset correctly.

-- 
keith.packard at intel.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 810 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg-devel/attachments/20140425/2700747e/attachment.sig>


More information about the xorg-devel mailing list