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 "version": "10.0", |
22 "version": "9.37", | |
23 "entries": [ | 4 "entries": [ |
24 { | 5 { |
25 "id": 1, | 6 "id": 1, |
26 "description": "Imagination driver doesn't like uploading lots of buffer d
ata constantly", | 7 "description": "Imagination driver doesn't like uploading lots of buffer d
ata constantly", |
27 "os": { | 8 "os": { |
28 "type": "android" | 9 "type": "android" |
29 }, | 10 }, |
30 "gl_vendor": "Imagination.*", | 11 "gl_vendor": "Imagination.*", |
31 "features": [ | 12 "features": [ |
32 "use_client_side_arrays_for_stream_buffers" | 13 "use_client_side_arrays_for_stream_buffers" |
(...skipping 544 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
577 "gl_type": "gles", | 558 "gl_type": "gles", |
578 "gl_version": { | 559 "gl_version": { |
579 "op": "=", | 560 "op": "=", |
580 "value": "3.1" | 561 "value": "3.1" |
581 }, | 562 }, |
582 "gl_vendor": "NVIDIA.*", | 563 "gl_vendor": "NVIDIA.*", |
583 "features": [ | 564 "features": [ |
584 "use_virtualized_gl_contexts" | 565 "use_virtualized_gl_contexts" |
585 ] | 566 ] |
586 }, | 567 }, |
587 ) // LONG_STRING_CONST macro | |
588 // Avoid C2026 (string too big) error on VisualStudio. | |
589 LONG_STRING_CONST( | |
590 { | 568 { |
591 "id": 74, | 569 "id": 74, |
592 "cr_bugs": [278606, 382686], | 570 "cr_bugs": [278606, 382686], |
593 "description": "Testing EGL sync fences was broken on most Qualcomm driver
s", | 571 "description": "Testing EGL sync fences was broken on most Qualcomm driver
s", |
594 "os": { | 572 "os": { |
595 "type": "android", | 573 "type": "android", |
596 "version": { | 574 "version": { |
597 "op": "<=", | 575 "op": "<=", |
598 "value": "4.4.4" | 576 "value": "4.4.4" |
599 } | 577 } |
(...skipping 627 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1227 "os": { | 1205 "os": { |
1228 "type": "linux" | 1206 "type": "linux" |
1229 }, | 1207 }, |
1230 "vendor_id": "0x1002", | 1208 "vendor_id": "0x1002", |
1231 "features": [ | 1209 "features": [ |
1232 "force_cube_map_positive_x_allocation" | 1210 "force_cube_map_positive_x_allocation" |
1233 ] | 1211 ] |
1234 }, | 1212 }, |
1235 { | 1213 { |
1236 "id": 129, | 1214 "id": 129, |
1237 // TODO(dshwang): Fix ANGLE crash. crbug.com/518889 | 1215 "comment": "TODO(dshwang): Fix ANGLE crash. crbug.com/518889", |
1238 "description": "ANGLE crash on glReadPixels from incomplete cube map textu
re", | 1216 "description": "ANGLE crash on glReadPixels from incomplete cube map textu
re", |
1239 "cr_bugs": [518889], | 1217 "cr_bugs": [518889], |
1240 "os": { | 1218 "os": { |
1241 "type": "win" | 1219 "type": "win" |
1242 }, | 1220 }, |
1243 "gl_renderer": "ANGLE.*", | 1221 "gl_renderer": "ANGLE.*", |
1244 "features": [ | 1222 "features": [ |
1245 "force_cube_complete" | 1223 "force_cube_complete" |
1246 ] | 1224 ] |
1247 }, | 1225 }, |
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1380 }, | 1358 }, |
1381 "disabled_extensions": [ | 1359 "disabled_extensions": [ |
1382 "GL_EXT_texture_rg" | 1360 "GL_EXT_texture_rg" |
1383 ] | 1361 ] |
1384 }, | 1362 }, |
1385 { | 1363 { |
1386 "id": 140, | 1364 "id": 140, |
1387 "description": "glReadPixels fails on FBOs with SRGB_ALPHA textures, Nexus
5X", | 1365 "description": "glReadPixels fails on FBOs with SRGB_ALPHA textures, Nexus
5X", |
1388 "cr_bugs": [550292, 565179], | 1366 "cr_bugs": [550292, 565179], |
1389 "os": { | 1367 "os": { |
1390 "type": "android" | 1368 "type": "android", |
1391 // Originally on Android 6.0. Expect it to fail in later versions. | 1369 "comment": "Originally on Android 6.0. Expect it to fail in later versio
ns." |
1392 }, | 1370 }, |
1393 "gl_vendor": "Qualcomm", | 1371 "gl_vendor": "Qualcomm", |
1394 "gl_renderer": "Adreno \\(TM\\) 4.*", // Originally on 418. | 1372 "gl_renderer": "Adreno \\(TM\\) 4.*", |
| 1373 "comment": "Originally on 418.", |
1395 "disabled_extensions": ["GL_EXT_sRGB"] | 1374 "disabled_extensions": ["GL_EXT_sRGB"] |
1396 }, | 1375 }, |
1397 { | 1376 { |
1398 "id": 141, | 1377 "id": 141, |
1399 "cr_bugs": [570897], | 1378 "cr_bugs": [570897], |
1400 "description": "Framebuffer discarding can hurt performance on non-tilers"
, | 1379 "description": "Framebuffer discarding can hurt performance on non-tilers"
, |
1401 "os": { | 1380 "os": { |
1402 "type": "win" | 1381 "type": "win" |
1403 }, | 1382 }, |
1404 "features": [ | 1383 "features": [ |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1449 "description": "EGLImage ref counting across EGLContext/threads is broken"
, | 1428 "description": "EGLImage ref counting across EGLContext/threads is broken"
, |
1450 "os": { | 1429 "os": { |
1451 "type": "android" | 1430 "type": "android" |
1452 }, | 1431 }, |
1453 "gl_vendor": "Qualcomm.*", | 1432 "gl_vendor": "Qualcomm.*", |
1454 "gl_renderer": "Adreno \\(TM\\) [45].*", | 1433 "gl_renderer": "Adreno \\(TM\\) [45].*", |
1455 "features": [ | 1434 "features": [ |
1456 "broken_egl_image_ref_counting" | 1435 "broken_egl_image_ref_counting" |
1457 ] | 1436 ] |
1458 }, | 1437 }, |
1459 ) // LONG_STRING_CONST macro | |
1460 // Avoid C2026 (string too big) error on VisualStudio. | |
1461 LONG_STRING_CONST( | |
1462 { | 1438 { |
1463 "id": 147, | 1439 "id": 147, |
1464 "description": "Limit max texure size to 4096 on all of Android", | 1440 "description": "Limit max texure size to 4096 on all of Android", |
1465 "os": { | 1441 "os": { |
1466 "type": "android" | 1442 "type": "android" |
1467 }, | 1443 }, |
1468 "features": [ | 1444 "features": [ |
1469 "max_texture_size_limit_4096" | 1445 "max_texture_size_limit_4096" |
1470 ] | 1446 ] |
1471 }, | 1447 }, |
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1783 }, | 1759 }, |
1784 { | 1760 { |
1785 "id": 174, | 1761 "id": 174, |
1786 "description": "Adreno 4xx support for EXT_multisampled_render_to_texture
is buggy on Android 7.0", | 1762 "description": "Adreno 4xx support for EXT_multisampled_render_to_texture
is buggy on Android 7.0", |
1787 "cr_bugs": [612474], | 1763 "cr_bugs": [612474], |
1788 "os": { | 1764 "os": { |
1789 "type": "android", | 1765 "type": "android", |
1790 "version": { | 1766 "version": { |
1791 "op": "between", | 1767 "op": "between", |
1792 "value": "7.0.0", | 1768 "value": "7.0.0", |
1793 "value2": "7.0.99" | 1769 "value2": "7.0.99", |
1794 // Only initial version of N. | 1770 "comment": "Only initial version of N." |
1795 } | 1771 } |
1796 }, | 1772 }, |
1797 "gl_renderer": "Adreno \\(TM\\) 4.*", | 1773 "gl_renderer": "Adreno \\(TM\\) 4.*", |
1798 "disabled_extensions": [ | 1774 "disabled_extensions": [ |
1799 "GL_EXT_multisampled_render_to_texture" | 1775 "GL_EXT_multisampled_render_to_texture" |
1800 ] | 1776 ] |
1801 }, | 1777 }, |
1802 { | 1778 { |
1803 "id": 175, | 1779 "id": 175, |
1804 "description": "Adreno 5xx support for EXT_multisampled_render_to_texture
is buggy on Android < 7.0", | 1780 "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 { | 2277 { |
2302 "id": 213, | 2278 "id": 213, |
2303 "description": "The Mali-Gxx driver does not guarantee flush ordering", | 2279 "description": "The Mali-Gxx driver does not guarantee flush ordering", |
2304 "cr_bugs": [678508], | 2280 "cr_bugs": [678508], |
2305 "gl_vendor": "ARM.*", | 2281 "gl_vendor": "ARM.*", |
2306 "gl_renderer": "Mali-G.*", | 2282 "gl_renderer": "Mali-G.*", |
2307 "features": [ | 2283 "features": [ |
2308 "use_virtualized_gl_contexts" | 2284 "use_virtualized_gl_contexts" |
2309 ] | 2285 ] |
2310 }, | 2286 }, |
2311 ) // LONG_STRING_CONST macro | |
2312 // Avoid C2026 (string too big) error on VisualStudio. | |
2313 LONG_STRING_CONST( | |
2314 { | 2287 { |
2315 // Corresponds to software rendering list #140. | |
2316 "id": 214, | 2288 "id": 214, |
| 2289 "comment": [ |
| 2290 "Corresponds to software rendering list #140", |
| 2291 "Somehow the first workaround won't work without the second", |
| 2292 "See https://crbug.com/698197 for details" |
| 2293 ], |
2317 "description": "Certain versions of Qualcomm driver don't setup scissor st
ate correctly when FBO0 is bound.", | 2294 "description": "Certain versions of Qualcomm driver don't setup scissor st
ate correctly when FBO0 is bound.", |
2318 "cr_bugs": [670607, 696627, 698197], | 2295 "cr_bugs": [670607, 696627, 698197], |
2319 "gl_vendor": "Qualcomm.*", | 2296 "gl_vendor": "Qualcomm.*", |
2320 "machine_model_name": ["Nexus 7", "KFTHWI", "KFSAWI", "KFAPWI", "KFTHWA",
"KFSAWA", "KFAPWA"], | 2297 "machine_model_name": ["Nexus 7", "KFTHWI", "KFSAWI", "KFAPWI", "KFTHWA",
"KFSAWA", "KFAPWA"], |
2321 "features": [ | 2298 "features": [ |
2322 "force_update_scissor_state_when_binding_fbo0", | 2299 "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" | 2300 "disable_chromium_framebuffer_multisample" |
2326 ] | 2301 ] |
2327 }, | 2302 }, |
2328 { | 2303 { |
2329 "id": 215, | 2304 "id": 215, |
2330 "description": "Fake no-op GPU driver bug workaround for testing", | 2305 "description": "Fake no-op GPU driver bug workaround for testing", |
2331 "cr_bugs": [682912], | 2306 "cr_bugs": [682912], |
2332 "vendor_id": "0xbad9", | 2307 "vendor_id": "0xbad9", |
2333 "device_id": ["0xbad9"], | 2308 "device_id": ["0xbad9"], |
2334 "features": [ | 2309 "features": [ |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2392 "description": "Very large instanced draw calls crash on some Adreno 3xx d
rivers", | 2367 "description": "Very large instanced draw calls crash on some Adreno 3xx d
rivers", |
2393 "cr_bugs": [701682], | 2368 "cr_bugs": [701682], |
2394 "os": { | 2369 "os": { |
2395 "type": "android" | 2370 "type": "android" |
2396 }, | 2371 }, |
2397 "gl_renderer": "Adreno \\(TM\\) 3.*", | 2372 "gl_renderer": "Adreno \\(TM\\) 3.*", |
2398 "features": [ | 2373 "features": [ |
2399 "disallow_large_instanced_draw" | 2374 "disallow_large_instanced_draw" |
2400 ] | 2375 ] |
2401 } | 2376 } |
| 2377 ], |
| 2378 "comment": [ |
| 2379 "Please update the version number on top whenever you change this file", |
| 2380 "Please run gpu/config/process_json.py whenever you change this file" |
2402 ] | 2381 ] |
2403 // Please update the version number at beginning of this file whenever you | |
2404 // change this file. | |
2405 } | 2382 } |
2406 | |
2407 ); // LONG_STRING_CONST macro | |
2408 | |
2409 } // namespace gpu | |
OLD | NEW |