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

Author: Eric Anholt <[email protected]>
Date:   Mon Jun 22 16:33:29 2009 -0700

dri2: Refresh the fake front contents after glXSwapBuffers().

Bug #19177.

Reviewed by: Ian Romanick <[email protected]>

---

 src/glx/x11/dri2_glx.c |    7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)

diff --git a/src/glx/x11/dri2_glx.c b/src/glx/x11/dri2_glx.c
index fb31898..f4865ae 100644
--- a/src/glx/x11/dri2_glx.c
+++ b/src/glx/x11/dri2_glx.c
@@ -80,6 +80,8 @@ struct __GLXDRIdrawablePrivateRec {
     int have_fake_front;
 };
 
+static void dri2WaitX(__GLXDRIdrawable *pdraw);
+
 static void dri2DestroyContext(__GLXDRIcontext *context,
                              __GLXscreenConfigs *psc, Display *dpy)
 {
@@ -215,6 +217,11 @@ static void dri2CopySubBuffer(__GLXDRIdrawable *pdraw,
     DRI2CopyRegion(pdraw->psc->dpy, pdraw->drawable, region,
                   DRI2BufferFrontLeft, DRI2BufferBackLeft);
     XFixesDestroyRegion(pdraw->psc->dpy, region);
+
+    /* Refresh the fake front (if present) after we just damaged the real
+     * front.
+     */
+    dri2WaitX(pdraw);
 }
 
 static void dri2SwapBuffers(__GLXDRIdrawable *pdraw)

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

Reply via email to