xf86-video-ati: Branch 'master'

Alex Deucher agd5f at kemper.freedesktop.org
Fri Mar 20 10:46:23 PDT 2009


 src/radeon_output.c |   21 ++++++++++++++++++---
 1 file changed, 18 insertions(+), 3 deletions(-)

New commits:
commit 1ddee7cd6fd267b2fc86f21af27c5425eb0835a4
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Fri Mar 20 13:44:00 2009 -0400

    DCE3.2: use RMX for for non-native modes on DVI
    
    DVI seems to have issues with low dotclocks, so
    use the scaler instead.
    
    Fixes bug 20754

diff --git a/src/radeon_output.c b/src/radeon_output.c
index 3931db4..7f68f64 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -1263,10 +1263,21 @@ radeon_create_resources(xf86OutputPtr output)
 		       "RRConfigureOutputProperty error, %d\n", err);
 	}
 	/* Set the current value of the property */
-	if (radeon_output->devices & (ATOM_DEVICE_LCD_SUPPORT))
-	    s = "full";
-	else
+	switch (radeon_output->rmx_type) {
+	case RMX_OFF:
+	default:
 	    s = "off";
+	    break;
+	case RMX_FULL:
+	    s = "full";
+	    break;
+	case RMX_CENTER:
+	    s = "center";
+	    break;
+	case RMX_ASPECT:
+	    s = "aspect";
+	    break;
+	}
 	err = RRChangeOutputProperty(output->randr_output, rmx_atom,
 				     XA_STRING, 8, PropModeReplace, strlen(s), (pointer)s,
 				     FALSE, FALSE);
@@ -1884,6 +1895,10 @@ void RADEONInitConnector(xf86OutputPtr output)
     else
 	radeon_output->rmx_type = RMX_OFF;
 
+    /* dce 3.2 chips have problems with low dot clocks, so use the scaler */
+    if (IS_DCE32_VARIANT && (radeon_output->devices & (ATOM_DEVICE_DFP_SUPPORT)))
+	radeon_output->rmx_type = RMX_FULL;
+
     if (!IS_AVIVO_VARIANT) {
 	if (radeon_output->devices & (ATOM_DEVICE_CRT2_SUPPORT)) {
 	    if (xf86ReturnOptValBool(info->Options, OPTION_TVDAC_LOAD_DETECT, FALSE))


More information about the xorg-commit mailing list