[PATCH 1/2] Do not clear pending kernel events on mode switch

Keith Packard
2014-09-10T21:09:08Z

Let the kernel send these back to us so that DIX hears about them in
the usual way.

Mode setting while Present has a flip active will trigger an unflip
before the mode is changed. The event from that unflip will not get
processed before the mode switch is executed. Clearing the driver
queue at mode switch time will discard the connection between the
kernel event and the present callback so that DIX will never know that
the flip pixmap is idle.

Signed-off-by: Keith Packard <keithp-aN4HjG94KOLQT0dZR+AlfA@public.gmane.org>
---
src/uxa/intel_display.c | 4 ----
1 file changed, 4 deletions(-)

diff --git a/src/uxa/intel_display.c b/src/uxa/intel_display.c
index 97af76d..8c43ae9 100644
--- a/src/uxa/intel_display.c
+++ b/src/uxa/intel_display.c
@@ -71,9 +71,6 @@ struct intel_drm_queue {
intel_drm_abort_proc abort;
};

-static void
-intel_drm_abort_scrn(ScrnInfoPtr scrn);
-
static uint32_t intel_drm_seq;
static struct list intel_drm_queue;

@@ -398,7 +395,6 @@ intel_crtc_apply(xf86CrtcPtr crtc)

if (scrn->pScreen)
xf86_reload_cursors(scrn->pScreen);
- intel_drm_abort_scrn(scrn);

done:
free(output_ids);
--
2.0.1