xserver: Branch 'master'

Jesse Barnes jbarnes at kemper.freedesktop.org
Mon May 4 15:39:48 PDT 2009


 hw/xfree86/modes/xf86Crtc.c |   11 ++++++++---
 1 file changed, 8 insertions(+), 3 deletions(-)

New commits:
commit 94648bb797d94b025746c60679c584e5be2fae28
Author: Jesse Barnes <jbarnes at virtuousgeek.org>
Date:   Mon May 4 15:38:22 2009 -0700

    Don't prepare outputs & crtcs if set_mode_major is present
    
    A driver with this hook will take care of preparing the outputs & crtcs,
    so calling the prepare functions will just cause unnecessary flicker.
    
    Fixes bug #21077

diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index c6eed33..1b241cd 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -2549,18 +2549,23 @@ Bool
 xf86SetDesiredModes (ScrnInfoPtr scrn)
 {
     xf86CrtcConfigPtr   config = XF86_CRTC_CONFIG_PTR(scrn);
+    xf86CrtcPtr         crtc = config->crtc[0];
     int			c;
 
-    xf86PrepareOutputs(scrn);
-    xf86PrepareCrtcs(scrn);
+    /* A driver with this hook will take care of this */
+    if (!crtc->funcs->set_mode_major) {
+	xf86PrepareOutputs(scrn);
+	xf86PrepareCrtcs(scrn);
+    }
 
     for (c = 0; c < config->num_crtc; c++)
     {
-	xf86CrtcPtr	crtc = config->crtc[c];
 	xf86OutputPtr	output = NULL;
 	int		o;
 	RRTransformPtr	transform;
 
+	crtc = config->crtc[c];
+
 	/* Skip disabled CRTCs */
 	if (!crtc->enabled)
 	    continue;


More information about the xorg-commit mailing list