From 7f52a9d0808283fe12e77275c1ce4d61a9cdca8b Mon Sep 17 00:00:00 2001 From: Ivo van Dongen Date: Fri, 20 Oct 2017 12:44:02 -0700 Subject: [core] blacklist VAO usage on adreno 3xx - Causes crashes on usage of glBuffer(Sub)Data --- src/mbgl/gl/context.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) 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(glGetString(GL_RENDERER)); + return renderer.find("Adreno (TM) 3") != std::string::npos; + }(); + + return !blacklisted && + vertexArray && vertexArray->genVertexArrays && vertexArray->bindVertexArray && vertexArray->deleteVertexArrays; -- cgit v1.2.1