Mesa (master): xeglthreads: Check current context for EGL per-thread support.
Brian Paul
brianp at kemper.freedesktop.org
Fri Jul 17 17:57:22 UTC 2009
Module: Mesa
Branch: master
Commit: 30bccf8ea9cd84d1a52a31b6f86b783dfb919374
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=30bccf8ea9cd84d1a52a31b6f86b783dfb919374
Author: Chia-I Wu <olvaffe at gmail.com>
Date: Thu Jul 16 21:21:59 2009 -0700
xeglthreads: Check current context for EGL per-thread support.
Signed-off-by: Chia-I Wu <olvaffe at gmail.com>
---
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 5cc856a..508dbc0 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);
}
More information about the mesa-commit
mailing list