xserver-multidpi/present
Michel Dänzer e473b2bc01 present: Only call present_flip_notify if vblank->queued == FALSE
We are no longer using the present_flip_queue list only for presents
which have already been submitted to the driver for page flipping, but
also for those which we are queueing up to be flipped later, marked
with vblank->queued == TRUE. We were incorrectly calling
present_flip_notify for such entries, failing the assertion in
present_flip_notify (or presumably resulting in other undesirable
behaviour with assertions disabled).

Reproduction recipe: Run the JavaFX test case referenced by
https://bugs.freedesktop.org/show_bug.cgi?id=98831#c6 and alt-tab out
of it while it's fullscreen. May take a few attempts to hit the
assertion failure.

Fixes: bab0f450a7 ("present: Fix presentation of flips out of order")
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98854
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
2017-01-10 12:38:50 +09:00
..
Makefile.am present: Add Present extension 2013-10-31 16:59:18 -07:00
present_event.c present: Handle event mask updates as specified v2 2016-07-30 15:43:54 -07:00
present_fake.c present: Free the fake_present OsTimerPtr 2016-08-15 15:16:48 -04: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: Call set_abort_flip / restore_screen_pixmap in clear_window_flip 2016-08-15 15:14:53 -04:00
present_request.c present: Handle event mask updates as specified v2 2016-07-30 15:43:54 -07:00
present_screen.c present: Call set_abort_flip / restore_screen_pixmap in clear_window_flip 2016-08-15 15:14:53 -04:00
present.c present: Only call present_flip_notify if vblank->queued == FALSE 2017-01-10 12:38:50 +09:00
present.h glx/present: Only send GLX_BufferSwapComplete for PresentCompleteKindPixmap 2014-09-11 18:19:41 -07:00
presentext.h present: Add Present extension 2013-10-31 16:59:18 -07:00