From: Eric Anholt Date: Mon, 22 Jun 2009 23:33:29 +0000 (-0700) Subject: dri2: Refresh the fake front contents after glXSwapBuffers(). X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=5ca800e1006555ea1c5dcbbc56c35838c9f04994;p=mesa.git dri2: Refresh the fake front contents after glXSwapBuffers(). Bug #19177. Reviewed by: Ian Romanick --- diff --git a/src/glx/x11/dri2_glx.c b/src/glx/x11/dri2_glx.c index fb31898db2d..f4865aecb1c 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)