summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Shalamov <alexander.shalamov@mapbox.com>2019-11-27 12:04:38 +0200
committerAlexander Shalamov <alexander.shalamov@mapbox.com>2019-11-27 12:07:19 +0200
commitadffdf9a1876a18116241e5586f71a89e7d9454d (patch)
tree13d72857c438e9d19bfbc8b5ef85e05668c381ed
parent11321497da66b1f4b05dc23a9b1b0b434018b661 (diff)
downloadqtlocation-mapboxgl-upstream/alexshalamov_blacklist_vao_ext_adreno_4xx.tar.gz
[core] Blacklist VAO extension for Adreno (TM) 4xx GPUsupstream/alexshalamov_blacklist_vao_ext_adreno_4xx
Blacklist in order to avoid crashes in a driver.
-rw-r--r--src/mbgl/gl/context.cpp16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/mbgl/gl/context.cpp b/src/mbgl/gl/context.cpp
index e2bcc7fadc..fc51dc859b 100644
--- a/src/mbgl/gl/context.cpp
+++ b/src/mbgl/gl/context.cpp
@@ -94,16 +94,16 @@ void Context::initializeExtensions(const std::function<gl::ProcAddress(const cha
}
// Block Adreno 2xx, 3xx as it crashes on glBuffer(Sub)Data
+ // Block Adreno 4xx as it crashes in a driver when VBOs are destructed (Android 5.1.1)
// Block ARM Mali-T720 (in some MT8163 chipsets) as it crashes on glBindVertexArray
// Block ANGLE on Direct3D as the combination of Qt + Windows + ANGLE leads to crashes
- if (renderer.find("Adreno (TM) 2") == std::string::npos
- && renderer.find("Adreno (TM) 3") == std::string::npos
- && (!(renderer.find("ANGLE") != std::string::npos
- && renderer.find("Direct3D") != std::string::npos))
- && renderer.find("Mali-T720") == std::string::npos
- && renderer.find("Sapphire 650") == std::string::npos
- && !disableVAOExtension) {
- vertexArray = std::make_unique<extension::VertexArray>(fn);
+ if (renderer.find("Adreno (TM) 2") == std::string::npos &&
+ renderer.find("Adreno (TM) 3") == std::string::npos &&
+ renderer.find("Adreno (TM) 4") == std::string::npos &&
+ (!(renderer.find("ANGLE") != std::string::npos && renderer.find("Direct3D") != std::string::npos)) &&
+ renderer.find("Mali-T720") == std::string::npos && renderer.find("Sapphire 650") == std::string::npos &&
+ !disableVAOExtension) {
+ vertexArray = std::make_unique<extension::VertexArray>(fn);
}
#if MBGL_USE_GLES2