summaryrefslogtreecommitdiff
path: root/src/graphicsmanager.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2015-12-19 19:15:46 +0300
committerAndrei Karas <akaras@inbox.ru>2015-12-19 19:15:46 +0300
commit45561c45f374cf8511b755da74c1786be6a3f85c (patch)
treeb992c2881521434812920a5b88ef2b14b6eed6a4 /src/graphicsmanager.cpp
parent55abd8d24149ddb41b12589422ce3f1b8043756e (diff)
downloadmanaplus-45561c45f374cf8511b755da74c1786be6a3f85c.tar.gz
manaplus-45561c45f374cf8511b755da74c1786be6a3f85c.tar.bz2
manaplus-45561c45f374cf8511b755da74c1786be6a3f85c.tar.xz
manaplus-45561c45f374cf8511b755da74c1786be6a3f85c.zip
Fix OpenGL rederers in Android.v1.5.12.19
Diffstat (limited to 'src/graphicsmanager.cpp')
-rw-r--r--src/graphicsmanager.cpp19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/graphicsmanager.cpp b/src/graphicsmanager.cpp
index e4949fbaf..d04588456 100644
--- a/src/graphicsmanager.cpp
+++ b/src/graphicsmanager.cpp
@@ -540,7 +540,7 @@ void GraphicsManager::initGraphics()
openGLMode = RENDER_NORMAL_OPENGL;
}
}
- if (openGLMode == RENDER_NORMAL_OPENGL || openGLMode == RENDER_GLES_OPENGL)
+ if (openGLMode == RENDER_NORMAL_OPENGL)
{
if (!checkGLVersion(2, 0))
{
@@ -548,6 +548,14 @@ void GraphicsManager::initGraphics()
openGLMode = RENDER_SAFE_OPENGL;
}
}
+ if (openGLMode == RENDER_GLES_OPENGL)
+ {
+ if (!checkGLVersion(2, 0) && !checkGLesVersion(1, 0))
+ {
+ logger->log("Fallback to safe OpenGL mode");
+ openGLMode = RENDER_SAFE_OPENGL;
+ }
+ }
if (openGLMode == RENDER_GLES2_OPENGL)
{
// +++ here need check also not implimented gles flag
@@ -858,6 +866,15 @@ void GraphicsManager::setGLVersion()
cutFirst(version, "OpenGL ES ");
sscanf(version.c_str(), "%5d.%5d", &mSLMajor, &mSLMinor);
logger->log("Detected glsl version: %d.%d", mSLMajor, mSLMinor);
+#ifdef ANDROID
+ if (!mMajor && !mMinor)
+ {
+ logger->log("Overriding detected OpenGL version on Android to 1.0");
+ mGles = true;
+ mMajor = 1;
+ mMinor = 0;
+ }
+#endif
}
void GraphicsManager::logVersion() const