summaryrefslogtreecommitdiff
path: root/src/mesa/state_tracker/st_cb_flush.c
diff options
context:
space:
mode:
authorMichel Dänzer <michel@tungstengraphics.com>2008-04-04 16:21:42 +0100
committerMichel Dänzer <michel@tungstengraphics.com>2008-04-04 16:27:45 +0100
commit1d6877b32642d718fb7b29eca647f4d1dd0f99bb (patch)
tree118e4fb34d2725de703357bb493c0e27536bf031 /src/mesa/state_tracker/st_cb_flush.c
parent7b5303adbf5965510061a21f40d40c931add73eb (diff)
gallium: Revert st_gl_flush() changes from when the **fence argument was added.
As st_gl_flush() isn't used by st_finish() anymore, it doesn't have to make sure pipe->flush() always gets called.
Diffstat (limited to 'src/mesa/state_tracker/st_cb_flush.c')
-rw-r--r--src/mesa/state_tracker/st_cb_flush.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/mesa/state_tracker/st_cb_flush.c b/src/mesa/state_tracker/st_cb_flush.c
index 44bf77ae71..c90bedd3e5 100644
--- a/src/mesa/state_tracker/st_cb_flush.c
+++ b/src/mesa/state_tracker/st_cb_flush.c
@@ -60,7 +60,7 @@ static void st_gl_flush( struct st_context *st, uint pipeFlushFlags,
{
GLframebuffer *fb = st->ctx->DrawBuffer;
- st_flush( st, pipeFlushFlags, fence );
+ FLUSH_VERTICES(st->ctx, 0);
if (!fb)
return;
@@ -85,6 +85,15 @@ static void st_gl_flush( struct st_context *st, uint pipeFlushFlags,
= st_renderbuffer(fb->Attachment[BUFFER_FRONT_LEFT].Renderbuffer);
struct pipe_surface *front_surf = strb->surface;
+ /* If we aren't rendering to the frontbuffer, this is a noop.
+ * This should be uncontroversial for glFlush, though people may
+ * feel more strongly about glFinish.
+ *
+ * Additionally, need to make sure that the frontbuffer_dirty
+ * flag really gets set on frontbuffer rendering.
+ */
+ st->pipe->flush( st->pipe, pipeFlushFlags, fence );
+
/* Hook for copying "fake" frontbuffer if necessary:
*/
st->pipe->winsys->flush_frontbuffer( st->pipe->winsys, front_surf,