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 326773c505e6b7e16112fac7acf9d2802e5842f5..2e7687d9c91e4e9a7949b413169884d70b377304 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 acbf54d5ab32e214eb2e77331a430ef002092ccb..8162ceeffabfabd51a2681f12ce750603508521f 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