diff --git a/src/video/SDL_egl.c b/src/video/SDL_egl.c index 72f9bee98..461d0acb6 100644 --- a/src/video/SDL_egl.c +++ b/src/video/SDL_egl.c @@ -449,7 +449,7 @@ SDL_EGL_CreateContext(_THIS, EGLSurface egl_surface) else { context_attrib_list[0] = EGL_NONE; } -#else /* EGL_KHR_create_context*/ +#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, @@ -552,10 +552,23 @@ SDL_EGL_DeleteContext(_THIS, SDL_GLContext context) EGLSurface * SDL_EGL_CreateSurface(_THIS, NativeWindowType nw) { + EGLint format; + if (SDL_EGL_ChooseConfig(_this) != 0) { return EGL_NO_SURFACE; } +#if __ANDROID__ + /* Android docs recommend doing this! + * Ref: http://developer.android.com/reference/android/app/NativeActivity.html + */ + _this->egl_data->eglGetConfigAttrib(_this->egl_data->egl_display, + _this->egl_data->egl_config, + EGL_NATIVE_VISUAL_ID, &format); + + ANativeWindow_setBuffersGeometry(nw, 0, 0, format); +#endif + return _this->egl_data->eglCreateWindowSurface( _this->egl_data->egl_display, _this->egl_data->egl_config,