Mesa (master): xorg/vmwgfx: Flush even if we don't autopaint the color key

Thomas Hellstrom thomash at kemper.freedesktop.org
Fri Nov 26 09:31:37 UTC 2010


Module: Mesa
Branch: master
Commit: 28ee7561f9e9bac8a76d5f96fe55b890a61a7d04
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=28ee7561f9e9bac8a76d5f96fe55b890a61a7d04

Author: Thomas Hellstrom <thellstrom at vmware.com>
Date:   Fri Nov 26 10:06:47 2010 +0100

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 at vmware.com>

---

 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);




More information about the mesa-commit mailing list