diff options
author | Stéphane Marchesin <[email protected]> | 2013-05-10 18:30:46 -0700 |
---|---|---|
committer | Stéphane Marchesin <[email protected]> | 2013-06-07 18:53:54 -0700 |
commit | 4f905d4900ea962876eb5933dd00d4b251767f71 (patch) | |
tree | 699a04bb8683fc9ebc60bc1eceaab13d254f8dae /src/gallium/state_trackers/glx | |
parent | 4e5416b0e2e0aedbed48acabe31a68fe1b37b61a (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]>
Diffstat (limited to 'src/gallium/state_trackers/glx')
-rw-r--r-- | 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 c39968dc7cf..b758c8eaae7 100644 --- a/src/gallium/state_trackers/glx/xlib/xm_api.c +++ b/src/gallium/state_trackers/glx/xlib/xm_api.c @@ -1253,6 +1253,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); |