Context sharing for EGL

Gabriel Jacobo 2013-12-13 09:48:12 -03:00
parent 2159de66c4
commit 4a8c296712
1 changed files with 6 additions and 2 deletions

View File

@ -340,7 +340,7 @@ SDL_EGL_CreateContext(_THIS, EGLSurface egl_surface)
EGL_NONE EGL_NONE
}; };
EGLContext egl_context; EGLContext egl_context, share_context = EGL_NO_CONTEXT;
if (!_this->egl_data) { if (!_this->egl_data) {
/* The EGL library wasn't loaded, SDL_GetError() should have info */ /* 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) { if (_this->gl_config.major_version) {
context_attrib_list[1] = _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 = egl_context =
_this->egl_data->eglCreateContext(_this->egl_data->egl_display, _this->egl_data->eglCreateContext(_this->egl_data->egl_display,
_this->egl_data->egl_config, _this->egl_data->egl_config,
EGL_NO_CONTEXT, context_attrib_list); share_context, context_attrib_list);
if (egl_context == EGL_NO_CONTEXT) { if (egl_context == EGL_NO_CONTEXT) {
SDL_SetError("Could not create EGL context"); SDL_SetError("Could not create EGL context");