summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian <[email protected]>2007-11-02 13:22:22 -0600
committerBrian <[email protected]>2007-11-05 08:04:48 -0700
commit794e03d3926614036d285f2033d8708c7667814a (patch)
treee6b4a3e8958c4ce844c32101a25effb4c5a2e33e
parent7edf6304687a05f34e3f1e471451f54e7c8a5d47 (diff)
Introduce st_framebuffer type and st_create_framebuffer(), st_make_current()
-rw-r--r--src/mesa/state_tracker/st_context.c23
-rw-r--r--src/mesa/state_tracker/st_context.h10
-rw-r--r--src/mesa/state_tracker/st_public.h8
3 files changed, 41 insertions, 0 deletions
diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c
index 1d129ad077d..db933b86e41 100644
--- a/src/mesa/state_tracker/st_context.c
+++ b/src/mesa/state_tracker/st_context.c
@@ -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)
{
diff --git a/src/mesa/state_tracker/st_context.h b/src/mesa/state_tracker/st_context.h
index 7ab69df7c7b..9b232827f4a 100644
--- a/src/mesa/state_tracker/st_context.h
+++ b/src/mesa/state_tracker/st_context.h
@@ -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);
diff --git a/src/mesa/state_tracker/st_public.h b/src/mesa/state_tracker/st_public.h
index 1cc6e6e40e2..94d1cdfde45 100644
--- a/src/mesa/state_tracker/st_public.h
+++ b/src/mesa/state_tracker/st_public.h
@@ -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 );