diff options
author | Thomas Hellstrom <thellstrom@vmware.com> | 2010-11-26 10:06:47 +0100 |
---|---|---|
committer | Thomas Hellstrom <thellstrom@vmware.com> | 2010-11-26 10:27:54 +0100 |
commit | 28ee7561f9e9bac8a76d5f96fe55b890a61a7d04 (patch) | |
tree | f9cfba448a8e4ca5e95a07a8c48fac67656f3b5a /src/gallium/targets | |
parent | e6e6fcd3a674429886aed499f9a63594aa5a0f58 (diff) | |
download | external_mesa3d-28ee7561f9e9bac8a76d5f96fe55b890a61a7d04.zip external_mesa3d-28ee7561f9e9bac8a76d5f96fe55b890a61a7d04.tar.gz external_mesa3d-28ee7561f9e9bac8a76d5f96fe55b890a61a7d04.tar.bz2 |
xorg/vmwgfx: Flush even if we don't autopaint the color key
This may help paint the colorkey before overlay updates in some
situations where the app paints the color key (mainly xine).
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com>
Diffstat (limited to 'src/gallium/targets')
-rw-r--r-- | src/gallium/targets/xorg-vmwgfx/vmw_video.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/src/gallium/targets/xorg-vmwgfx/vmw_video.c b/src/gallium/targets/xorg-vmwgfx/vmw_video.c index 719646a..3d90757 100644 --- a/src/gallium/targets/xorg-vmwgfx/vmw_video.c +++ b/src/gallium/targets/xorg-vmwgfx/vmw_video.c @@ -556,10 +556,10 @@ vmw_video_port_init(ScrnInfoPtr pScrn, struct vmw_video_port *port, REGION_COPY(pScrn->pScreen, &port->clipBoxes, clipBoxes); - if (port->isAutoPaintColorkey) { + if (port->isAutoPaintColorkey) xf86XVFillKeyHelper(pScrn->pScreen, port->colorKey, clipBoxes); - xorg_flush(pScrn->pScreen); - } + + 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); @@ -646,12 +646,12 @@ vmw_video_port_play(ScrnInfoPtr pScrn, struct vmw_video_port *port, */ if (!REGION_EQUAL(pScrn->pScreen, &port->clipBoxes, clipBoxes)) { REGION_COPY(pScrn->pScreen, &port->clipBoxes, clipBoxes); - if (port->isAutoPaintColorkey) { + if (port->isAutoPaintColorkey) xf86XVFillKeyHelper(pScrn->pScreen, port->colorKey, clipBoxes); - xorg_flush(pScrn->pScreen); - } } + xorg_flush(pScrn->pScreen); + ret = drmCommandWrite(vmw->fd, DRM_VMW_CONTROL_STREAM, &arg, sizeof(arg)); if (ret) { vmw_video_port_cleanup(pScrn, port); |