summaryrefslogtreecommitdiffstats
path: root/src/gallium
diff options
context:
space:
mode:
authorStéphane Marchesin <[email protected]>2013-05-10 18:30:46 -0700
committerIan Romanick <[email protected]>2013-06-26 10:58:23 -0700
commit6c210d949b5a93c6c58738c1be97158a3a098308 (patch)
treebce14f274ac07b4b3d8eb1ef7d49150e12a13df3 /src/gallium
parent520586ac3ce13fe67e9ca4438310141be781fb38 (diff)
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 <[email protected]> (cherry picked from commit 4f905d4900ea962876eb5933dd00d4b251767f71)
Diffstat (limited to 'src/gallium')
-rw-r--r--src/gallium/state_trackers/glx/xlib/xm_api.c4
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 9bb5780e9d8..5c6d6a73005 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);