gallium: refactor code, new flush_front_buffer() function
authorBrian Paul <brian.paul@tungstengraphics.com>
Wed, 9 Apr 2008 22:26:56 +0000 (16:26 -0600)
committerBrian Paul <brian.paul@tungstengraphics.com>
Wed, 9 Apr 2008 22:26:56 +0000 (16:26 -0600)
src/mesa/state_tracker/st_cb_flush.c

index c7efa40..1fc3a20 100644 (file)
 #include "pipe/p_winsys.h"
 
 
-void st_flush( struct st_context *st, uint pipeFlushFlags,
-               struct pipe_fence_handle **fence )
-{
-   FLUSH_VERTICES(st->ctx, 0);
-
-   st_flush_bitmap_cache(st);
-
-   st->pipe->flush( st->pipe, pipeFlushFlags, fence );
-}
-
-
-static void st_gl_flush( struct st_context *st, uint pipeFlushFlags,
-                         struct pipe_fence_handle **fence )
+static void
+flush_front_buffer(struct st_context *st, uint pipeFlushFlags,
+                   struct pipe_fence_handle **fence)
 {
    GLframebuffer *fb = st->ctx->DrawBuffer;
 
-   st_flush_bitmap_cache(st);
-
-   FLUSH_VERTICES(st->ctx, 0);
-
    if (!fb)
       return;
 
@@ -105,6 +91,28 @@ static void st_gl_flush( struct st_context *st, uint pipeFlushFlags,
 }
 
 
+void st_flush( struct st_context *st, uint pipeFlushFlags,
+               struct pipe_fence_handle **fence )
+{
+   FLUSH_VERTICES(st->ctx, 0);
+
+   st_flush_bitmap_cache(st);
+
+   st->pipe->flush( st->pipe, pipeFlushFlags, fence );
+}
+
+
+static void st_gl_flush( struct st_context *st, uint pipeFlushFlags,
+                         struct pipe_fence_handle **fence )
+{
+   st_flush_bitmap_cache(st);
+
+   FLUSH_VERTICES(st->ctx, 0);
+
+   flush_front_buffer(st, pipeFlushFlags, fence);
+}
+
+
 /**
  * Called via ctx->Driver.Flush()
  */