diff options
author | Chia-I Wu <olvaffe@gmail.com> | 2009-07-16 21:21:59 -0700 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2009-07-17 11:56:32 -0600 |
commit | 30bccf8ea9cd84d1a52a31b6f86b783dfb919374 (patch) | |
tree | 9765b93eeff2d57ca1145da39bb645b137df4cda /progs/egl | |
parent | 15fdbc8361d0b865aea5e2f374b471081ed4214a (diff) |
xeglthreads: Check current context for EGL per-thread support.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
Diffstat (limited to 'progs/egl')
-rw-r--r-- | progs/egl/xeglthreads.c | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/progs/egl/xeglthreads.c b/progs/egl/xeglthreads.c index 5cc856ab3f..508dbc0943 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); } |