summaryrefslogtreecommitdiff
path: root/src/radeon_output.c
diff options
context:
space:
mode:
authorRamon van der Stelt <rvanderstelt@xs4all.nl>2008-11-25 02:23:46 -0500
committerAlex Deucher <alexdeucher@gmail.com>2008-11-25 02:23:46 -0500
commit065938617c0feab17f4274a5350de02a692ba065 (patch)
tree5f13a5adefe35eff56d8e4f3e44a69451b4d2e0b /src/radeon_output.c
parent36a7dc6ea1e1929e986ab1159497c71521cb2f10 (diff)
Interlaced mode fixes
see bug 12626
Diffstat (limited to 'src/radeon_output.c')
-rw-r--r--src/radeon_output.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/radeon_output.c b/src/radeon_output.c
index 0ac19e75..035f2b82 100644
--- a/src/radeon_output.c
+++ b/src/radeon_output.c
@@ -477,6 +477,12 @@ radeon_mode_fixup(xf86OutputPtr output, DisplayModePtr mode,
radeon_output->Flags &= ~RADEON_USE_RMX;
+ /*
+ * Refresh the Crtc values without INTERLACE_HALVE_V
+ * Should we use output->scrn->adjustFlags like xf86RandRModeConvert() does?
+ */
+ xf86SetModeCrtc(adjusted_mode, 0);
+
/* decide if we are using RMX */
if ((radeon_output->MonType == MT_LCD || radeon_output->MonType == MT_DFP)
&& radeon_output->rmx_type != RMX_OFF) {
@@ -536,7 +542,7 @@ radeon_mode_fixup(xf86OutputPtr output, DisplayModePtr mode,
if (IS_AVIVO_VARIANT) {
/* hw bug */
if ((mode->Flags & V_INTERLACE)
- && (mode->CrtcVSyncStart < (mode->CrtcVDisplay + 2)))
+ && (adjusted_mode->CrtcVSyncStart < (adjusted_mode->CrtcVDisplay + 2)))
adjusted_mode->CrtcVSyncStart = adjusted_mode->CrtcVDisplay + 2;
}