diff options
author | Keith Packard <keithp@dulcimer.keithp.com> | 2007-06-05 00:09:57 -0700 |
---|---|---|
committer | Keith Packard <keithp@dulcimer.keithp.com> | 2007-06-05 00:09:57 -0700 |
commit | 8a19e7d57bc23dd163b45e0ab7deca4f074c934d (patch) | |
tree | 8496eeb72bd5d238c419a84e880801415b5a3310 | |
parent | e986f6cb62f8644c5fa835bd7dfb7b014c2677c5 (diff) |
Always ensure the pipe A is lit when activating overlay on pipe B.
Ok, so moving video from pipe A to pipe B still requires that pipe A be
active during the transition. Instead of trying to be fancy, just ensure
that pipe A is running on each transition to pipe B.
-rw-r--r-- | src/i830_video.c | 14 | ||||
-rw-r--r-- | src/i830_video.h | 1 |
2 files changed, 4 insertions, 11 deletions
diff --git a/src/i830_video.c b/src/i830_video.c index 382b1ebb..b8726a80 100644 --- a/src/i830_video.c +++ b/src/i830_video.c @@ -416,18 +416,12 @@ i830_overlay_on(ScrnInfoPtr pScrn) return; /* - * On I830, if pipe A is off the first time the overlay - * is enabled, it will fail to turn and blank the entire - * screen. Light up pipe A in this case to provide a clock - * for the overlay hardware + * On I830, if pipe A is off when the overlayis enabled, it will fail to + * turn on and blank the entire screen or lock up the ring. Light up pipe + * A in this case to provide a clock for the overlay hardware */ - if (pPriv->current_crtc && - i830_crtc_pipe (pPriv->current_crtc) != 0 && - !pPriv->started_video) - { - pPriv->started_video = TRUE; + if (pPriv->current_crtc && i830_crtc_pipe (pPriv->current_crtc) != 0) deactivate = i830_pipe_a_require_activate (pScrn); - } overlay->OCMD &= ~OVERLAY_ENABLE; BEGIN_LP_RING(6); diff --git a/src/i830_video.h b/src/i830_video.h index 88a7bd9e..7e2d1498 100644 --- a/src/i830_video.h +++ b/src/i830_video.h @@ -77,7 +77,6 @@ typedef struct { int oneLineMode; int scaleRatio; Bool textured; - Bool started_video; } I830PortPrivRec, *I830PortPrivPtr; #define GET_PORT_PRIVATE(pScrn) \ |