summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwain G. Ainsworth <oga@openbsd.org>2011-03-16 20:04:32 +0000
committerOwain G. Ainsworth <oga@openbsd.org>2011-03-16 20:04:32 +0000
commite3275f59131219375969ef0f6b20210ba901fb43 (patch)
tree2ef2b49b8bffac54bffaf59c407d494a5176620b
parent53fc18eef519be501392dc766c086ed39c4e9ffd (diff)
xv: Fix interlace computation
scrn->currentMode is a hack for xf86vidmode and in general is wrong for RANDRful drivers. Use the mode on the associated CRTC instead. Signed-off-by: Adam Jackson <ajax@redhat.com> [ickle: crtc->mode is a ModeRec] Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> (cherry picked from commit b0d10ff04a24a951256a79710ba22b325b549ba4) Conflicts: src/intel_video.c
-rw-r--r--src/intel_video.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/intel_video.c b/src/intel_video.c
index 011c6fa0..ebd12027 100644
--- a/src/intel_video.c
+++ b/src/intel_video.c
@@ -2241,6 +2241,12 @@ intel_wait_for_scanline(ScrnInfoPtr scrn, PixmapPtr pixmap,
event = MI_WAIT_FOR_PIPEB_SVBLANK;
}
+ if (crtc->mode.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. */