added st_notify_swapbuffers()
authorBrian <brian.paul@tungstengraphics.com>
Mon, 5 Nov 2007 16:59:34 +0000 (09:59 -0700)
committerBrian <brian.paul@tungstengraphics.com>
Mon, 5 Nov 2007 16:59:34 +0000 (09:59 -0700)
src/mesa/state_tracker/st_framebuffer.c
src/mesa/state_tracker/st_public.h

index 326773c..2e7687d 100644 (file)
@@ -132,3 +132,20 @@ st_get_framebuffer_surface(struct st_framebuffer *stfb, uint surfIndex)
       return strb->surface;
    return NULL;
 }
+
+
+/**
+ * This function is to be called prior to SwapBuffers on the given
+ * framebuffer.  It checks if the current context is bound to the framebuffer
+ * and flushes rendering if needed.
+ */
+void
+st_notify_swapbuffers(struct st_framebuffer *stfb)
+{
+   GET_CURRENT_CONTEXT(ctx);
+
+   if (ctx && ctx->DrawBuffer == &stfb->Base) {
+      st_flush(ctx->st);
+   }
+}
+
index acbf54d..8162cee 100644 (file)
@@ -71,4 +71,6 @@ void st_invalidate_state(GLcontext * ctx, GLuint new_state);
 
 void st_flush( struct st_context *st );
 
+void st_notify_swapbuffers(struct st_framebuffer *stfb);
+
 #endif