|
@@ -1027,10 +1027,11 @@ SDL_EGL_CreateContext(_THIS, EGLSurface egl_surface)
|
|
|
|
|
|
/* Bind the API */
|
|
|
if (profile_es) {
|
|
|
- _this->egl_data->eglBindAPI(EGL_OPENGL_ES_API);
|
|
|
+ _this->egl_data->apitype = EGL_OPENGL_ES_API;
|
|
|
} else {
|
|
|
- _this->egl_data->eglBindAPI(EGL_OPENGL_API);
|
|
|
+ _this->egl_data->apitype = EGL_OPENGL_API;
|
|
|
}
|
|
|
+ _this->egl_data->eglBindAPI(_this->egl_data->apitype);
|
|
|
|
|
|
egl_context = _this->egl_data->eglCreateContext(_this->egl_data->egl_display,
|
|
|
_this->egl_data->egl_config,
|
|
@@ -1108,6 +1109,11 @@ SDL_EGL_MakeCurrent(_THIS, EGLSurface egl_surface, SDL_GLContext context)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ /* Make sure current thread has a valid API bound to it. */
|
|
|
+ if (_this->egl_data->eglBindAPI) {
|
|
|
+ _this->egl_data->eglBindAPI(_this->egl_data->apitype);
|
|
|
+ }
|
|
|
+
|
|
|
/* The android emulator crashes badly if you try to eglMakeCurrent
|
|
|
* with a valid context and invalid surface, so we have to check for both here.
|
|
|
*/
|