Sketch out new create/destroy context functions which create/wrap a Mesa context.

This commit is contained in:
Brian 2007-11-01 17:46:04 -06:00
parent 7cafaff0eb
commit 80d2658e12
2 changed files with 33 additions and 0 deletions

View File

@ -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);

View File

@ -36,8 +36,14 @@ struct pipe_context;
struct st_context *st_create_context( GLcontext *ctx,
struct pipe_context *pipe);
struct st_context *st_create_context2(struct pipe_context *pipe,
const GLvisual *visual,
struct st_context *share);
void st_destroy_context( struct st_context *st );
void st_destroy_context2( struct st_context *st );
void st_invalidate_state(GLcontext * ctx, GLuint new_state);
#endif