Introduce st_framebuffer type and st_create_framebuffer(), st_make_current()
authorBrian <brian.paul@tungstengraphics.com>
Fri, 2 Nov 2007 19:22:22 +0000 (13:22 -0600)
committerBrian <brian.paul@tungstengraphics.com>
Mon, 5 Nov 2007 15:04:48 +0000 (08:04 -0700)
src/mesa/state_tracker/st_context.c
src/mesa/state_tracker/st_context.h
src/mesa/state_tracker/st_public.h

index 1d129ad..db933b8 100644 (file)
@@ -155,6 +155,29 @@ void st_destroy_context( struct st_context *st )
 }
 
  
+struct st_framebuffer *st_create_framebuffer( const __GLcontextModes *visual )
+{
+   struct st_framebuffer *stfb
+      = CALLOC_STRUCT(st_framebuffer);
+   if (stfb) {
+   }
+   return stfb;
+}
+
+
+void st_make_current(struct st_context *st,
+                     struct st_framebuffer *draw,
+                     struct st_framebuffer *read)
+{
+   if (st) {
+      _mesa_make_current(st->ctx, &draw->Base, &read->Base);
+   }
+   else {
+      _mesa_make_current(NULL, NULL, NULL);
+   }
+}
+
+
 
 void st_init_driver_functions(struct dd_function_table *functions)
 {
index 7ab69df..9b23282 100644 (file)
@@ -167,6 +167,16 @@ static INLINE struct st_context *st_context(GLcontext *ctx)
 }
 
 
+/**
+ * Wrapper for GLframebuffer, nothing extra for now.
+ * This is an opaque type to the outside world.
+ */
+struct st_framebuffer
+{
+   GLframebuffer Base;
+};
+
+
 extern void st_init_driver_functions(struct dd_function_table *functions);
 
 
index 1cc6e6e..94d1cdf 100644 (file)
@@ -31,6 +31,8 @@
 #include "mtypes.h"
 
 struct st_context;
+struct st_framebuffer;
+
 struct pipe_context;
 
 struct st_context *st_create_context( GLcontext *ctx,
@@ -44,6 +46,12 @@ void st_destroy_context( struct st_context *st );
 
 void st_destroy_context2( struct st_context *st );
 
+struct st_framebuffer *st_create_framebuffer( const __GLcontextModes *visual );
+
+void st_make_current(struct st_context *st,
+                     struct st_framebuffer *draw,
+                     struct st_framebuffer *read);
+
 void st_invalidate_state(GLcontext * ctx, GLuint new_state);
 
 void st_flush( struct st_context *st );