summaryrefslogtreecommitdiff
path: root/src/intel_video.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/intel_video.c')
-rw-r--r--src/intel_video.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/src/intel_video.c b/src/intel_video.c
index 30a0c375..9c918d5d 100644
--- a/src/intel_video.c
+++ b/src/intel_video.c
@@ -1348,13 +1348,19 @@ intel_wait_for_scanline(ScrnInfoPtr scrn, PixmapPtr pixmap,
event = MI_WAIT_FOR_PIPEB_SVBLANK;
}
+ if (scrn->currentMode->Flags & V_INTERLACE) {
+ /* DSL count field lines */
+ y1 /= 2;
+ y2 /= 2;
+ }
+
BEGIN_BATCH(5);
/* The documentation says that the LOAD_SCAN_LINES command
* always comes in pairs. Don't ask me why. */
OUT_BATCH(MI_LOAD_SCAN_LINES_INCL | pipe);
- OUT_BATCH((box.y1 << 16) | box.y2);
+ OUT_BATCH((y1 << 16) | y2);
OUT_BATCH(MI_LOAD_SCAN_LINES_INCL | pipe);
- OUT_BATCH((box.y1 << 16) | box.y2);
+ OUT_BATCH((y1 << 16) | y2);
OUT_BATCH(MI_WAIT_FOR_EVENT | event);
ADVANCE_BATCH();
}