Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

Commit

Permalink
[core] Blacklist VAO extension for Adreno (TM) 4xx GPUs
Browse files Browse the repository at this point in the history
Blacklist in order to avoid crashes in a driver.
  • Loading branch information
alexshalamov committed Dec 2, 2019
1 parent 3947d5f commit 00d1332
Showing 1 changed file with 8 additions and 8 deletions.
16 changes: 8 additions & 8 deletions src/mbgl/gl/context.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 00d1332

Please sign in to comment.