summaryrefslogtreecommitdiff
path: root/src/i830_video.c
diff options
context:
space:
mode:
authorZhenyu Wang <zhenyu.z.wang@intel.com>2007-11-09 19:36:25 +0800
committerZhenyu Wang <zhenyu.z.wang@intel.com>2007-11-09 19:36:25 +0800
commita9449fff4be8e6b3cc82914376420e3a66b960f5 (patch)
tree11d4f73363bdb254a416c2085045de7f772aa571 /src/i830_video.c
parenta470f6b2ca291e305979dd9223885a50dc0b334b (diff)
parent177924e879564b7e9e70fd607141978bfd053fff (diff)
Merge branch 'master' into xvmc
Diffstat (limited to 'src/i830_video.c')
-rw-r--r--src/i830_video.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/i830_video.c b/src/i830_video.c
index c74edb57..5cc291dd 100644
--- a/src/i830_video.c
+++ b/src/i830_video.c
@@ -2257,11 +2257,11 @@ I830PutImage(ScrnInfoPtr pScrn,
pI830->entityPrivate->XvInUse = i830_crtc_pipe (pPriv->current_crtc);;
}
- /* overlay limits */
- if(src_w > (drw_w * 7))
+ /* Clamp dst width & height to 7x of src (overlay limit) */
+ if(drw_w > (src_w * 7))
drw_w = src_w * 7;
- if(src_h > (drw_h * 7))
+ if(drw_h > (src_h * 7))
drw_h = src_h * 7;
/* Clip */
@@ -2886,15 +2886,14 @@ i830_crtc_dpms_video(xf86CrtcPtr crtc, Bool on)
if (crtc != pPriv->current_crtc)
return;
- /* Check if it's the crtc the overlay is on */
- if (on) {
- i830_overlay_switch_to_crtc (pScrn, crtc);
- } else {
+ /* Check if it's the crtc the overlay is off */
+ if (!on) {
/* We stop the video when mode switching, so we don't lock up
* the engine. The overlayOK will determine whether we can re-enable
* with the current video on completion of the mode switch.
*/
I830StopVideo(pScrn, pPriv, TRUE);
+ pPriv->current_crtc = NULL;
pPriv->overlayOK = FALSE;
pPriv->oneLineMode = FALSE;
}