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