summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Käfer <mail@kkaefer.com>2018-01-08 13:33:17 -0800
committerKonstantin Käfer <mail@kkaefer.com>2018-01-09 11:41:55 -0800
commitce817a57f66fed2cb672d6708609de1817d376ff (patch)
treec60d66eee580fd0a7fad931b577dd6b45a5ba71d
parentcc25d6911bedacc420373566f10c14185a6fc0ce (diff)
downloadqtlocation-mapboxgl-ce817a57f66fed2cb672d6708609de1817d376ff.tar.gz
[core] blacklist binary program loading for Vivante GC4000 GPUs
-rw-r--r--src/mbgl/gl/context.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/mbgl/gl/context.cpp b/src/mbgl/gl/context.cpp
index 22b446e6d0..d8ade8b8b8 100644
--- a/src/mbgl/gl/context.cpp
+++ b/src/mbgl/gl/context.cpp
@@ -270,10 +270,13 @@ bool Context::supportsProgramBinaries() const {
// 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
+ // Blacklist Vivante GC4000 due to bugs when linking loaded programs:
+ // https://github.com/mapbox/mapbox-gl-native/issues/10704
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) {
+ || renderer.find("Adreno (TM) 5") != std::string::npos
+ || renderer.find("Vivante GC4000") != std::string::npos) {
return false;
}