Mesa (9.1): st/xlib: Flush the front buffer before doing CopySubBuffer

Ian Romanick idr at kemper.freedesktop.org
Wed Jun 26 17:58:38 UTC 2013


Module: Mesa
Branch: 9.1
Commit: 6c210d949b5a93c6c58738c1be97158a3a098308
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=6c210d949b5a93c6c58738c1be97158a3a098308

Author: Stéphane Marchesin <marcheu at chromium.org>
Date:   Fri May 10 18:30:46 2013 -0700

st/xlib: Flush the front buffer before doing CopySubBuffer

We flush pending rendering before running CopySubBuffer, which
ensures that the right bits get to the screen.

NOTE: This is a candidate for stable release branches.

Reviewed-by: Brian Paul <brianp at vmware.com>
(cherry picked from commit 4f905d4900ea962876eb5933dd00d4b251767f71)

---

 src/gallium/state_trackers/glx/xlib/xm_api.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/src/gallium/state_trackers/glx/xlib/xm_api.c b/src/gallium/state_trackers/glx/xlib/xm_api.c
index 9bb5780..5c6d6a7 100644
--- a/src/gallium/state_trackers/glx/xlib/xm_api.c
+++ b/src/gallium/state_trackers/glx/xlib/xm_api.c
@@ -1238,6 +1238,10 @@ void XMesaSwapBuffers( XMesaBuffer b )
  */
 void XMesaCopySubBuffer( XMesaBuffer b, int x, int y, int width, int height )
 {
+   XMesaContext xmctx = XMesaGetCurrentContext();
+
+   xmctx->st->flush( xmctx->st, ST_FLUSH_FRONT, NULL);
+
    xmesa_copy_st_framebuffer(b->stfb,
          ST_ATTACHMENT_BACK_LEFT, ST_ATTACHMENT_FRONT_LEFT,
          x, b->height - y - height, width, height);




More information about the mesa-commit mailing list