mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-01 23:18:20 +02:00
xlib: Ensure one screen instance.
This commit is contained in:
parent
0318f3e53e
commit
62c91998ef
1 changed files with 2 additions and 7 deletions
|
|
@ -742,7 +742,7 @@ PUBLIC
|
|||
XMesaContext XMesaCreateContext( XMesaVisual v, XMesaContext share_list )
|
||||
{
|
||||
static GLboolean firstTime = GL_TRUE;
|
||||
struct pipe_screen *screen;
|
||||
static struct pipe_screen *screen = NULL;
|
||||
struct pipe_context *pipe;
|
||||
XMesaContext c;
|
||||
GLcontext *mesaCtx;
|
||||
|
|
@ -750,6 +750,7 @@ XMesaContext XMesaCreateContext( XMesaVisual v, XMesaContext share_list )
|
|||
|
||||
if (firstTime) {
|
||||
pipe_mutex_init(_xmesa_lock);
|
||||
screen = driver.create_pipe_screen();
|
||||
firstTime = GL_FALSE;
|
||||
}
|
||||
|
||||
|
|
@ -765,9 +766,6 @@ XMesaContext XMesaCreateContext( XMesaVisual v, XMesaContext share_list )
|
|||
c->xm_buffer = NULL; /* set later by XMesaMakeCurrent */
|
||||
c->xm_read_buffer = NULL;
|
||||
|
||||
/* XXX: create once per Xlib Display.
|
||||
*/
|
||||
screen = driver.create_pipe_screen();
|
||||
if (screen == NULL)
|
||||
goto fail;
|
||||
|
||||
|
|
@ -801,9 +799,6 @@ XMesaContext XMesaCreateContext( XMesaVisual v, XMesaContext share_list )
|
|||
else if (pipe)
|
||||
pipe->destroy(pipe);
|
||||
|
||||
if (screen)
|
||||
screen->destroy( screen );
|
||||
|
||||
FREE(c);
|
||||
return NULL;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue