xserver: Branch 'master' - 3 commits

Keith Packard keithp at kemper.freedesktop.org
Thu Jul 19 13:31:41 PDT 2007


 hw/xfree86/modes/xf86Crtc.c    |    5 +++--
 hw/xfree86/modes/xf86RandR12.c |    4 ++++
 2 files changed, 7 insertions(+), 2 deletions(-)

New commits:
diff-tree dc9c5196282ba61bd542e198dfe0d53d93181591 (from 73a93c5a6b68f7ba21f9e75f50b1032603a3b39e)
Author: Keith Packard <keithp at neko.keithp.com>
Date:   Thu Jul 19 13:28:00 2007 -0700

    Make PreferredMode option in config file override EDID mode preferences.
    
    When the PreferredMode option is selected in the config file, remove the
    M_T_PREFERRED bit from all other preferred modes to force the config file
    mode to be selected.

diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index 1899d7f..170c921 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -1414,8 +1414,9 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, 
 			output->probed_modes = mode;
 		    }
 		    mode->type |= M_T_PREFERRED;
-		    break;
 		}
+		else
+		    mode->type &= ~M_T_PREFERRED;
 	    }
 	}
 	
diff-tree 73a93c5a6b68f7ba21f9e75f50b1032603a3b39e (from 9fc36a391c11170cde1a28f548a2cae5f6f20d5b)
Author: Keith Packard <keithp at neko.keithp.com>
Date:   Thu Jul 19 13:26:36 2007 -0700

    Query modes on disabled (but not ignored) outputs.
    
    Code that disabled mode detection on disabled outputs would confuse
    applications by listing said outputs as connected but without any modes.
    This makes the disabled state in the config file affect only the initial
    configuration and not subsequent modifications by RandR.

diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index ecdf620..1899d7f 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -1254,7 +1254,7 @@ xf86ProbeOutputModes (ScrnInfoPtr scrn, 
 	 */
 	output->status = (*output->funcs->detect)(output);
 
-	if (!xf86OutputEnabled (output))
+	if (output->status == XF86OutputStatusDisconnected)
 	{
 	    xf86OutputSetEDID (output, NULL);
 	    continue;
diff-tree 9fc36a391c11170cde1a28f548a2cae5f6f20d5b (from aed6569309223ecc7e26fa84e4d430e422455607)
Author: Keith Packard <keithp at neko.keithp.com>
Date:   Sat Jul 14 12:36:15 2007 -0700

    Make pending property changes trigger mode setting.
    
    The DDX code was ignoring pending properties for computing when mode setting
    was required. This meant that configurations differing only in property
    values would not cause the mode to be set.

diff --git a/hw/xfree86/modes/xf86RandR12.c b/hw/xfree86/modes/xf86RandR12.c
index f5215ef..6c3bf8d 100644
--- a/hw/xfree86/modes/xf86RandR12.c
+++ b/hw/xfree86/modes/xf86RandR12.c
@@ -750,6 +750,10 @@ xf86RandR12CrtcSet (ScreenPtr	pScreen,
 	    output->crtc = new_crtc;
 	}
     }
+    for (ro = 0; ro < num_randr_outputs; ro++) 
+        if (randr_outputs[ro]->pendingProperties)
+	    changed = TRUE;
+
     /* XXX need device-independent mode setting code through an API */
     if (changed)
     {


More information about the xorg-commit mailing list