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-12-02 11:03:16 +0200
commit00d133239e22fc6df84f81596820ca46afb351bb (patch)
tree255867835dd89493c728c1de3f5b9def701d0d04
parent3947d5fa98263d3b2b4b319b4f6629daca8c91ff (diff)
downloadqtlocation-mapboxgl-00d133239e22fc6df84f81596820ca46afb351bb.tar.gz
[core] Blacklist VAO extension for Adreno (TM) 4xx GPUs
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