Android: added more devices to the FBO readback workaround check.

Task-number: QTBUG-40483
Change-Id: I7f3d375934a57fe3ac58ae35cb00d394349cb33f
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
bb10
Yoann Lopes 2014-08-26 17:25:26 +02:00
parent 4c6ebe5f9e
commit 4dc751360a
2 changed files with 9 additions and 4 deletions

View File

@ -64,7 +64,7 @@ void QAndroidPlatformOpenGLContext::swapBuffers(QPlatformSurface *surface)
static_cast<QAndroidPlatformOpenGLWindow *>(surface)->checkNativeSurface(eglConfig());
}
bool QAndroidPlatformOpenGLContext::needsFBOReadBackWorkaroud()
bool QAndroidPlatformOpenGLContext::needsFBOReadBackWorkaround()
{
static bool set = false;
static bool needsWorkaround = false;
@ -74,7 +74,12 @@ bool QAndroidPlatformOpenGLContext::needsFBOReadBackWorkaroud()
needsWorkaround =
qstrncmp(rendererString, "Mali-4xx", 6) == 0 // Mali-400, Mali-450
|| qstrncmp(rendererString, "Adreno (TM) 2xx", 13) == 0 // Adreno 200, 203, 205
|| qstrcmp(rendererString, "GC1000 core") == 0;
|| qstrncmp(rendererString, "Adreno 2xx", 8) == 0 // Same as above but without the '(TM)'
|| qstrncmp(rendererString, "Adreno (TM) 30x", 14) == 0 // Adreno 302, 305
|| qstrncmp(rendererString, "Adreno 30x", 9) == 0 // Same as above but without the '(TM)'
|| qstrcmp(rendererString, "GC800 core") == 0
|| qstrcmp(rendererString, "GC1000 core") == 0
|| qstrcmp(rendererString, "Immersion.16") == 0;
set = true;
}
@ -90,7 +95,7 @@ bool QAndroidPlatformOpenGLContext::makeCurrent(QPlatformSurface *surface)
if (rendererString != 0 && qstrncmp(rendererString, "Android Emulator", 16) == 0)
ctx_d->workaround_missingPrecisionQualifiers = true;
if (!ctx_d->workaround_brokenFBOReadBack && needsFBOReadBackWorkaroud())
if (!ctx_d->workaround_brokenFBOReadBack && needsFBOReadBackWorkaround())
ctx_d->workaround_brokenFBOReadBack = true;
return ret;

View File

@ -57,7 +57,7 @@ public:
private:
virtual EGLSurface eglSurfaceForPlatformSurface(QPlatformSurface *surface);
static bool needsFBOReadBackWorkaroud();
static bool needsFBOReadBackWorkaround();
};
QT_END_NAMESPACE