summaryrefslogtreecommitdiffstats
path: root/src/gallium/targets
diff options
context:
space:
mode:
authorThomas Hellstrom <thellstrom@vmware.com>2010-11-26 10:06:47 +0100
committerThomas Hellstrom <thellstrom@vmware.com>2010-11-26 10:27:54 +0100
commit28ee7561f9e9bac8a76d5f96fe55b890a61a7d04 (patch)
treef9cfba448a8e4ca5e95a07a8c48fac67656f3b5a /src/gallium/targets
parente6e6fcd3a674429886aed499f9a63594aa5a0f58 (diff)
downloadexternal_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.c12
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);