xf86-video-intel: Branch 'modesetting' - src/i830_randr.c

Keith Packard keithp at kemper.freedesktop.org
Tue Nov 21 03:24:29 EET 2006


 src/i830_randr.c |   28 +++++++++++++++++-----------
 1 files changed, 17 insertions(+), 11 deletions(-)

New commits:
diff-tree a0a9d1ea2ac9a0c665e5a1de5b8b8358dee3b9b4 (from d6a0f917e601ea36643c6ad857756e19d24ecd73)
Author: Keith Packard <keithp at guitar.keithp.com>
Date:   Mon Nov 20 17:25:00 2006 -0800

    Set configured values for screen virtual size and initial frame.
    
    Computation for virtual size and initial frame origin is quite
    broken in xf86 common code.

diff --git a/src/i830_randr.c b/src/i830_randr.c
index d27125f..d8e2261 100644
--- a/src/i830_randr.c
+++ b/src/i830_randr.c
@@ -1172,17 +1172,16 @@ I830RRDefaultScreenLimits (RROutputPtr *
 
 	    for (s = 0; s < output->numCrtcs; s++)
 		if (output->crtcs[s] == crtc)
-		    break;
-	    if (s == output->numCrtcs)
-		continue;
-	    for (m = 0; m < output->numModes; m++)
-	    {
-		RRModePtr   mode = output->modes[m];
-		if (mode->mode.width > crtc_width)
-		    crtc_width = mode->mode.width;
-		if (mode->mode.height > crtc_width)
-		    crtc_height = mode->mode.height;
-	    }
+		{
+		    for (m = 0; m < output->numModes; m++)
+		    {
+			RRModePtr   mode = output->modes[m];
+			if (mode->mode.width > crtc_width)
+			    crtc_width = mode->mode.width;
+			if (mode->mode.height > crtc_width)
+			    crtc_height = mode->mode.height;
+		    }
+		}
 	}
 	width += crtc_width;
 	if (crtc_height > height)
@@ -1241,9 +1240,16 @@ I830RandRPreInit (ScrnInfoPtr pScrn)
     
     if (width > pScrn->virtualX)
 	pScrn->virtualX = width;
+    if (width > pScrn->display->virtualX)
+	pScrn->display->virtualX = width;
     if (height > pScrn->virtualY)
 	pScrn->virtualY = height;
+    if (height > pScrn->display->virtualY)
+	pScrn->display->virtualY = height;
     
+    /* XXX override xf86 common frame computation code */
+    pScrn->display->frameX0 = 0;
+    pScrn->display->frameY0 = 0;
     for (o = 0; o < pI830->num_outputs; o++)
     {
 	RRModePtr	randr_mode = output_modes[o];



More information about the xorg-commit mailing list