summaryrefslogtreecommitdiff
path: root/src/radeon_commonfuncs.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2011-08-03 16:20:13 -0400
committerAlex Deucher <alexdeucher@gmail.com>2011-08-03 16:20:13 -0400
commit3b9fdc807dd7e52af0576299cefba596040f6f2f (patch)
treeffb65ece888a3b877d07f7fef27040e8437df7cf /src/radeon_commonfuncs.c
parent104b2d7c071f29266b1bc4184a74e9714d14febc (diff)
r5xx+: Fix vline setup with crtc offsets
On r5xx+, vline is relative to to the viewport, not the scanlines. Based on initial patch and investigation from Herbert Pƶtzl (Bertl) on IRC. Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Diffstat (limited to 'src/radeon_commonfuncs.c')
-rw-r--r--src/radeon_commonfuncs.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/radeon_commonfuncs.c b/src/radeon_commonfuncs.c
index 2199daf9..72819490 100644
--- a/src/radeon_commonfuncs.c
+++ b/src/radeon_commonfuncs.c
@@ -867,6 +867,12 @@ void FUNC_NAME(RADEONWaitForVLine)(ScrnInfoPtr pScrn, PixmapPtr pPix,
if (start > crtc->mode.VDisplay)
return;
+ if (IS_AVIVO_VARIANT) {
+ /* on r5xx+ vline starts at viewport_y */
+ start += crtc->y;
+ stop += crtc->y;
+ }
+
#if defined(ACCEL_CP) && defined(XF86DRM_MODE)
if (info->cs) {
drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private;