xf86-video-ati: Branch 'randr-1.2'
Jesse Barnes
jbarnes at kemper.freedesktop.org
Thu May 10 01:05:17 EEST 2007
src/radeon_display.c | 28 +++++++++++++++++++++++++---
1 files changed, 25 insertions(+), 3 deletions(-)
New commits:
diff-tree 6263248a0044777a352e4ee7380b4b8f9afd091b (from d2497009e395800fbde5777465f3087a54b94418)
Author: Jesse Barnes <jbarnes at jbarnes-mobile.amr.corp.intel.com>
Date: Wed May 9 14:52:00 2007 -0700
RADEON:
- use fixup_mode hook to set RADEON_USE_RMX flag so panel scaling
works
- use valid_mode hook to prune invalid default modes from list
- use adjusted_mode in crtc_mode_set (using adjusted_mode from
fixup hook)
diff --git a/src/radeon_display.c b/src/radeon_display.c
index 1039209..9a3a87f 100644
--- a/src/radeon_display.c
+++ b/src/radeon_display.c
@@ -2288,10 +2288,10 @@ radeon_crtc_mode_set(xf86CrtcPtr crtc, D
switch (radeon_crtc->crtc_id) {
case 0:
- RADEONInit2(pScrn, mode, NULL, 1, &info->ModeReg, montype);
+ RADEONInit2(pScrn, adjusted_mode, NULL, 1, &info->ModeReg, montype);
break;
case 1:
- RADEONInit2(pScrn, NULL, mode, 2, &info->ModeReg, montype);
+ RADEONInit2(pScrn, NULL, adjusted_mode, 2, &info->ModeReg, montype);
break;
}
@@ -2430,6 +2430,18 @@ radeon_restore(xf86OutputPtr restore)
static int
radeon_mode_valid(xf86OutputPtr output, DisplayModePtr pMode)
{
+ ScrnInfoPtr pScrn = output->scrn;
+ RADEONInfoPtr info = RADEONPTR(pScrn);
+ RADEONOutputPrivatePtr radeon_output = output->driver_private;
+ DisplayModePtr m;
+
+ if (radeon_output->type != OUTPUT_LVDS)
+ return MODE_OK;
+
+ if (pMode->HDisplay > info->PanelXRes ||
+ pMode->VDisplay > info->PanelYRes)
+ return MODE_PANEL;
+
return MODE_OK;
}
@@ -2437,8 +2449,18 @@ static Bool
radeon_mode_fixup(xf86OutputPtr output, DisplayModePtr mode,
DisplayModePtr adjusted_mode)
{
- return TRUE;
+ ScrnInfoPtr pScrn = output->scrn;
+ RADEONInfoPtr info = RADEONPTR(pScrn);
+ RADEONOutputPrivatePtr radeon_output = output->driver_private;
+
+ if (radeon_output->type != OUTPUT_LVDS)
+ return TRUE;
+
+ if (mode->HDisplay < info->PanelXRes ||
+ mode->VDisplay < info->PanelYRes)
+ adjusted_mode->Flags |= RADEON_USE_RMX;
+ return TRUE;
}
static void
More information about the xorg-commit
mailing list