Android: use FBO readback workaround by default.
Maintaining a black list of devices can't be reasonably done. The workaround is now enabled by default. It can be disabled with the QT_ANDROID_DISABLE_GLYPH_CACHE_WORKAROUND environment variable, in which case the current list of blacklisted drivers will still be taken into account. Task-number: QTBUG-40483 Change-Id: I9b90ab45e86569e8e4679333ddb9b835189892c7 Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@digia.com>
This commit is contained in:
parent
9c3a58a913
commit
05670f586f
@ -70,16 +70,22 @@ bool QAndroidPlatformOpenGLContext::needsFBOReadBackWorkaround()
|
|||||||
static bool needsWorkaround = false;
|
static bool needsWorkaround = false;
|
||||||
|
|
||||||
if (!set) {
|
if (!set) {
|
||||||
const char *rendererString = reinterpret_cast<const char *>(glGetString(GL_RENDERER));
|
QByteArray env = qgetenv("QT_ANDROID_DISABLE_GLYPH_CACHE_WORKAROUND");
|
||||||
needsWorkaround =
|
needsWorkaround = env.isEmpty() || env == "0" || env == "false";
|
||||||
qstrncmp(rendererString, "Mali-4xx", 6) == 0 // Mali-400, Mali-450
|
|
||||||
|| qstrncmp(rendererString, "Adreno (TM) 2xx", 13) == 0 // Adreno 200, 203, 205
|
if (!needsWorkaround) {
|
||||||
|| qstrncmp(rendererString, "Adreno 2xx", 8) == 0 // Same as above but without the '(TM)'
|
const char *rendererString = reinterpret_cast<const char *>(glGetString(GL_RENDERER));
|
||||||
|| qstrncmp(rendererString, "Adreno (TM) 30x", 14) == 0 // Adreno 302, 305
|
needsWorkaround =
|
||||||
|| qstrncmp(rendererString, "Adreno 30x", 9) == 0 // Same as above but without the '(TM)'
|
qstrncmp(rendererString, "Mali-4xx", 6) == 0 // Mali-400, Mali-450
|
||||||
|| qstrcmp(rendererString, "GC800 core") == 0
|
|| 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)'
|
||||||
|| qstrcmp(rendererString, "Immersion.16") == 0;
|
|| 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;
|
set = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user