summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChia-I Wu <olvaffe@gmail.com>2009-07-16 21:21:59 -0700
committerBrian Paul <brianp@vmware.com>2009-07-17 11:56:32 -0600
commit30bccf8ea9cd84d1a52a31b6f86b783dfb919374 (patch)
tree9765b93eeff2d57ca1145da39bb645b137df4cda
parent15fdbc8361d0b865aea5e2f374b471081ed4214a (diff)
xeglthreads: Check current context for EGL per-thread support.
Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
-rw-r--r--progs/egl/xeglthreads.c11
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);
}