/* make sure the port is stoped as well */
vmw_xv_stop_video(pScrn, &video->port[i], TRUE);
vmw_ioctl_unref_stream(vmw, video->port[i].streamId);
+ REGION_UNINIT(pScreen, &video->port[i].clipBoxes);
}
+
/* XXX: I'm sure this function is missing code for turning off Xv */
free(vmw->video_priv);
video->port[i].flags = SVGA_VIDEO_FLAG_COLORKEY;
video->port[i].colorKey = VMWARE_VIDEO_COLORKEY;
video->port[i].isAutoPaintColorkey = TRUE;
+ REGION_NULL(pScrn->pScreen, &video->port[i].clipBoxes);
adaptor->pPortPrivates[i].ptr = &video->port[i];
}
REGION_COPY(pScrn->pScreen, &port->clipBoxes, clipBoxes);
- if (port->isAutoPaintColorkey)
- xf86XVFillKeyHelper(pScrn->pScreen, port->colorKey, clipBoxes);
+ if (port->isAutoPaintColorkey) {
+ xf86XVFillKeyHelper(pScrn->pScreen, port->colorKey, clipBoxes);
+ xorg_flush(pScrn->pScreen);
+ }
return port->play(pScrn, port, src_x, src_y, drw_x, drw_y, src_w, src_h,
drw_w, drw_h, format, buf, width, height, clipBoxes);
REGION_COPY(pScrn->pScreen, &port->clipBoxes, clipBoxes);
if (port->isAutoPaintColorkey) {
xf86XVFillKeyHelper(pScrn->pScreen, port->colorKey, clipBoxes);
+ xorg_flush(pScrn->pScreen);
}
}
if (!vmw->video_priv)
return;
+ REGION_EMPTY(pScrn->pScreen, &port->clipBoxes);
+
if (!cleanup)
return;