Sketch out new create/destroy context functions which create/wrap a Mesa context.
This commit is contained in:
@@ -26,6 +26,7 @@
|
|||||||
**************************************************************************/
|
**************************************************************************/
|
||||||
|
|
||||||
#include "main/imports.h"
|
#include "main/imports.h"
|
||||||
|
#include "main/context.h"
|
||||||
#include "main/extensions.h"
|
#include "main/extensions.h"
|
||||||
#include "vbo/vbo.h"
|
#include "vbo/vbo.h"
|
||||||
#include "st_public.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 st_context *st_create_context( GLcontext *ctx,
|
||||||
struct pipe_context *pipe )
|
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 )
|
void st_destroy_context( struct st_context *st )
|
||||||
{
|
{
|
||||||
draw_destroy(st->draw);
|
draw_destroy(st->draw);
|
||||||
|
@@ -36,8 +36,14 @@ struct pipe_context;
|
|||||||
struct st_context *st_create_context( GLcontext *ctx,
|
struct st_context *st_create_context( GLcontext *ctx,
|
||||||
struct pipe_context *pipe);
|
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_context( struct st_context *st );
|
||||||
|
|
||||||
|
void st_destroy_context2( struct st_context *st );
|
||||||
|
|
||||||
void st_invalidate_state(GLcontext * ctx, GLuint new_state);
|
void st_invalidate_state(GLcontext * ctx, GLuint new_state);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Reference in New Issue
Block a user