From d1690f5cc096e2f735c8b407c370a1c1cd7a8afc Mon Sep 17 00:00:00 2001 From: Pierre Ossman Date: Wed, 3 Dec 2008 21:49:37 +0100 Subject: Improve tearing avoidance for Xvideo in two steps - Fix up VLINE handling to trigger whenever scanout is outside the visible area. - Render the video as a scissored triangle as R300+ cannot render a quad in a single pass. --- src/legacy_crtc.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/legacy_crtc.c') diff --git a/src/legacy_crtc.c b/src/legacy_crtc.c index 2e7063c1..751b5efc 100644 --- a/src/legacy_crtc.c +++ b/src/legacy_crtc.c @@ -956,7 +956,8 @@ RADEONInitCrtcRegisters(xf86CrtcPtr crtc, RADEONSavePtr save, save->crtc_pitch |= save->crtc_pitch << 16; save->crtc_gui_trig_vline = ((0 << RADEON_CRTC_GUI_TRIG_VLINE_START_SHIFT) | - (mode->CrtcVDisplay << RADEON_CRTC_GUI_TRIG_VLINE_END_SHIFT)); + (mode->CrtcVDisplay << RADEON_CRTC_GUI_TRIG_VLINE_END_SHIFT) | + RADEON_CRTC_GUI_TRIG_VLINE_INV); if (info->IsDellServer) { save->dac2_cntl = info->SavedReg->dac2_cntl; @@ -1150,7 +1151,8 @@ RADEONInitCrtc2Registers(xf86CrtcPtr crtc, RADEONSavePtr save, save->crtc2_pitch |= save->crtc2_pitch << 16; save->crtc2_gui_trig_vline = ((0 << RADEON_CRTC_GUI_TRIG_VLINE_START_SHIFT) | - (mode->CrtcVDisplay << RADEON_CRTC_GUI_TRIG_VLINE_END_SHIFT)); + (mode->CrtcVDisplay << RADEON_CRTC_GUI_TRIG_VLINE_END_SHIFT) | + RADEON_CRTC_GUI_TRIG_VLINE_INV); /* check to see if TV DAC is enabled for another crtc and keep it enabled */ if (save->crtc2_gen_cntl & RADEON_CRTC2_CRT2_ON) -- cgit v1.2.3