xserver-multidpi/present
Frank Binns 334faabe68 present: restore screen pixmap when aborting a flip
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, and
possibly the flip 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.

Restore the screen pixmap at the point a pending flip is marked as aborted,
thus avoiding this issue.

Reviewed-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Frank Binns <frank.binns@imgtec.com>
Signed-off-by: Keith Packard <keithp@keithp.com>
2014-06-23 13:48:20 -07:00
..
Makefile.am present: Add Present extension 2013-10-31 16:59:18 -07:00
present_event.c Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
present_fake.c Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
present_fence.c present: Block for wait_fence in present_execute 2013-11-20 13:12:30 -08:00
present_notify.c present: Add Present extension 2013-10-31 16:59:18 -07:00
present_priv.h present: Queue flips for later execution 2014-06-04 22:03:35 -07:00
present_request.c Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
present_screen.c present: Disable when Xinerama is active 2013-12-09 13:20:36 -05:00
present.c present: restore screen pixmap when aborting a flip 2014-06-23 13:48:20 -07:00
present.h present: Send GLX_BufferSwapComplete events from present extension 2013-12-05 09:51:00 -08:00
presentext.h present: Add Present extension 2013-10-31 16:59:18 -07:00