From c8f40088780f8a420501564579a16f9fbe950309 Mon Sep 17 00:00:00 2001 From: zicodxx Date: Mon, 28 Mar 2011 01:57:15 +0200 Subject: [PATCH] Fixes for OpenGL ES implementation --- CHANGELOG.txt | 1 + arch/ogl/gr.c | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.txt b/CHANGELOG.txt index 807fede73..230b424f5 100644 --- a/CHANGELOG.txt +++ b/CHANGELOG.txt @@ -3,6 +3,7 @@ D1X-Rebirth Changelog 20110328 -------- main/endlevel.c, main/newdemo.c: Properly record the event of reset_rear_view() while switching levels to make it work right when rewinding as well; Properly record Countdown seconds for each newdemo frame instead of second change to get display showing up right while playback and still preserving backwards compability +arch/ogl/gr.c: Fixes for OpenGL ES implementation 20110327 -------- diff --git a/arch/ogl/gr.c b/arch/ogl/gr.c index c7412aacf..f30ca6479 100644 --- a/arch/ogl/gr.c +++ b/arch/ogl/gr.c @@ -109,7 +109,16 @@ int ogl_init_window(int x, int y) Window x11Window = 0; Display* x11Display = 0; EGLint ver_maj, ver_min; - EGLint configAttribs[] = { EGL_SURFACE_TYPE, EGL_WINDOW_BIT, EGL_NONE }; + EGLint configAttribs[] = + { + EGL_RED_SIZE, 5, + EGL_GREEN_SIZE, 6, + EGL_BLUE_SIZE, 5, + EGL_DEPTH_SIZE, 16, + EGL_SURFACE_TYPE, EGL_WINDOW_BIT, + EGL_RENDERABLE_TYPE, EGL_OPENGL_ES_BIT, + EGL_NONE + }; int iConfigs; #endif @@ -125,6 +134,13 @@ int ogl_init_window(int x, int y) } #ifdef OGLES + if( eglSurface || eglContext || eglDisplay ) + { + eglMakeCurrent(eglDisplay, NULL, NULL, EGL_NO_CONTEXT); + eglDestroyContext(eglDisplay, eglContext); + eglDestroySurface(eglDisplay, eglSurface); + } + SDL_VERSION(&info.version); if (SDL_GetWMInfo(&info) > 0) {