Context sharing for EGL
diff --git a/src/video/SDL_egl.c b/src/video/SDL_egl.c
index 1e66fb7..c081a5d 100644
--- a/src/video/SDL_egl.c
+++ b/src/video/SDL_egl.c
@@ -340,7 +340,7 @@ SDL_EGL_CreateContext(_THIS, EGLSurface egl_surface)
EGL_NONE
};
- EGLContext egl_context;
+ EGLContext egl_context, share_context = EGL_NO_CONTEXT;
if (!_this->egl_data) {
/* The EGL library wasn't loaded, SDL_GetError() should have info */
@@ -350,11 +350,15 @@ SDL_EGL_CreateContext(_THIS, EGLSurface egl_surface)
if (_this->gl_config.major_version) {
context_attrib_list[1] = _this->gl_config.major_version;
}
+
+ if (_this->gl_config.share_with_current_context) {
+ share_context = (EGLContext)SDL_GL_GetCurrentContext();
+ }
egl_context =
_this->egl_data->eglCreateContext(_this->egl_data->egl_display,
_this->egl_data->egl_config,
- EGL_NO_CONTEXT, context_attrib_list);
+ share_context, context_attrib_list);
if (egl_context == EGL_NO_CONTEXT) {
SDL_SetError("Could not create EGL context");