added _mesa_share_state()
This commit is contained in:
parent
509710cfd7
commit
635ee2df37
|
@ -2000,6 +2000,32 @@ _mesa_make_current2( GLcontext *newCtx, GLframebuffer *drawBuffer,
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Make context 'ctx' share the display lists, textures and programs
|
||||
* that are associated with 'ctxToShare'.
|
||||
* Any display lists, textures or programs associated with 'ctx' will
|
||||
* be deleted if nobody else is sharing them.
|
||||
*/
|
||||
GLboolean
|
||||
_mesa_share_state(GLcontext *ctx, GLcontext *ctxToShare)
|
||||
{
|
||||
if (ctx && ctxToShare && ctx->Shared && ctxToShare->Shared) {
|
||||
ctx->Shared->RefCount--;
|
||||
if (ctx->Shared->RefCount == 0) {
|
||||
free_shared_state(ctx, ctx->Shared);
|
||||
}
|
||||
ctx->Shared = ctxToShare->Shared;
|
||||
ctx->Shared->RefCount++;
|
||||
return GL_TRUE;
|
||||
}
|
||||
else {
|
||||
return GL_FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Get current context for the calling thread.
|
||||
*
|
||||
|
|
|
@ -162,6 +162,8 @@ extern void
|
|||
_mesa_make_current2( GLcontext *ctx, GLframebuffer *drawBuffer,
|
||||
GLframebuffer *readBuffer );
|
||||
|
||||
extern GLboolean
|
||||
_mesa_share_state(GLcontext *ctx, GLcontext *ctxToShare);
|
||||
|
||||
extern GLcontext *
|
||||
_mesa_get_current_context(void);
|
||||
|
|
Loading…
Reference in New Issue