Mesa (master): egl: Unbind the old context in _eglBindContext.
Chia-I Wu
olv at kemper.freedesktop.org
Tue Apr 6 03:57:05 UTC 2010
Module: Mesa
Branch: master
Commit: 848945e5d63ff8327f5a1a6e61e66fcdab3ac8fc
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=848945e5d63ff8327f5a1a6e61e66fcdab3ac8fc
Author: Chia-I Wu <olv at lunarg.com>
Date: Tue Apr 6 11:51:25 2010 +0800
egl: Unbind the old context in _eglBindContext.
The last commit incorrectly moved the code under an "else".
---
src/egl/main/eglcontext.c | 19 +++++++++----------
1 files changed, 9 insertions(+), 10 deletions(-)
diff --git a/src/egl/main/eglcontext.c b/src/egl/main/eglcontext.c
index 80e316a..d5a1e79 100644
--- a/src/egl/main/eglcontext.c
+++ b/src/egl/main/eglcontext.c
@@ -378,19 +378,18 @@ _eglBindContext(_EGLContext **ctx, _EGLSurface **draw, _EGLSurface **read)
/* bind the new context */
oldCtx = _eglBindContextToThread(newCtx, t);
- if (newCtx) {
+ if (newCtx)
_eglBindContextToSurfaces(newCtx, draw, read);
- }
- else {
+
+ /* unbind the old context from its binding surfaces */
+ if (oldCtx && oldCtx != newCtx) {
assert(!*draw && !*read);
- if (oldCtx) {
- *draw = oldCtx->DrawSurface;
- *read = oldCtx->ReadSurface;
- assert(*draw && *read);
- /* unbind the old context from its surfaces */
- _eglBindContextToSurfaces(NULL, draw, read);
- }
+ *draw = oldCtx->DrawSurface;
+ *read = oldCtx->ReadSurface;
+ assert(*draw && *read);
+
+ _eglBindContextToSurfaces(NULL, draw, read);
}
*ctx = oldCtx;
More information about the mesa-commit
mailing list