Module: Mesa
Branch: mesa_7_7_branch
Commit: 5109484bd9cd79ed88af59280bd0be5a4150f37c
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=5109484bd9cd79ed88af59280bd0be5a4150f37c

Author: Jakob Bornecrantz <[email protected]>
Date:   Wed Nov 18 17:45:39 2009 +0100

st/xorg: Flush any pending operations on upload

---

 src/gallium/state_trackers/xorg/xorg_exa.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c 
b/src/gallium/state_trackers/xorg/xorg_exa.c
index 3a51ad2..3d83b57 100644
--- a/src/gallium/state_trackers/xorg/xorg_exa.c
+++ b/src/gallium/state_trackers/xorg/xorg_exa.c
@@ -230,6 +230,11 @@ ExaUploadToScreen(PixmapPtr pPix, int x, int y, int w, int 
h, char *src,
     if (!priv || !priv->tex)
        return FALSE;
 
+    /* make sure that any pending operations are flushed to hardware */
+    if (exa->pipe->is_texture_referenced(exa->pipe, priv->tex, 0, 0) &
+       (PIPE_REFERENCED_FOR_READ | PIPE_REFERENCED_FOR_WRITE))
+       xorg_exa_flush(exa, 0, NULL);
+
     transfer = exa->scrn->get_tex_transfer(exa->scrn, priv->tex, 0, 0, 0,
                                           PIPE_TRANSFER_WRITE, x, y, w, h);
     if (!transfer)

_______________________________________________
mesa-commit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/mesa-commit

Reply via email to