This repository was archived by the owner on Aug 8, 2023. It is now read-only.
Commit 054c872 1 parent b43e1ae commit 054c872 Copy full SHA for 054c872
File tree 1 file changed +13
-1
lines changed
1 file changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -255,7 +255,19 @@ bool Context::supportsVertexArrays() const {
255
255
256
256
#if MBGL_HAS_BINARY_PROGRAMS
257
257
bool Context::supportsProgramBinaries () const {
258
- return programBinary && programBinary->programBinary && programBinary->getProgramBinary ;
258
+ if (!programBinary || !programBinary->programBinary || !programBinary->getProgramBinary )
259
+ return false ;
260
+
261
+ // Blacklist Adreno 3xx, 4xx, and 5xx GPUs due to known bugs:
262
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=510637
263
+ // https://chromium.googlesource.com/chromium/src/gpu/+/master/config/gpu_driver_bug_list.json#2316
264
+ std::string renderer = reinterpret_cast <const char *>(glGetString (GL_RENDERER));
265
+ if (renderer.find (" Adreno (TM) 3" ) != std::string::npos
266
+ || renderer.find (" Adreno (TM) 4" ) != std::string::npos
267
+ || renderer.find (" Adreno (TM) 5" ) != std::string::npos)
268
+ return false ;
269
+
270
+ return true ;
259
271
}
260
272
261
273
optional<std::pair<BinaryProgramFormat, std::string>>
You can’t perform that action at this time.
0 commit comments