From: Chia-I Wu Date: Fri, 17 Jul 2009 04:21:59 +0000 (-0700) Subject: xeglthreads: Check current context for EGL per-thread support. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=30bccf8ea9cd84d1a52a31b6f86b783dfb919374;p=mesa.git xeglthreads: Check current context for EGL per-thread support. Signed-off-by: Chia-I Wu --- diff --git a/progs/egl/xeglthreads.c b/progs/egl/xeglthreads.c index 5cc856ab3f3..508dbc09432 100644 --- a/progs/egl/xeglthreads.c +++ b/progs/egl/xeglthreads.c @@ -261,6 +261,12 @@ draw_loop(struct winthread *wt) if (Locking) pthread_mutex_unlock(&Mutex); + eglBindAPI(EGL_OPENGL_API); + if (eglGetCurrentContext() != wt->Context) { + printf("xeglthreads: current context %p != %p\n", + eglGetCurrentContext(), wt->Context); + } + glEnable(GL_DEPTH_TEST); if (wt->NewSize) { @@ -308,6 +314,7 @@ draw_loop(struct winthread *wt) } wt->Angle += 1.0; } + eglMakeCurrent(wt->Display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT); } @@ -574,7 +581,7 @@ clean_up(void) } for (i = 0; i < NumWinThreads; i++) { - eglDestroyContext(WinThreads[i].Dpy, WinThreads[i].Context); + eglDestroyContext(WinThreads[i].Display, WinThreads[i].Context); XDestroyWindow(WinThreads[i].Dpy, WinThreads[i].Win); } } @@ -742,7 +749,7 @@ main(int argc, char *argv[]) } } else { - eglTerminate(dpy); + eglTerminate(egl_dpy); XCloseDisplay(dpy); }