mesa: Issue PIPE_FLUSH_FRAME in glSwapBuffers/glFlush/glFinish.
authorJosé Fonseca <jrfonseca@tungstengraphics.com>
Thu, 14 Aug 2008 10:40:33 +0000 (11:40 +0100)
committerJosé Fonseca <jrfonseca@tungstengraphics.com>
Fri, 15 Aug 2008 09:35:18 +0000 (10:35 +0100)
src/mesa/state_tracker/st_cb_flush.c
src/mesa/state_tracker/st_framebuffer.c

index 5e866b0d413fd1c3a78f1a490aab7e590166aa33..d8f9537d2de63e5ed7ac66420d39b88d879f4b38 100644 (file)
@@ -91,7 +91,7 @@ void st_finish( struct st_context *st )
 {
    struct pipe_fence_handle *fence = NULL;
 
-   st_flush(st, PIPE_FLUSH_RENDER_CACHE, &fence);
+   st_flush(st, PIPE_FLUSH_RENDER_CACHE | PIPE_FLUSH_FRAME, &fence);
 
    st->pipe->winsys->fence_finish(st->pipe->winsys, fence, 0);
    st->pipe->winsys->fence_reference(st->pipe->winsys, &fence, NULL);
index 039a9cfe8996bb4976bdbd522394582aadbcefc4..4012cf73e57b0b61a0e2779e8c6553084abbc938 100644 (file)
@@ -265,7 +265,9 @@ st_notify_swapbuffers(struct st_framebuffer *stfb)
 
    if (ctx && ctx->DrawBuffer == &stfb->Base) {
       st_flush( ctx->st, 
-               PIPE_FLUSH_RENDER_CACHE | PIPE_FLUSH_SWAPBUFFERS,
+               PIPE_FLUSH_RENDER_CACHE | 
+               PIPE_FLUSH_SWAPBUFFERS |
+               PIPE_FLUSH_FRAME,
                 NULL );
       ctx->st->frontbuffer_status = FRONT_STATUS_COPY_OF_BACK;
    }