summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvo van Dongen <info@ivovandongen.nl>2017-10-20 12:44:02 -0700
committerIvo van Dongen <info@ivovandongen.nl>2017-10-20 16:15:17 -0700
commitf5130ca187161cb0ab5875960838412bc1208517 (patch)
tree3fa43588a92114e09157fa7eb25b16dd0e444a2f
parentbb58ddaea8c2d9da9551601318944d9d143ee247 (diff)
downloadqtlocation-mapboxgl-upstream/ivd-fix-motox.tar.gz
[core] blacklist VAO usage on adreno 3xxupstream/ivd-fix-motox
- Causes crashes on usage of glBuffer(Sub)Data
-rw-r--r--src/mbgl/gl/context.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mbgl/gl/context.cpp b/src/mbgl/gl/context.cpp
index d0c538efb0..22b446e6d0 100644
--- a/src/mbgl/gl/context.cpp
+++ b/src/mbgl/gl/context.cpp
@@ -248,7 +248,14 @@ UniqueTexture Context::createTexture() {
}
bool Context::supportsVertexArrays() const {
- return vertexArray &&
+ static bool blacklisted = []() {
+ // Blacklist Adreno 3xx as it crashes on glBuffer(Sub)Data
+ const std::string renderer = reinterpret_cast<const char*>(glGetString(GL_RENDERER));
+ return renderer.find("Adreno (TM) 3") != std::string::npos;
+ }();
+
+ return !blacklisted &&
+ vertexArray &&
vertexArray->genVertexArrays &&
vertexArray->bindVertexArray &&
vertexArray->deleteVertexArrays;