mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-29 10:10:09 +01:00
egl_glx: Clean up context functions.
This lifts the requirement that a context must be direct. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
This commit is contained in:
parent
c407c70244
commit
a206436577
1 changed files with 5 additions and 19 deletions
|
|
@ -616,8 +616,7 @@ GLX_eglCreateContext(_EGLDriver *drv, _EGLDisplay *disp, _EGLConfig *conf,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
#ifdef GLX_VERSION_1_3
|
||||
if (GLX_dpy->fbconfigs)
|
||||
if (GLX_dpy->have_fbconfig)
|
||||
GLX_ctx->context =
|
||||
glXCreateNewContext(GLX_dpy->dpy,
|
||||
GLX_dpy->fbconfigs[GLX_egl_config_index(conf)],
|
||||
|
|
@ -625,7 +624,6 @@ GLX_eglCreateContext(_EGLDriver *drv, _EGLDisplay *disp, _EGLConfig *conf,
|
|||
GLX_ctx_shared ? GLX_ctx_shared->context : NULL,
|
||||
GL_TRUE);
|
||||
else
|
||||
#endif
|
||||
GLX_ctx->context =
|
||||
glXCreateContext(GLX_dpy->dpy,
|
||||
&GLX_dpy->visuals[GLX_egl_config_index(conf)],
|
||||
|
|
@ -636,15 +634,6 @@ GLX_eglCreateContext(_EGLDriver *drv, _EGLDisplay *disp, _EGLConfig *conf,
|
|||
return NULL;
|
||||
}
|
||||
|
||||
#if 1
|
||||
/* (maybe?) need to have a direct rendering context */
|
||||
if (!glXIsDirect(GLX_dpy->dpy, GLX_ctx->context)) {
|
||||
glXDestroyContext(GLX_dpy->dpy, GLX_ctx->context);
|
||||
free(GLX_ctx);
|
||||
return NULL;
|
||||
}
|
||||
#endif
|
||||
|
||||
return &GLX_ctx->Base;
|
||||
}
|
||||
|
||||
|
|
@ -670,13 +659,10 @@ GLX_eglMakeCurrent(_EGLDriver *drv, _EGLDisplay *disp, _EGLSurface *dsurf,
|
|||
rdraw = (GLX_rsurf) ? GLX_rsurf->glx_drawable : None;
|
||||
cctx = (GLX_ctx) ? GLX_ctx->context : NULL;
|
||||
|
||||
#ifdef GLX_VERSION_1_3
|
||||
if (glXMakeContextCurrent(GLX_dpy->dpy, ddraw, rdraw, cctx))
|
||||
return EGL_TRUE;
|
||||
#endif
|
||||
|
||||
if (ddraw == rdraw && glXMakeCurrent(GLX_dpy->dpy, ddraw, cctx))
|
||||
return EGL_TRUE;
|
||||
if (GLX_dpy->have_make_current_read)
|
||||
return glXMakeContextCurrent(GLX_dpy->dpy, ddraw, rdraw, cctx);
|
||||
else if (ddraw == rdraw)
|
||||
return glXMakeCurrent(GLX_dpy->dpy, ddraw, cctx);
|
||||
|
||||
return EGL_FALSE;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue