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