diff options
author | Eric Anholt <[email protected]> | 2009-06-22 16:33:29 -0700 |
---|---|---|
committer | Eric Anholt <[email protected]> | 2009-06-23 19:31:12 -0700 |
commit | 5ca800e1006555ea1c5dcbbc56c35838c9f04994 (patch) | |
tree | 5249705f8fc5ed1b62ea5969be49d9cb8ca4c56b /src | |
parent | 9c0ba017c8ff7caafc3ff94da3c035e687231596 (diff) |
dri2: Refresh the fake front contents after glXSwapBuffers().
Bug #19177.
Reviewed by: Ian Romanick <[email protected]>
Diffstat (limited to 'src')
-rw-r--r-- | 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 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) |