From 80d2658e129d097f30c84fe57e07daeb81bcc790 Mon Sep 17 00:00:00 2001 From: Brian Date: Thu, 1 Nov 2007 17:46:04 -0600 Subject: Sketch out new create/destroy context functions which create/wrap a Mesa context. --- src/mesa/state_tracker/st_context.c | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'src/mesa/state_tracker/st_context.c') diff --git a/src/mesa/state_tracker/st_context.c b/src/mesa/state_tracker/st_context.c index 69942d9685..1d129ad077 100644 --- a/src/mesa/state_tracker/st_context.c +++ b/src/mesa/state_tracker/st_context.c @@ -26,6 +26,7 @@ **************************************************************************/ #include "main/imports.h" +#include "main/context.h" #include "main/extensions.h" #include "vbo/vbo.h" #include "st_public.h" @@ -67,6 +68,23 @@ void st_invalidate_state(GLcontext * ctx, GLuint new_state) } +struct st_context *st_create_context2(struct pipe_context *pipe, + const GLvisual *visual, + struct st_context *share) +{ + GLcontext *ctx; + GLcontext *shareCtx = share ? share->ctx : NULL; + struct dd_function_table funcs; + + memset(&funcs, 0, sizeof(funcs)); + st_init_driver_functions(&funcs); + + ctx = _mesa_create_context(visual, shareCtx, &funcs, NULL); + + return st_create_context(ctx, pipe); +} + + struct st_context *st_create_context( GLcontext *ctx, struct pipe_context *pipe ) { @@ -111,6 +129,15 @@ struct st_context *st_create_context( GLcontext *ctx, } +void st_destroy_context2( struct st_context *st ) +{ + GLcontext *ctx = st->ctx; + _mesa_free_context_data(ctx); + st_destroy_context(st); + free(ctx); +} + + void st_destroy_context( struct st_context *st ) { draw_destroy(st->draw); -- cgit v1.2.3