[android] Disable program caching on Adreno 3xx, 4xx, and 5xx GPUs due to known bugs (#9625)
This commit is contained in:
@@ -203,7 +203,21 @@ bool Context::supportsVertexArrays() const {
|
||||
|
||||
#if MBGL_HAS_BINARY_PROGRAMS
|
||||
bool Context::supportsProgramBinaries() const {
|
||||
return programBinary && programBinary->programBinary && programBinary->getProgramBinary;
|
||||
if (!programBinary || !programBinary->programBinary || !programBinary->getProgramBinary) {
|
||||
return false;
|
||||
}
|
||||
|
||||
// Blacklist Adreno 3xx, 4xx, and 5xx GPUs due to known bugs:
|
||||
// https://bugs.chromium.org/p/chromium/issues/detail?id=510637
|
||||
// https://chromium.googlesource.com/chromium/src/gpu/+/master/config/gpu_driver_bug_list.json#2316
|
||||
const std::string renderer = reinterpret_cast<const char*>(glGetString(GL_RENDERER));
|
||||
if (renderer.find("Adreno (TM) 3") != std::string::npos
|
||||
|| renderer.find("Adreno (TM) 4") != std::string::npos
|
||||
|| renderer.find("Adreno (TM) 5") != std::string::npos) {
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
optional<std::pair<BinaryProgramFormat, std::string>>
|
||||
|
||||
Reference in New Issue
Block a user