Better fix to support EGL_KHR_create_context and not fail to build on Android ...or Raspberry Pi (EGL < 1.4 systems)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
diff --git a/src/video/SDL_egl.c b/src/video/SDL_egl.c
index a2c2406..72f9bee 100644
--- a/src/video/SDL_egl.c
+++ b/src/video/SDL_egl.c
@@ -416,9 +416,7 @@ SDL_EGL_CreateContext(_THIS, EGLSurface egl_surface)
}
/* Bind the API */
-#if !__ANDROID__ /* No support for desktop OpenGL on Android */
if(_this->gl_config.profile_mask == SDL_GL_CONTEXT_PROFILE_ES) {
-#endif /* !__ANDROID__ */
_this->egl_data->eglBindAPI(EGL_OPENGL_ES_API);
if (_this->gl_config.major_version) {
context_attrib_list[1] = _this->gl_config.major_version;
@@ -427,11 +425,10 @@ SDL_EGL_CreateContext(_THIS, EGLSurface egl_surface)
egl_context = _this->egl_data->eglCreateContext(_this->egl_data->egl_display,
_this->egl_data->egl_config,
share_context, context_attrib_list);
-
-#if !__ANDROID__
}
else {
_this->egl_data->eglBindAPI(EGL_OPENGL_API);
+#ifdef EGL_KHR_create_context
if(SDL_EGL_HasExtension(_this, "EGL_KHR_create_context")) {
context_attrib_list[0] = EGL_CONTEXT_MAJOR_VERSION_KHR;
context_attrib_list[1] = _this->gl_config.major_version;
@@ -452,11 +449,13 @@ SDL_EGL_CreateContext(_THIS, EGLSurface egl_surface)
else {
context_attrib_list[0] = EGL_NONE;
}
+#else /* EGL_KHR_create_context*/
+ context_attrib_list[0] = EGL_NONE;
+#endif /* EGL_KHR_create_context */
egl_context = _this->egl_data->eglCreateContext(_this->egl_data->egl_display,
_this->egl_data->egl_config,
share_context, context_attrib_list);
}
-#endif /* !__ANDROID__ */
if (egl_context == EGL_NO_CONTEXT) {
SDL_SetError("Could not create EGL context");