From 5a3c553d0a8153a27c9019dfcc3ab1b531a0b3e1 Mon Sep 17 00:00:00 2001 From: Gabriel Jacobo Date: Thu, 3 Jul 2014 17:36:08 -0300 Subject: [PATCH] Maybe fixes bug #2291 (red tinted screen on some Samsung Android devices) Then again, maybe not! --- src/video/SDL_egl.c | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/video/SDL_egl.c b/src/video/SDL_egl.c index 72f9bee980ea0..461d0acb67e74 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,