| OLD | NEW |
| 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 // Determines whether a certain driver bug exists in the current system. | |
| 6 // The format of a valid gpu_driver_bug_list.json file is defined in | |
| 7 // <gpu/config/gpu_control_list_format.txt>. | |
| 8 // The supported "features" can be found in | |
| 9 // <gpu/config/gpu_driver_bug_workaround_type.h>. | |
| 10 | |
| 11 #include "gpu/config/gpu_control_list_jsons.h" | |
| 12 | |
| 13 #define LONG_STRING_CONST(...) #__VA_ARGS__ | |
| 14 | |
| 15 namespace gpu { | |
| 16 | |
| 17 const char kGpuDriverBugListJson[] = LONG_STRING_CONST( | |
| 18 | |
| 19 { | 1 { |
| 20 "name": "gpu driver bug list", | 2 "name": "gpu driver bug list", |
| 21 // Please update the version number whenever you change this file. | 3 "comment": "Please update the version number whenever you change this file", |
| 22 "version": "9.38", | 4 "version": "10.0", |
| 23 "entries": [ | 5 "entries": [ |
| 24 { | 6 { |
| 25 "id": 1, | 7 "id": 1, |
| 26 "description": "Imagination driver doesn't like uploading lots of buffer d
ata constantly", | 8 "description": "Imagination driver doesn't like uploading lots of buffer d
ata constantly", |
| 27 "os": { | 9 "os": { |
| 28 "type": "android" | 10 "type": "android" |
| 29 }, | 11 }, |
| 30 "gl_vendor": "Imagination.*", | 12 "gl_vendor": "Imagination.*", |
| 31 "features": [ | 13 "features": [ |
| 32 "use_client_side_arrays_for_stream_buffers" | 14 "use_client_side_arrays_for_stream_buffers" |
| (...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 577 "gl_type": "gles", | 559 "gl_type": "gles", |
| 578 "gl_version": { | 560 "gl_version": { |
| 579 "op": "=", | 561 "op": "=", |
| 580 "value": "3.1" | 562 "value": "3.1" |
| 581 }, | 563 }, |
| 582 "gl_vendor": "NVIDIA.*", | 564 "gl_vendor": "NVIDIA.*", |
| 583 "features": [ | 565 "features": [ |
| 584 "use_virtualized_gl_contexts" | 566 "use_virtualized_gl_contexts" |
| 585 ] | 567 ] |
| 586 }, | 568 }, |
| 587 ) // LONG_STRING_CONST macro | |
| 588 // Avoid C2026 (string too big) error on VisualStudio. | |
| 589 LONG_STRING_CONST( | |
| 590 { | 569 { |
| 591 "id": 74, | 570 "id": 74, |
| 592 "cr_bugs": [278606, 382686], | 571 "cr_bugs": [278606, 382686], |
| 593 "description": "Testing EGL sync fences was broken on most Qualcomm driver
s", | 572 "description": "Testing EGL sync fences was broken on most Qualcomm driver
s", |
| 594 "os": { | 573 "os": { |
| 595 "type": "android", | 574 "type": "android", |
| 596 "version": { | 575 "version": { |
| 597 "op": "<=", | 576 "op": "<=", |
| 598 "value": "4.4.4" | 577 "value": "4.4.4" |
| 599 } | 578 } |
| (...skipping 627 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1227 "os": { | 1206 "os": { |
| 1228 "type": "linux" | 1207 "type": "linux" |
| 1229 }, | 1208 }, |
| 1230 "vendor_id": "0x1002", | 1209 "vendor_id": "0x1002", |
| 1231 "features": [ | 1210 "features": [ |
| 1232 "force_cube_map_positive_x_allocation" | 1211 "force_cube_map_positive_x_allocation" |
| 1233 ] | 1212 ] |
| 1234 }, | 1213 }, |
| 1235 { | 1214 { |
| 1236 "id": 129, | 1215 "id": 129, |
| 1237 // TODO(dshwang): Fix ANGLE crash. crbug.com/518889 | 1216 "comment": "TODO(dshwang): Fix ANGLE crash. crbug.com/518889", |
| 1238 "description": "ANGLE crash on glReadPixels from incomplete cube map textu
re", | 1217 "description": "ANGLE crash on glReadPixels from incomplete cube map textu
re", |
| 1239 "cr_bugs": [518889], | 1218 "cr_bugs": [518889], |
| 1240 "os": { | 1219 "os": { |
| 1241 "type": "win" | 1220 "type": "win" |
| 1242 }, | 1221 }, |
| 1243 "gl_renderer": "ANGLE.*", | 1222 "gl_renderer": "ANGLE.*", |
| 1244 "features": [ | 1223 "features": [ |
| 1245 "force_cube_complete" | 1224 "force_cube_complete" |
| 1246 ] | 1225 ] |
| 1247 }, | 1226 }, |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1380 }, | 1359 }, |
| 1381 "disabled_extensions": [ | 1360 "disabled_extensions": [ |
| 1382 "GL_EXT_texture_rg" | 1361 "GL_EXT_texture_rg" |
| 1383 ] | 1362 ] |
| 1384 }, | 1363 }, |
| 1385 { | 1364 { |
| 1386 "id": 140, | 1365 "id": 140, |
| 1387 "description": "glReadPixels fails on FBOs with SRGB_ALPHA textures, Nexus
5X", | 1366 "description": "glReadPixels fails on FBOs with SRGB_ALPHA textures, Nexus
5X", |
| 1388 "cr_bugs": [550292, 565179], | 1367 "cr_bugs": [550292, 565179], |
| 1389 "os": { | 1368 "os": { |
| 1390 "type": "android" | 1369 "type": "android", |
| 1391 // Originally on Android 6.0. Expect it to fail in later versions. | 1370 "comment": "Originally on Android 6.0. Expect it to fail in later versio
ns." |
| 1392 }, | 1371 }, |
| 1393 "gl_vendor": "Qualcomm", | 1372 "gl_vendor": "Qualcomm", |
| 1394 "gl_renderer": "Adreno \\(TM\\) 4.*", // Originally on 418. | 1373 "gl_renderer": "Adreno \\(TM\\) 4.*", |
| 1374 "comment": "Originally on 418.", |
| 1395 "disabled_extensions": ["GL_EXT_sRGB"] | 1375 "disabled_extensions": ["GL_EXT_sRGB"] |
| 1396 }, | 1376 }, |
| 1397 { | 1377 { |
| 1398 "id": 141, | 1378 "id": 141, |
| 1399 "cr_bugs": [570897], | 1379 "cr_bugs": [570897], |
| 1400 "description": "Framebuffer discarding can hurt performance on non-tilers"
, | 1380 "description": "Framebuffer discarding can hurt performance on non-tilers"
, |
| 1401 "os": { | 1381 "os": { |
| 1402 "type": "win" | 1382 "type": "win" |
| 1403 }, | 1383 }, |
| 1404 "features": [ | 1384 "features": [ |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1449 "description": "EGLImage ref counting across EGLContext/threads is broken"
, | 1429 "description": "EGLImage ref counting across EGLContext/threads is broken"
, |
| 1450 "os": { | 1430 "os": { |
| 1451 "type": "android" | 1431 "type": "android" |
| 1452 }, | 1432 }, |
| 1453 "gl_vendor": "Qualcomm.*", | 1433 "gl_vendor": "Qualcomm.*", |
| 1454 "gl_renderer": "Adreno \\(TM\\) [45].*", | 1434 "gl_renderer": "Adreno \\(TM\\) [45].*", |
| 1455 "features": [ | 1435 "features": [ |
| 1456 "broken_egl_image_ref_counting" | 1436 "broken_egl_image_ref_counting" |
| 1457 ] | 1437 ] |
| 1458 }, | 1438 }, |
| 1459 ) // LONG_STRING_CONST macro | |
| 1460 // Avoid C2026 (string too big) error on VisualStudio. | |
| 1461 LONG_STRING_CONST( | |
| 1462 { | 1439 { |
| 1463 "id": 147, | 1440 "id": 147, |
| 1464 "description": "Limit max texure size to 4096 on all of Android", | 1441 "description": "Limit max texure size to 4096 on all of Android", |
| 1465 "os": { | 1442 "os": { |
| 1466 "type": "android" | 1443 "type": "android" |
| 1467 }, | 1444 }, |
| 1468 "features": [ | 1445 "features": [ |
| 1469 "max_texture_size_limit_4096" | 1446 "max_texture_size_limit_4096" |
| 1470 ] | 1447 ] |
| 1471 }, | 1448 }, |
| (...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1783 }, | 1760 }, |
| 1784 { | 1761 { |
| 1785 "id": 174, | 1762 "id": 174, |
| 1786 "description": "Adreno 4xx support for EXT_multisampled_render_to_texture
is buggy on Android 7.0", | 1763 "description": "Adreno 4xx support for EXT_multisampled_render_to_texture
is buggy on Android 7.0", |
| 1787 "cr_bugs": [612474], | 1764 "cr_bugs": [612474], |
| 1788 "os": { | 1765 "os": { |
| 1789 "type": "android", | 1766 "type": "android", |
| 1790 "version": { | 1767 "version": { |
| 1791 "op": "between", | 1768 "op": "between", |
| 1792 "value": "7.0.0", | 1769 "value": "7.0.0", |
| 1793 "value2": "7.0.99" | 1770 "value2": "7.0.99", |
| 1794 // Only initial version of N. | 1771 "comment": "Only initial version of N." |
| 1795 } | 1772 } |
| 1796 }, | 1773 }, |
| 1797 "gl_renderer": "Adreno \\(TM\\) 4.*", | 1774 "gl_renderer": "Adreno \\(TM\\) 4.*", |
| 1798 "disabled_extensions": [ | 1775 "disabled_extensions": [ |
| 1799 "GL_EXT_multisampled_render_to_texture" | 1776 "GL_EXT_multisampled_render_to_texture" |
| 1800 ] | 1777 ] |
| 1801 }, | 1778 }, |
| 1802 { | 1779 { |
| 1803 "id": 175, | 1780 "id": 175, |
| 1804 "description": "Adreno 5xx support for EXT_multisampled_render_to_texture
is buggy on Android < 7.0", | 1781 "description": "Adreno 5xx support for EXT_multisampled_render_to_texture
is buggy on Android < 7.0", |
| (...skipping 496 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2301 { | 2278 { |
| 2302 "id": 213, | 2279 "id": 213, |
| 2303 "description": "The Mali-Gxx driver does not guarantee flush ordering", | 2280 "description": "The Mali-Gxx driver does not guarantee flush ordering", |
| 2304 "cr_bugs": [678508], | 2281 "cr_bugs": [678508], |
| 2305 "gl_vendor": "ARM.*", | 2282 "gl_vendor": "ARM.*", |
| 2306 "gl_renderer": "Mali-G.*", | 2283 "gl_renderer": "Mali-G.*", |
| 2307 "features": [ | 2284 "features": [ |
| 2308 "use_virtualized_gl_contexts" | 2285 "use_virtualized_gl_contexts" |
| 2309 ] | 2286 ] |
| 2310 }, | 2287 }, |
| 2311 ) // LONG_STRING_CONST macro | |
| 2312 // Avoid C2026 (string too big) error on VisualStudio. | |
| 2313 LONG_STRING_CONST( | |
| 2314 { | 2288 { |
| 2315 // Corresponds to software rendering list #140. | |
| 2316 "id": 214, | 2289 "id": 214, |
| 2290 "comment": [ |
| 2291 "Corresponds to software rendering list #140", |
| 2292 "Somehow the first workaround won't work without the second", |
| 2293 "See https://crbug.com/698197 for details" |
| 2294 ], |
| 2317 "description": "Certain versions of Qualcomm driver don't setup scissor st
ate correctly when FBO0 is bound.", | 2295 "description": "Certain versions of Qualcomm driver don't setup scissor st
ate correctly when FBO0 is bound.", |
| 2318 "cr_bugs": [670607, 696627, 698197], | 2296 "cr_bugs": [670607, 696627, 698197], |
| 2319 "gl_vendor": "Qualcomm.*", | 2297 "gl_vendor": "Qualcomm.*", |
| 2320 "machine_model_name": ["Nexus 7", "KFTHWI", "KFSAWI", "KFAPWI", "KFTHWA",
"KFSAWA", "KFAPWA"], | 2298 "machine_model_name": ["Nexus 7", "KFTHWI", "KFSAWI", "KFAPWI", "KFTHWA",
"KFSAWA", "KFAPWA"], |
| 2321 "features": [ | 2299 "features": [ |
| 2322 "force_update_scissor_state_when_binding_fbo0", | 2300 "force_update_scissor_state_when_binding_fbo0", |
| 2323 // Somehow the main workaround above won't work without the one below. | |
| 2324 // See https://crbug.com/698197 for details. | |
| 2325 "disable_chromium_framebuffer_multisample" | 2301 "disable_chromium_framebuffer_multisample" |
| 2326 ] | 2302 ] |
| 2327 }, | 2303 }, |
| 2328 { | 2304 { |
| 2329 "id": 215, | 2305 "id": 215, |
| 2330 "description": "Fake no-op GPU driver bug workaround for testing", | 2306 "description": "Fake no-op GPU driver bug workaround for testing", |
| 2331 "cr_bugs": [682912], | 2307 "cr_bugs": [682912], |
| 2332 "vendor_id": "0xbad9", | 2308 "vendor_id": "0xbad9", |
| 2333 "device_id": ["0xbad9"], | 2309 "device_id": ["0xbad9"], |
| 2334 "features": [ | 2310 "features": [ |
| (...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2406 "os": { | 2382 "os": { |
| 2407 "type": "linux" | 2383 "type": "linux" |
| 2408 }, | 2384 }, |
| 2409 "vendor_id": "0x1002", | 2385 "vendor_id": "0x1002", |
| 2410 "driver_vendor": "AMD \\(Catalyst\\)", | 2386 "driver_vendor": "AMD \\(Catalyst\\)", |
| 2411 "features": [ | 2387 "features": [ |
| 2412 "gl_clear_broken" | 2388 "gl_clear_broken" |
| 2413 ] | 2389 ] |
| 2414 } | 2390 } |
| 2415 ] | 2391 ] |
| 2416 // Please update the version number at beginning of this file whenever you | |
| 2417 // change this file. | |
| 2418 } | 2392 } |
| 2419 | |
| 2420 ); // LONG_STRING_CONST macro | |
| 2421 | |
| 2422 } // namespace gpu | |
| OLD | NEW |