mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-06 07:18:17 +02:00
wgl: Implement ShareLists.
This commit is contained in:
parent
d56b0e6847
commit
4d28fcfeaa
4 changed files with 28 additions and 7 deletions
|
|
@ -562,7 +562,7 @@ DrvShareLists(
|
|||
if (DBG)
|
||||
debug_printf( "%s\n", __FUNCTION__ );
|
||||
|
||||
return FALSE;
|
||||
return stw_share_lists(dhglrc1, dhglrc2);
|
||||
}
|
||||
|
||||
BOOL APIENTRY
|
||||
|
|
|
|||
|
|
@ -74,6 +74,30 @@ stw_copy_context(
|
|||
return ret;
|
||||
}
|
||||
|
||||
BOOL
|
||||
stw_share_lists(
|
||||
UINT_PTR hglrc1,
|
||||
UINT_PTR hglrc2 )
|
||||
{
|
||||
struct stw_context *ctx1;
|
||||
struct stw_context *ctx2;
|
||||
BOOL ret = FALSE;
|
||||
|
||||
pipe_mutex_lock( stw_dev->mutex );
|
||||
|
||||
ctx1 = stw_lookup_context_locked( hglrc1 );
|
||||
ctx2 = stw_lookup_context_locked( hglrc2 );
|
||||
|
||||
if (ctx1 && ctx2 &&
|
||||
ctx1->pfi == ctx2->pfi) {
|
||||
ret = _mesa_share_state(ctx2->st->ctx, ctx1->st->ctx);
|
||||
}
|
||||
|
||||
pipe_mutex_unlock( stw_dev->mutex );
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
UINT_PTR
|
||||
stw_create_layer_context(
|
||||
HDC hdc,
|
||||
|
|
|
|||
|
|
@ -37,6 +37,8 @@ BOOL stw_copy_context( UINT_PTR hglrcSrc,
|
|||
UINT_PTR stw_create_layer_context( HDC hdc,
|
||||
int iLayerPlane );
|
||||
|
||||
BOOL stw_share_lists( UINT_PTR hglrc1, UINT_PTR hglrc2 );
|
||||
|
||||
BOOL stw_delete_context( UINT_PTR hglrc );
|
||||
|
||||
BOOL
|
||||
|
|
|
|||
|
|
@ -186,12 +186,7 @@ wglShareLists(
|
|||
HGLRC hglrc1,
|
||||
HGLRC hglrc2 )
|
||||
{
|
||||
(void) hglrc1;
|
||||
(void) hglrc2;
|
||||
|
||||
assert( 0 );
|
||||
|
||||
return FALSE;
|
||||
return stw_share_lists( (UINT_PTR)hglrc1, (UINT_PTR)hglrc2);;
|
||||
}
|
||||
|
||||
WINGDIAPI BOOL APIENTRY
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue