Mesa (master): st/xorg: Flush context if necessary in ExaPrepareAccess.

Michel Dänzer daenzer at kemper.freedesktop.org
Thu Aug 27 18:30:56 UTC 2009


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

Author: Michel Dänzer <daenzer at vmware.com>
Date:   Thu Aug 27 20:27:28 2009 +0200

st/xorg: Flush context if necessary in ExaPrepareAccess.

---

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

diff --git a/src/gallium/state_trackers/xorg/xorg_exa.c b/src/gallium/state_trackers/xorg/xorg_exa.c
index 3c90c2c..e4d73f7 100644
--- a/src/gallium/state_trackers/xorg/xorg_exa.c
+++ b/src/gallium/state_trackers/xorg/xorg_exa.c
@@ -115,6 +115,10 @@ ExaPrepareAccess(PixmapPtr pPix, int index)
 
     if (priv->map_count++ == 0)
     {
+	if (exa->ctx->is_texture_referenced(exa->ctx, priv->tex, 0, 0) &
+	    PIPE_REFERENCED_FOR_WRITE)
+	    exa->ctx->flush(exa->ctx, 0, NULL);
+
 	priv->map_transfer =
 	    exa->scrn->get_tex_transfer(exa->scrn, priv->tex, 0, 0, 0,
 					PIPE_TRANSFER_READ_WRITE,




More information about the mesa-commit mailing list