egl: Correctly unbind contexts in eglReleaseThread.
MakeCurrent unbinds the current context of the current API. Modify the current API to make sure all contexts are correctly unbound.
This commit is contained in:
@@ -997,6 +997,7 @@ eglReleaseThread(void)
|
||||
/* unbind current contexts */
|
||||
if (!_eglIsCurrentThreadDummy()) {
|
||||
_EGLThreadInfo *t = _eglGetCurrentThread();
|
||||
EGLint api_index = t->CurrentAPIIndex;
|
||||
EGLint i;
|
||||
|
||||
for (i = 0; i < _EGL_API_NUM_APIS; i++) {
|
||||
@@ -1004,9 +1005,12 @@ eglReleaseThread(void)
|
||||
if (ctx) {
|
||||
_EGLDisplay *disp = ctx->Resource.Display;
|
||||
_EGLDriver *drv = disp->Driver;
|
||||
t->CurrentAPIIndex = i;
|
||||
(void) drv->API.MakeCurrent(drv, disp, NULL, NULL, NULL);
|
||||
}
|
||||
}
|
||||
|
||||
t->CurrentAPIIndex = api_index;
|
||||
}
|
||||
|
||||
_eglDestroyCurrentThread();
|
||||
|
||||
Reference in New Issue
Block a user