summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2018-02-19 18:33:15 +0200
committerIvo van Dongen <ivovandongen@users.noreply.github.com>2018-02-23 12:03:53 +0200
commit6eedccf35f31f78648e67a3028db07f8932daf22 (patch)
treea968ddea95bb6e0bdf3b8ad88ca500775cf9712c
parent86c824ce807ee3b029792a2d324111fb893addcf (diff)
downloadqtlocation-mapboxgl-6eedccf35f31f78648e67a3028db07f8932daf22.tar.gz
[core] blacklist vao usage on mali t720 (sapphire 650)
Avoids problems on (amongst others) Samsung Galaxy J3
-rw-r--r--src/mbgl/gl/context.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/mbgl/gl/context.cpp b/src/mbgl/gl/context.cpp
index f40cfa1f2c..ba44adb42b 100644
--- a/src/mbgl/gl/context.cpp
+++ b/src/mbgl/gl/context.cpp
@@ -281,10 +281,17 @@ UniqueTexture Context::createTexture() {
bool Context::supportsVertexArrays() const {
static bool blacklisted = []() {
- // Blacklist Adreno 2xx, 3xx as it crashes on glBuffer(Sub)Data
const std::string renderer = reinterpret_cast<const char*>(glGetString(GL_RENDERER));
+
+ Log::Info(Event::General, "GPU Identifier: %s", renderer.c_str());
+
+ // Blacklist Adreno 2xx, 3xx as it crashes on glBuffer(Sub)Data
+ // Blacklist ARM Mali-T720 (in some MT8163 chipsets) as it crashes on glBindVertexArray
return renderer.find("Adreno (TM) 2") != std::string::npos
- || renderer.find("Adreno (TM) 3") != std::string::npos;
+ || renderer.find("Adreno (TM) 3") != std::string::npos
+ || renderer.find("Mali-T720") != std::string::npos
+ || renderer.find("Sapphire 650") != std::string::npos;
+
}();
return !blacklisted &&