Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(267)

Side by Side Diff: gpu/config/gpu_driver_bug_list_json.cc

Issue 2756793003: Move GPU blacklist and driver bug workaround list from json to data struct. (Closed)
Patch Set: pure rebase Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
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 {
20 "name": "gpu driver bug list",
21 // Please update the version number whenever you change this file.
22 "version": "9.37",
23 "entries": [
24 {
25 "id": 1,
26 "description": "Imagination driver doesn't like uploading lots of buffer d ata constantly",
27 "os": {
28 "type": "android"
29 },
30 "gl_vendor": "Imagination.*",
31 "features": [
32 "use_client_side_arrays_for_stream_buffers"
33 ]
34 },
35 {
36 "id": 2,
37 "description": "ARM driver doesn't like uploading lots of buffer data cons tantly",
38 "os": {
39 "type": "android"
40 },
41 "gl_vendor": "ARM.*",
42 "features": [
43 "use_client_side_arrays_for_stream_buffers"
44 ]
45 },
46 {
47 "id": 6,
48 "description": "Restore scissor on FBO change with Qualcomm GPUs on older versions of Android",
49 "cr_bugs": [165493, 222018],
50 "os": {
51 "type": "android",
52 "version": {
53 "op": "<",
54 "value": "4.3"
55 }
56 },
57 "gl_vendor": "Qualcomm.*",
58 "features": [
59 "restore_scissor_on_fbo_change"
60 ]
61 },
62 {
63 "id": 7,
64 "cr_bugs": [89557],
65 "description": "Work around a bug in offscreen buffers on NVIDIA GPUs on M acs",
66 "os": {
67 "type": "macosx"
68 },
69 "vendor_id": "0x10de",
70 "features": [
71 "needs_offscreen_buffer_workaround"
72 ]
73 },
74 {
75 "id": 17,
76 "description": "Some drivers are unable to reset the D3D device in the GPU process sandbox",
77 "os": {
78 "type": "win"
79 },
80 "features": [
81 "exit_on_context_lost"
82 ]
83 },
84 {
85 "id": 19,
86 "description": "Disable depth textures on Android with Qualcomm GPUs",
87 "cr_bugs": [682075],
88 "os": {
89 "type": "android",
90 "version": {
91 "op": "<",
92 "value": "6.0"
93 }
94 },
95 "gl_vendor": "Qualcomm.*",
96 "features": [
97 "disable_depth_texture"
98 ],
99 "disabled_extensions": [
100 "GL_OES_depth_texture"
101 ]
102 },
103 {
104 "id": 20,
105 "description": "Disable EXT_draw_buffers on GeForce GT 650M on Mac OS X du e to driver bugs",
106 "os": {
107 "type": "macosx"
108 },
109 "vendor_id": "0x10de",
110 "device_id": ["0x0fd5"],
111 "multi_gpu_category": "any",
112 "features": [
113 "disable_ext_draw_buffers"
114 ]
115 },
116 {
117 "id": 21,
118 "description": "Vivante GPUs are buggy with context switching",
119 "cr_bugs": [179250, 235935],
120 "os": {
121 "type": "android"
122 },
123 "gl_extensions": ".*GL_VIV_shader_binary.*",
124 "features": [
125 "unbind_fbo_on_context_switch"
126 ]
127 },
128 {
129 "id": 22,
130 "description": "Imagination drivers are buggy with context switching",
131 "cr_bugs": [230896],
132 "os": {
133 "type": "android"
134 },
135 "gl_vendor": "Imagination.*",
136 "features": [
137 "unbind_fbo_on_context_switch"
138 ]
139 },
140 {
141 "id": 23,
142 "cr_bugs": [243038],
143 "description": "Disable OES_standard_derivative on Intel Pineview M Galliu m drivers",
144 "os": {
145 "type": "chromeos"
146 },
147 "vendor_id": "0x8086",
148 "device_id": ["0xa011", "0xa012"],
149 "disabled_extensions": [
150 "GL_OES_standard_derivatives"
151 ]
152 },
153 {
154 "id": 24,
155 "cr_bugs": [231082],
156 "description": "Mali-4xx drivers throw an error when a buffer object's siz e is set to 0",
157 "os": {
158 "type": "android"
159 },
160 "gl_vendor": "ARM.*",
161 "gl_renderer": ".*Mali-4.*",
162 "features": [
163 "use_non_zero_size_for_client_side_stream_buffers"
164 ]
165 },
166 {
167 "id": 26,
168 "description": "Disable use of Direct3D 11 on Windows Vista and lower",
169 "os": {
170 "type": "win",
171 "version": {
172 "op": "<=",
173 "value": "6.0"
174 }
175 },
176 "features": [
177 "disable_d3d11"
178 ]
179 },
180 {
181 "id": 27,
182 "cr_bugs": [265115],
183 "description": "Async Readpixels with GL_BGRA format is broken on Haswell chipset on Macs",
184 "os": {
185 "type": "macosx"
186 },
187 "vendor_id": "0x8086",
188 "device_id": ["0x0402", "0x0406", "0x040a", "0x0412", "0x0416", "0x041a",
189 "0x0a04", "0x0a16", "0x0a22", "0x0a26", "0x0a2a"],
190 "features": [
191 "swizzle_rgba_for_async_readpixels"
192 ]
193 },
194 {
195 "id": 30,
196 "cr_bugs": [237931],
197 "description": "Multisampling is buggy on OSX when multiple monitors are c onnected",
198 "os": {
199 "type": "macosx"
200 },
201 "features": [
202 "disable_multimonitor_multisampling"
203 ]
204 },
205 {
206 "id": 31,
207 "cr_bugs": [154715, 10068, 269829, 294779, 285292],
208 "description": "The Mali-Txxx driver does not guarantee flush ordering",
209 "gl_vendor": "ARM.*",
210 "gl_renderer": "Mali-T.*",
211 "features": [
212 "use_virtualized_gl_contexts"
213 ]
214 },
215 {
216 "id": 32,
217 "cr_bugs": [179815],
218 "description": "Share groups are not working on (older?) Broadcom drivers" ,
219 "os": {
220 "type": "android"
221 },
222 "gl_vendor": "Broadcom.*",
223 "features": [
224 "use_virtualized_gl_contexts"
225 ]
226 },
227 {
228 "id": 33,
229 "description": "Share group-related crashes and poor context switching per f on Imagination drivers",
230 "gl_vendor": "Imagination.*",
231 "features": [
232 "use_virtualized_gl_contexts"
233 ]
234 },
235 {
236 "id": 34,
237 "cr_bugs": [179250, 229643, 230896],
238 "description": "Share groups are not working on (older?) Vivante drivers",
239 "os": {
240 "type": "android"
241 },
242 "gl_extensions": ".*GL_VIV_shader_binary.*",
243 "features": [
244 "use_virtualized_gl_contexts"
245 ]
246 },
247 {
248 "id": 35,
249 "cr_bugs": [163464],
250 "description": "Share-group related crashes on older NVIDIA drivers",
251 "os": {
252 "type": "android",
253 "version": {
254 "op": "<",
255 "value": "4.3"
256 }
257 },
258 "gl_vendor": "NVIDIA.*",
259 "features": [
260 "use_virtualized_gl_contexts"
261 ]
262 },
263 {
264 "id": 36,
265 "cr_bugs": [163464, 233612],
266 "description": "Share-group related crashes on Qualcomm drivers",
267 "os": {
268 "type": "android",
269 "version": {
270 "op": "<",
271 "value": "4.3"
272 }
273 },
274 "gl_vendor": "Qualcomm.*",
275 "features": [
276 "use_virtualized_gl_contexts"
277 ]
278 },
279 {
280 "id": 37,
281 "cr_bugs": [286468],
282 "description": "Program link fails in NVIDIA Linux if gl_Position is not s et",
283 "os": {
284 "type": "linux"
285 },
286 "vendor_id": "0x10de",
287 "gl_vendor": "NVIDIA.*",
288 "features": [
289 "init_gl_position_in_vertex_shader"
290 ]
291 },
292 {
293 "id": 38,
294 "cr_bugs": [289461],
295 "description": "Non-virtual contexts on Qualcomm sometimes cause out-of-or der frames",
296 "os": {
297 "type": "android"
298 },
299 "gl_vendor": "Qualcomm.*",
300 "features": [
301 "use_virtualized_gl_contexts"
302 ]
303 },
304 {
305 "id": 39,
306 "cr_bugs": [290391],
307 "description": "Multisampled renderbuffer allocation must be validated on some Macs",
308 "os": {
309 "type": "macosx",
310 "version": {
311 "op": "<",
312 "value": "10.10"
313 }
314 },
315 "features": [
316 "validate_multisample_buffer_allocation"
317 ]
318 },
319 {
320 "id": 40,
321 "cr_bugs": [290876],
322 "description": "Framebuffer discarding causes flickering on old ARM driver s",
323 "os": {
324 "type": "android",
325 "version": {
326 "op": "<",
327 "value": "4.4"
328 }
329 },
330 "gl_vendor": "ARM.*",
331 "features": [
332 "disable_discard_framebuffer"
333 ]
334 },
335 {
336 "id": 42,
337 "cr_bugs": [290876, 488463],
338 "description": "Framebuffer discarding causes flickering on older IMG driv ers",
339 "os": {
340 "type": "android"
341 },
342 "gl_vendor": "Imagination.*",
343 "gl_renderer": "PowerVR SGX 5.*",
344 "features": [
345 "disable_discard_framebuffer"
346 ]
347 },
348 {
349 "id": 43,
350 "cr_bugs": [299494],
351 "description": "Framebuffer discarding doesn't accept trivial attachments on Vivante",
352 "os": {
353 "type": "android"
354 },
355 "gl_extensions": ".*GL_VIV_shader_binary.*",
356 "features": [
357 "disable_discard_framebuffer"
358 ]
359 },
360 {
361 "id": 44,
362 "cr_bugs": [301988],
363 "description": "Framebuffer discarding causes jumpy scrolling on Mali driv ers",
364 "os": {
365 "type": "chromeos"
366 },
367 "features": [
368 "disable_discard_framebuffer"
369 ]
370 },
371 {
372 "id": 45,
373 "cr_bugs": [307751],
374 "description": "Unfold short circuit on Mac OS X",
375 "os": {
376 "type": "macosx"
377 },
378 "features": [
379 "unfold_short_circuit_as_ternary_operation"
380 ]
381 },
382 {
383 "id": 48,
384 "description": "Force to use discrete GPU on older MacBookPro models",
385 "cr_bugs": [113703],
386 "os": {
387 "type": "macosx"
388 },
389 "machine_model_name": ["MacBookPro"],
390 "machine_model_version": {
391 "op": "<",
392 "value": "8"
393 },
394 "gpu_count": {
395 "op": "=",
396 "value": "2"
397 },
398 "features": [
399 "force_discrete_gpu"
400 ]
401 },
402 {
403 "id": 49,
404 "cr_bugs": [309734],
405 "description": "The first draw operation from an idle state is slow",
406 "os": {
407 "type": "android"
408 },
409 "gl_vendor": "Qualcomm.*",
410 "features": [
411 "wake_up_gpu_before_drawing"
412 ]
413 },
414 {
415 "id": 51,
416 "description": "TexSubImage is faster for full uploads on ANGLE",
417 "os": {
418 "type": "win"
419 },
420 "gl_renderer": "ANGLE.*",
421 "features": [
422 "texsubimage_faster_than_teximage"
423 ]
424 },
425 {
426 "id": 52,
427 "cr_bugs": [449116, 471200, 612474, 682075],
428 "description": "ES3 MSAA is broken on Qualcomm",
429 "os": {
430 "type": "android",
431 "version": {
432 "op": "<",
433 "value": "6.0"
434 }
435 },
436 "gl_vendor": "Qualcomm.*",
437 "features": [
438 "disable_chromium_framebuffer_multisample"
439 ]
440 },
441 {
442 "id": 54,
443 "cr_bugs": [124764, 349137],
444 "description": "Clear uniforms before first program use on all platforms",
445 "exceptions": [
446 {
447 "os": {
448 "type": "macosx"
449 }
450 }
451 ],
452 "features": [
453 "clear_uniforms_before_first_program_use"
454 ]
455 },
456 {
457 "id": 55,
458 "cr_bugs": [333885],
459 "description": "Mesa drivers in Linux handle varyings without static use i ncorrectly",
460 "os": {
461 "type": "linux"
462 },
463 "driver_vendor": "Mesa",
464 "features": [
465 "count_all_in_varyings_packing"
466 ]
467 },
468 {
469 "id": 56,
470 "cr_bugs": [333885],
471 "description": "Mesa drivers in ChromeOS handle varyings without static us e incorrectly",
472 "os": {
473 "type": "chromeos"
474 },
475 "driver_vendor": "Mesa",
476 "features": [
477 "count_all_in_varyings_packing"
478 ]
479 },
480 {
481 "id": 59,
482 "description": "Multisampling is buggy in Intel IvyBridge",
483 "cr_bugs": [116370],
484 "os": {
485 "type": "linux"
486 },
487 "vendor_id": "0x8086",
488 "device_id": ["0x0152", "0x0156", "0x015a", "0x0162", "0x0166"],
489 "features": [
490 "disable_chromium_framebuffer_multisample"
491 ]
492 },
493 {
494 "id": 64,
495 "description": "Linux AMD drivers incorrectly return initial value of 1 fo r TEXTURE_MAX_ANISOTROPY",
496 "cr_bugs": [348237],
497 "os": {
498 "type": "linux"
499 },
500 "vendor_id": "0x1002",
501 "features": [
502 "init_texture_max_anisotropy"
503 ]
504 },
505 {
506 "id": 65,
507 "description": "Linux NVIDIA drivers don't have the correct defaults for v ertex attributes",
508 "cr_bugs": [351528],
509 "os": {
510 "type": "linux"
511 },
512 "vendor_id": "0x10de",
513 "gl_vendor": "NVIDIA.*",
514 "features": [
515 "init_vertex_attributes"
516 ]
517 },
518 {
519 "id": 68,
520 "description": "Disable partial swaps on Mesa drivers (detected with GL_RE NDERER)",
521 "cr_bugs": [339493],
522 "os": {
523 "type": "linux"
524 },
525 "gl_type": "gl",
526 "gl_renderer": ".*Mesa.*",
527 "features": [
528 "disable_post_sub_buffers_for_onscreen_surfaces"
529 ]
530 },
531 {
532 "id": 69,
533 "description": "Some shaders in Skia need more than the min available vert ex and fragment shader uniform vectors in case of OSMesa",
534 "cr_bugs": [174845],
535 "driver_vendor": "osmesa",
536 "features": [
537 "max_fragment_uniform_vectors_32",
538 "max_varying_vectors_16",
539 "max_vertex_uniform_vectors_256"
540 ]
541 },
542 {
543 "id": 70,
544 "description": "Disable D3D11 on older nVidia drivers",
545 "cr_bugs": [349929],
546 "os": {
547 "type": "win"
548 },
549 "vendor_id": "0x10de",
550 "driver_version": {
551 "op": "<=",
552 "value": "8.17.12.6973"
553 },
554 "features": [
555 "disable_d3d11"
556 ]
557 },
558 {
559 "id": 71,
560 "description": "Vivante's support of OES_standard_derivatives is buggy",
561 "cr_bugs": [368005],
562 "os": {
563 "type": "android"
564 },
565 "gl_extensions": ".*GL_VIV_shader_binary.*",
566 "disabled_extensions": [
567 "GL_OES_standard_derivatives"
568 ]
569 },
570 {
571 "id": 72,
572 "description": "Use virtual contexts on NVIDIA with GLES 3.1",
573 "cr_bugs": [369316],
574 "os": {
575 "type": "android"
576 },
577 "gl_type": "gles",
578 "gl_version": {
579 "op": "=",
580 "value": "3.1"
581 },
582 "gl_vendor": "NVIDIA.*",
583 "features": [
584 "use_virtualized_gl_contexts"
585 ]
586 },
587 ) // LONG_STRING_CONST macro
588 // Avoid C2026 (string too big) error on VisualStudio.
589 LONG_STRING_CONST(
590 {
591 "id": 74,
592 "cr_bugs": [278606, 382686],
593 "description": "Testing EGL sync fences was broken on most Qualcomm driver s",
594 "os": {
595 "type": "android",
596 "version": {
597 "op": "<=",
598 "value": "4.4.4"
599 }
600 },
601 "gl_vendor": "Qualcomm.*",
602 "disabled_extensions": [
603 "EGL_KHR_fence_sync"
604 ]
605 },
606 {
607 "id": 75,
608 "description": "Mali-4xx support of EXT_multisampled_render_to_texture is buggy on Android < 4.3",
609 "cr_bugs": [362435],
610 "os": {
611 "type": "android",
612 "version": {
613 "op": "<",
614 "value": "4.3"
615 }
616 },
617 "gl_vendor": "ARM.*",
618 "gl_renderer": ".*Mali-4.*",
619 "disabled_extensions": [
620 "GL_EXT_multisampled_render_to_texture"
621 ]
622 },
623 {
624 "id": 76,
625 "cr_bugs": [371530],
626 "description": "Testing EGL sync fences was broken on IMG",
627 "os": {
628 "type": "android",
629 "version": {
630 "op": "<=",
631 "value": "4.4.4"
632 }
633 },
634 "gl_vendor": "Imagination Technologies.*",
635 "disabled_extensions": [
636 "EGL_KHR_fence_sync"
637 ]
638 },
639 {
640 "id": 77,
641 "cr_bugs": [378691, 373360, 371530, 398964],
642 "description": "Testing fences was broken on Mali ES2 drivers",
643 "os": {
644 "type": "android",
645 "version": {
646 "op": "<=",
647 "value": "4.4.4"
648 }
649 },
650 "gl_vendor": "ARM.*",
651 "gl_renderer": "Mali.*",
652 "gl_type": "gles",
653 "gl_version": {
654 "op": "<",
655 "value": "3.0"
656 },
657 "disabled_extensions": [
658 "EGL_KHR_fence_sync"
659 ]
660 },
661 {
662 "id": 78,
663 "cr_bugs": [378691, 373360, 371530],
664 "description": "Testing fences was broken on Broadcom drivers",
665 "os": {
666 "type": "android",
667 "version": {
668 "op": "<=",
669 "value": "4.4.4"
670 }
671 },
672 "gl_vendor": "Broadcom.*",
673 "disabled_extensions": [
674 "EGL_KHR_fence_sync"
675 ]
676 },
677 {
678 "id": 82,
679 "description": "PBO mappings segfault on certain older Qualcomm drivers",
680 "cr_bugs": [394510],
681 "os": {
682 "type": "android",
683 "version": {
684 "op": "<",
685 "value": "4.3"
686 }
687 },
688 "gl_vendor": "Qualcomm.*",
689 "features": [
690 "disable_async_readpixels"
691 ]
692 },
693 {
694 "id": 86,
695 "description": "Disable use of Direct3D 11 on Matrox video cards",
696 "cr_bugs": [395861],
697 "os": {
698 "type": "win"
699 },
700 "vendor_id": "0x102b",
701 "features": [
702 "disable_d3d11"
703 ]
704 },
705 {
706 "id": 87,
707 "description": "Disable use of Direct3D 11 on older AMD drivers",
708 "cr_bugs": [402134],
709 "os": {
710 "type": "win"
711 },
712 "vendor_id": "0x1002",
713 "driver_date": {
714 "op": "<",
715 "value": "2011.1"
716 },
717 "features": [
718 "disable_d3d11"
719 ]
720 },
721 {
722 "id": 88,
723 "description": "Always rewrite vec/mat constructors to be consistent",
724 "cr_bugs": [398694],
725 "features": [
726 "scalarize_vec_and_mat_constructor_args"
727 ]
728 },
729 {
730 "id": 89,
731 "description": "Mac drivers handle struct scopes incorrectly",
732 "cr_bugs": [403957],
733 "os": {
734 "type": "macosx"
735 },
736 "features": [
737 "regenerate_struct_names"
738 ]
739 },
740 {
741 "id": 90,
742 "description": "Linux AMD drivers handle struct scopes incorrectly",
743 "cr_bugs": [403957],
744 "os": {
745 "type": "linux"
746 },
747 "vendor_id": "0x1002",
748 "features": [
749 "regenerate_struct_names"
750 ]
751 },
752 {
753 "id": 91,
754 "cr_bugs": [150500, 414816],
755 "description": "ETC1 non-power-of-two sized textures crash older IMG drive rs",
756 "os": {
757 "type": "android"
758 },
759 "gl_vendor": "Imagination.*",
760 "gl_renderer": "PowerVR SGX 5.*",
761 "features": [
762 "etc1_power_of_two_only"
763 ]
764 },
765 {
766 "id": 92,
767 "description": "Old Intel drivers cannot reliably support D3D11",
768 "cr_bugs": [363721],
769 "os": {
770 "type": "win"
771 },
772 "vendor_id": "0x8086",
773 "driver_version": {
774 "op": "<",
775 "value": "8.16"
776 },
777 "features": [
778 "disable_d3d11"
779 ]
780 },
781 {
782 "id": 93,
783 "description": "The GL implementation on the Android emulator has problems with PBOs.",
784 "cr_bugs": [340882],
785 "os": {
786 "type": "android"
787 },
788 "gl_vendor": "VMware.*",
789 "gl_renderer": "Gallium.*",
790 "gl_type": "gles",
791 "gl_version": {
792 "op": "=",
793 "value": "3.0"
794 },
795 "features": [
796 "disable_async_readpixels"
797 ]
798 },
799 {
800 "id": 94,
801 "description": "Disable EGL_KHR_wait_sync on NVIDIA with GLES 3.1",
802 "cr_bugs": [433057],
803 "os": {
804 "type": "android",
805 "version": {
806 "op": "<=",
807 "value": "5.0.2"
808 }
809 },
810 "gl_vendor": "NVIDIA.*",
811 "gl_type": "gles",
812 "gl_version": {
813 "op": "=",
814 "value": "3.1"
815 },
816 "disabled_extensions": [
817 "EGL_KHR_wait_sync"
818 ]
819 },
820 {
821 "id": 95,
822 "cr_bugs": [421271],
823 "description": "glClear does not always work on these drivers",
824 "os": {
825 "type": "android"
826 },
827 "gl_type": "gles",
828 "gl_version": {
829 "op": "<",
830 "value": "3.0"
831 },
832 "gl_vendor": "Imagination.*",
833 "features": [
834 "gl_clear_broken"
835 ]
836 },
837 {
838 "id": 97,
839 "description": "Multisampling has poor performance in Intel BayTrail",
840 "cr_bugs": [443517],
841 "os": {
842 "type": "android"
843 },
844 "gl_vendor": "Intel",
845 "gl_renderer": "Intel.*BayTrail",
846 "features": [
847 "disable_chromium_framebuffer_multisample"
848 ]
849 },
850 {
851 "id": 98,
852 "description": "PowerVR SGX 540 drivers throw GL_OUT_OF_MEMORY error when a buffer object's size is set to 0",
853 "cr_bugs": [451501],
854 "os": {
855 "type": "android"
856 },
857 "gl_vendor": "Imagination.*",
858 "gl_renderer": "PowerVR SGX 540",
859 "features": [
860 "use_non_zero_size_for_client_side_stream_buffers"
861 ]
862 },
863 {
864 "id": 99,
865 "description": "Qualcomm driver before Lollipop deletes egl sync objects a fter context destruction",
866 "cr_bugs": [453857],
867 "os": {
868 "type": "android",
869 "version": {
870 "op": "<",
871 "value": "5.0.0"
872 }
873 },
874 "gl_vendor": "Qualcomm.*",
875 "features": [
876 "ignore_egl_sync_failures"
877 ]
878 },
879 {
880 "id": 100,
881 "description": "Disable Direct3D11 on systems with AMD switchable graphics ",
882 "cr_bugs": [451420],
883 "os": {
884 "type": "win"
885 },
886 "multi_gpu_style": "amd_switchable",
887 "features": [
888 "disable_d3d11"
889 ]
890 },
891 {
892 "id": 101,
893 "description": "The Mali-Txxx driver hangs when reading from currently dis played buffer",
894 "cr_bugs": [457511],
895 "os": {
896 "type": "chromeos"
897 },
898 "gl_vendor": "ARM.*",
899 "gl_renderer": "Mali-T.*",
900 "features": [
901 "disable_post_sub_buffers_for_onscreen_surfaces"
902 ]
903 },
904 {
905 "id": 102,
906 "description": "Adreno 420 driver loses FBO attachment contents on bound F BO deletion",
907 "cr_bugs": [457027],
908 "os": {
909 "type": "android",
910 "version": {
911 "op": ">",
912 "value": "5.0.2"
913 }
914 },
915 "gl_renderer": "Adreno \\(TM\\) 4.*",
916 "features": [
917 "unbind_attachments_on_bound_render_fbo_delete"
918 ]
919 },
920 {
921 "id": 103,
922 "description": "Adreno 420 driver drops draw calls after FBO invalidation" ,
923 "cr_bugs": [443060],
924 "os": {
925 "type": "android"
926 },
927 "gl_renderer": "Adreno \\(TM\\) 4.*",
928 "features": [
929 "disable_discard_framebuffer"
930 ]
931 },
932 {
933 "id": 104,
934 "description": "EXT_occlusion_query_boolean hangs on MediaTek MT8135 pre-L ollipop",
935 "os": {
936 "type": "android",
937 "version": {
938 "op": "<",
939 "value": "5.0.0"
940 }
941 },
942 "gl_vendor": "Imagination.*",
943 "gl_renderer": "PowerVR Rogue Han",
944 "disabled_extensions": [
945 "GL_EXT_occlusion_query_boolean"
946 ]
947 },
948 {
949 "id": 105,
950 "cr_bugs": [449488,451230],
951 "description": "Framebuffer discarding causes corruption on Mali-4xx",
952 "gl_renderer": "Mali-4.*",
953 "os": {
954 "type": "android"
955 },
956 "features": [
957 "disable_discard_framebuffer"
958 ]
959 },
960 {
961 "id": 106,
962 "description": "EXT_occlusion_query_boolean hangs on PowerVR SGX 544 (IMG) drivers",
963 "os": {
964 "type": "android"
965 },
966 "gl_vendor": "Imagination.*",
967 "gl_renderer": "PowerVR SGX 544",
968 "disabled_extensions": [
969 "GL_EXT_occlusion_query_boolean"
970 ]
971 },
972 {
973 "id": 107,
974 "description": "Workaround IMG PowerVR G6xxx drivers bugs",
975 "cr_bugs": [480992],
976 "os": {
977 "type": "android",
978 "version": {
979 "op": "between",
980 "value": "5.0.0",
981 "value2": "5.1.99"
982 }
983 },
984 "gl_vendor": "Imagination.*",
985 "gl_renderer": "PowerVR Rogue.*",
986 "driver_version": {
987 "op": "between",
988 "value": "1.3",
989 "value2": "1.4"
990 },
991 "features": [
992 "avoid_egl_image_target_texture_reuse"
993 ],
994 "disabled_extensions": [
995 "EGL_KHR_wait_sync"
996 ]
997 },
998 {
999 "id": 108,
1000 "cr_bugs": [449150],
1001 "description": "Mali-4xx does not support GL_RGB format",
1002 "gl_vendor": "ARM.*",
1003 "gl_renderer": ".*Mali-4.*",
1004 "features": [
1005 "disable_gl_rgb_format"
1006 ]
1007 },
1008 {
1009 "id": 109,
1010 "cr_bugs": [449150, 514510],
1011 "description": "MakeCurrent is slow on Linux with NVIDIA drivers",
1012 "vendor_id": "0x10de",
1013 "os": {
1014 "type": "linux"
1015 },
1016 "gl_vendor": "NVIDIA.*",
1017 "features": [
1018 "use_virtualized_gl_contexts"
1019 ]
1020 },
1021 {
1022 "id": 110,
1023 "description": "EGL Sync server causes crashes on Adreno 2xx and 3xx drive rs",
1024 "cr_bugs": [482298],
1025 "os": {
1026 "type": "android"
1027 },
1028 "gl_vendor": "Qualcomm.*",
1029 "gl_renderer": "Adreno \\(TM\\) [23].*",
1030 "driver_version": {
1031 "op": "<",
1032 "value": "95"
1033 },
1034 "disabled_extensions": [
1035 "EGL_KHR_wait_sync"
1036 ]
1037 },
1038 {
1039 "id": 111,
1040 "description": "Discard Framebuffer breaks WebGL on Mali-4xx Linux",
1041 "cr_bugs": [485814],
1042 "os": {
1043 "type": "linux"
1044 },
1045 "gl_vendor": "ARM.*",
1046 "gl_renderer": ".*Mali-4.*",
1047 "features": [
1048 "disable_discard_framebuffer"
1049 ]
1050 },
1051 {
1052 "id": 112,
1053 "cr_bugs": [477514],
1054 "description": "EXT_disjoint_timer_query fails after 2 queries on adreno 3 xx in lollypop",
1055 "os": {
1056 "type": "android",
1057 "version": {
1058 "op": ">=",
1059 "value": "5.0.0"
1060 }
1061 },
1062 "gl_vendor": "Qualcomm.*",
1063 "gl_renderer": "Adreno \\(TM\\) 3.*",
1064 "features": [
1065 "disable_timestamp_queries"
1066 ]
1067 },
1068 {
1069 "id": 113,
1070 "cr_bugs": [477514],
1071 "description": "EXT_disjoint_timer_query fails after 256 queries on adreno 4xx",
1072 "os": {
1073 "type": "android"
1074 },
1075 "gl_renderer": "Adreno \\(TM\\) 4.*",
1076 "disabled_extensions": [
1077 "GL_EXT_disjoint_timer_query"
1078 ]
1079 },
1080 {
1081 "id": 115,
1082 "cr_bugs": [462553],
1083 "description": "glGetIntegerv with GL_GPU_DISJOINT_EXT causes GL_INVALID_E NUM error",
1084 "os": {
1085 "type": "android"
1086 },
1087 "gl_vendor": "NVIDIA.*",
1088 "gl_type": "gles",
1089 "gl_version": {
1090 "op": ">=",
1091 "value": "3.0"
1092 },
1093 "disabled_extensions": [
1094 "GL_EXT_disjoint_timer_query"
1095 ]
1096 },
1097 {
1098 "id": 116,
1099 "description": "Adreno 420 support for EXT_multisampled_render_to_texture is buggy on Android < 5.1",
1100 "cr_bugs": [490379],
1101 "os": {
1102 "type": "android",
1103 "version": {
1104 "op": "<",
1105 "value": "5.1"
1106 }
1107 },
1108 "gl_renderer": "Adreno \\(TM\\) 4.*",
1109 "disabled_extensions": [
1110 "GL_EXT_multisampled_render_to_texture"
1111 ]
1112 },
1113 {
1114 "id": 117,
1115 "description": "GL_KHR_blend_equation_advanced breaks blending on Adreno 4 xx",
1116 "cr_bugs": [488485],
1117 "os": {
1118 "type": "android"
1119 },
1120 "gl_vendor": "Qualcomm.*",
1121 "gl_renderer": ".*4\\d\\d",
1122 "features": [
1123 "disable_blend_equation_advanced"
1124 ]
1125 },
1126 {
1127 "id": 118,
1128 "cr_bugs": [477306],
1129 "description": "NVIDIA 331 series drivers shader compiler may crash when a ttempting to optimize pow()",
1130 "os": {
1131 "type": "linux"
1132 },
1133 "driver_version": {
1134 "op": "<=",
1135 "value": "331"
1136 },
1137 "vendor_id": "0x10de",
1138 "gl_vendor": "NVIDIA.*",
1139 "features": [
1140 "remove_pow_with_constant_exponent"
1141 ]
1142 },
1143 {
1144 "id": 119,
1145 "description": "Context lost recovery often fails on Mali-400/450 on Andro id.",
1146 "cr_bugs": [496438],
1147 "os": {
1148 "type": "android"
1149 },
1150 "gl_vendor": "ARM.*",
1151 "gl_renderer": ".*Mali-4.*",
1152 "features": [
1153 "exit_on_context_lost"
1154 ]
1155 },
1156 {
1157 "id": 120,
1158 "description": "CHROMIUM_copy_texture is slow on Mali pre-Lollipop",
1159 "cr_bugs": [498443],
1160 "os": {
1161 "type": "android",
1162 "version": {
1163 "op": "<",
1164 "value": "5.0.0"
1165 }
1166 },
1167 "gl_vendor": "ARM.*",
1168 "gl_renderer": "Mali.*",
1169 "features": [
1170 "max_copy_texture_chromium_size_262144"
1171 ]
1172 },
1173 {
1174 "id": 123,
1175 "cr_bugs": [344330],
1176 "description": "NVIDIA drivers before 346 lack features in NV_path_renderi ng and related extensions to implement driver level path rendering.",
1177 "vendor_id": "0x10de",
1178 "os": {
1179 "type": "linux"
1180 },
1181 "driver_version": {
1182 "op": "<",
1183 "value": "346"
1184 },
1185 "disabled_extensions": ["GL_NV_path_rendering"]
1186 },
1187 {
1188 "id": 125,
1189 "description": "glFinish doesn't clear caches on Android",
1190 "cr_bugs": [509727],
1191 "os": {
1192 "type": "android"
1193 },
1194 "gl_renderer": "Adreno.*",
1195 "features": [
1196 "unbind_egl_context_to_flush_driver_caches"
1197 ]
1198 },
1199 {
1200 "id": 126,
1201 "description": "Program binaries contain incorrect bound attribute locatio ns on Adreno 3xx GPUs",
1202 "cr_bugs": [510637],
1203 "os": {
1204 "type": "android"
1205 },
1206 "gl_renderer": "Adreno \\(TM\\) 3.*",
1207 "features": [
1208 "disable_program_cache"
1209 ]
1210 },
1211 {
1212 "id": 127,
1213 "description": "Android Adreno crashes on binding incomplete cube map text ure to FBO",
1214 "cr_bugs": [518889],
1215 "os": {
1216 "type": "android"
1217 },
1218 "gl_renderer": "Adreno.*",
1219 "features": [
1220 "force_cube_map_positive_x_allocation"
1221 ]
1222 },
1223 {
1224 "id": 128,
1225 "description": "Linux ATI drivers crash on binding incomplete cube map tex ture to FBO",
1226 "cr_bugs": [518889],
1227 "os": {
1228 "type": "linux"
1229 },
1230 "vendor_id": "0x1002",
1231 "features": [
1232 "force_cube_map_positive_x_allocation"
1233 ]
1234 },
1235 {
1236 "id": 129,
1237 // TODO(dshwang): Fix ANGLE crash. crbug.com/518889
1238 "description": "ANGLE crash on glReadPixels from incomplete cube map textu re",
1239 "cr_bugs": [518889],
1240 "os": {
1241 "type": "win"
1242 },
1243 "gl_renderer": "ANGLE.*",
1244 "features": [
1245 "force_cube_complete"
1246 ]
1247 },
1248 {
1249 "id": 130,
1250 "description": "NVIDIA fails glReadPixels from incomplete cube map texture ",
1251 "cr_bugs": [518889],
1252 "vendor_id": "0x10de",
1253 "os": {
1254 "type": "linux"
1255 },
1256 "gl_vendor": "NVIDIA.*",
1257 "features": [
1258 "force_cube_complete"
1259 ]
1260 },
1261 {
1262 "id": 131,
1263 "description": "Linux Mesa drivers crash on glTexSubImage2D() to texture s torage bound to FBO",
1264 "cr_bugs": [521904],
1265 "os": {
1266 "type": "linux"
1267 },
1268 "driver_vendor": "Mesa",
1269 "driver_version": {
1270 "op": "<",
1271 "value": "10.6"
1272 },
1273 "features": [
1274 "disable_texture_storage"
1275 ]
1276 },
1277 {
1278 "id": 132,
1279 "description": "On Intel GPUs MSAA performance is not acceptable for GPU r asterization",
1280 "cr_bugs": [527565],
1281 "vendor_id": "0x8086",
1282 "multi_gpu_category": "active",
1283 "features": [
1284 "msaa_is_slow"
1285 ]
1286 },
1287 {
1288 "id": 133,
1289 "description": "CHROMIUM_copy_texture with 1MB copy per flush to avoid unw anted cache growth on Adreno",
1290 "cr_bugs": [542478],
1291 "os": {
1292 "type": "android"
1293 },
1294 "gl_renderer": "Adreno.*",
1295 "features": [
1296 "max_copy_texture_chromium_size_1048576"
1297 ]
1298 },
1299 {
1300 "id": 134,
1301 "description": "glReadPixels fails on FBOs with SRGB_ALPHA textures",
1302 "cr_bugs": [550292],
1303 "os": {
1304 "type": "android",
1305 "version": {
1306 "op": "<",
1307 "value": "5.0"
1308 }
1309 },
1310 "gl_vendor": "Qualcomm.*",
1311 "disabled_extensions": ["GL_EXT_sRGB"]
1312 },
1313 {
1314 "id": 135,
1315 "description": "Screen flickers on 2009 iMacs",
1316 "cr_bugs": [543324],
1317 "os": {
1318 "type": "macosx"
1319 },
1320 "vendor_id": "0x1002",
1321 "device_id": ["0x9440", "0x944a", "0x9488", "0x9490"],
1322 "features": [
1323 "disable_overlay_ca_layers",
1324 "disable_post_sub_buffers_for_onscreen_surfaces"
1325 ]
1326 },
1327 {
1328 "id": 136,
1329 "description": "glGenerateMipmap fails if the zero texture level is not se t on some Mac drivers",
1330 "cr_bugs": [560499],
1331 "os": {
1332 "type": "macosx"
1333 },
1334 "features": [
1335 "set_zero_level_before_generating_mipmap"
1336 ]
1337 },
1338 {
1339 "id": 137,
1340 "description": "NVIDIA fails glReadPixels from incomplete cube map texture ",
1341 "cr_bugs": [518889],
1342 "os": {
1343 "type": "android"
1344 },
1345 "gl_vendor": "NVIDIA.*",
1346 "features": [
1347 "force_cube_complete"
1348 ]
1349 },
1350 {
1351 "id": 138,
1352 "description": "NVIDIA drivers before 346 lack features in NV_path_renderi ng and related extensions to implement driver level path rendering.",
1353 "cr_bugs": [344330],
1354 "os": {
1355 "type": "android"
1356 },
1357 "gl_vendor": "NVIDIA.*",
1358 "driver_version": {
1359 "op": "<",
1360 "value": "346"
1361 },
1362 "disabled_extensions": ["GL_NV_path_rendering"]
1363 },
1364 {
1365 "id": 139,
1366 "description": "Mesa drivers wrongly report supporting GL_EXT_texture_rg w ith GLES 2.0 prior version 11.1",
1367 "cr_bugs": [545904],
1368 "os": {
1369 "type": "linux"
1370 },
1371 "driver_vendor": "Mesa",
1372 "driver_version": {
1373 "op": "<",
1374 "value": "11.1"
1375 },
1376 "gl_type": "gles",
1377 "gl_version": {
1378 "op": "<",
1379 "value": "3.0"
1380 },
1381 "disabled_extensions": [
1382 "GL_EXT_texture_rg"
1383 ]
1384 },
1385 {
1386 "id": 140,
1387 "description": "glReadPixels fails on FBOs with SRGB_ALPHA textures, Nexus 5X",
1388 "cr_bugs": [550292, 565179],
1389 "os": {
1390 "type": "android"
1391 // Originally on Android 6.0. Expect it to fail in later versions.
1392 },
1393 "gl_vendor": "Qualcomm",
1394 "gl_renderer": "Adreno \\(TM\\) 4.*", // Originally on 418.
1395 "disabled_extensions": ["GL_EXT_sRGB"]
1396 },
1397 {
1398 "id": 141,
1399 "cr_bugs": [570897],
1400 "description": "Framebuffer discarding can hurt performance on non-tilers" ,
1401 "os": {
1402 "type": "win"
1403 },
1404 "features": [
1405 "disable_discard_framebuffer"
1406 ]
1407 },
1408 {
1409 "id": 142,
1410 "cr_bugs": [563714],
1411 "description": "Pack parameters work incorrectly with pack buffer bound",
1412 "os": {
1413 "type": "linux"
1414 },
1415 "vendor_id": "0x10de",
1416 "gl_vendor": "NVIDIA.*",
1417 "features": [
1418 "pack_parameters_workaround_with_pack_buffer"
1419 ]
1420 },
1421 {
1422 "id": 143,
1423 "description": "Timer queries crash on Intel GPUs on Linux",
1424 "cr_bugs": [540543, 576991],
1425 "os": {
1426 "type": "linux"
1427 },
1428 "vendor_id": "0x8086",
1429 "driver_vendor": "Mesa",
1430 "disabled_extensions": [
1431 "GL_ARB_timer_query",
1432 "GL_EXT_timer_query"
1433 ]
1434 },
1435 {
1436 "id": 144,
1437 "cr_bugs": [563714],
1438 "description": "Pack parameters work incorrectly with pack buffer bound",
1439 "os": {
1440 "type": "macosx"
1441 },
1442 "features": [
1443 "pack_parameters_workaround_with_pack_buffer"
1444 ]
1445 },
1446 {
1447 "id": 145,
1448 "cr_bugs": [585250],
1449 "description": "EGLImage ref counting across EGLContext/threads is broken" ,
1450 "os": {
1451 "type": "android"
1452 },
1453 "gl_vendor": "Qualcomm.*",
1454 "gl_renderer": "Adreno \\(TM\\) [45].*",
1455 "features": [
1456 "broken_egl_image_ref_counting"
1457 ]
1458 },
1459 ) // LONG_STRING_CONST macro
1460 // Avoid C2026 (string too big) error on VisualStudio.
1461 LONG_STRING_CONST(
1462 {
1463 "id": 147,
1464 "description": "Limit max texure size to 4096 on all of Android",
1465 "os": {
1466 "type": "android"
1467 },
1468 "features": [
1469 "max_texture_size_limit_4096"
1470 ]
1471 },
1472 {
1473 "id": 148,
1474 "description": "Mali-4xx GPU on JB doesn't support DetachGLContext",
1475 "os": {
1476 "type": "android",
1477 "version": {
1478 "op": "<=",
1479 "value": "4.4.4"
1480 }
1481 },
1482 "gl_renderer": ".*Mali-4.*",
1483 "features": [
1484 "surface_texture_cant_detach"
1485 ]
1486 },
1487 {
1488 "id": 149,
1489 "description": "Direct composition flashes black initially on Win <10",
1490 "cr_bugs": [588588],
1491 "os": {
1492 "type": "win",
1493 "version": {
1494 "op": "<",
1495 "value": "10.0"
1496 }
1497 },
1498 "features": [
1499 "disable_direct_composition"
1500 ]
1501 },
1502 {
1503 "id": 150,
1504 "cr_bugs": [563714],
1505 "description": "Alignment works incorrectly with unpack buffer bound",
1506 "os": {
1507 "type": "linux"
1508 },
1509 "vendor_id": "0x10de",
1510 "gl_vendor": "NVIDIA.*",
1511 "features": [
1512 "unpack_alignment_workaround_with_unpack_buffer"
1513 ]
1514 },
1515 {
1516 "id": 151,
1517 "cr_bugs": [563714],
1518 "description": "Alignment works incorrectly with unpack buffer bound",
1519 "os": {
1520 "type": "macosx"
1521 },
1522 "features": [
1523 "unpack_alignment_workaround_with_unpack_buffer"
1524 ]
1525 },
1526 {
1527 "id": 152,
1528 "cr_bugs": [581777],
1529 "description": "copyTexImage2D fails when reading from IOSurface on multip le GPU types.",
1530 "os": {
1531 "type": "macosx"
1532 },
1533 "features": [
1534 "use_intermediary_for_copy_texture_image"
1535 ]
1536 },
1537 {
1538 "id": 153,
1539 "cr_bugs": [594016],
1540 "description": "Vivante GC1000 with EXT_multisampled_render_to_texture fai ls glReadPixels",
1541 "os": {
1542 "type": "linux"
1543 },
1544 "gl_vendor": "Vivante Corporation",
1545 "gl_renderer": "Vivante GC1000",
1546 "disabled_extensions": [
1547 "GL_EXT_multisampled_render_to_texture"
1548 ]
1549 },
1550 {
1551 "id": 156,
1552 "cr_bugs": [598474],
1553 "description": "glEGLImageTargetTexture2DOES crashes",
1554 "os": {
1555 "type": "android",
1556 "version": {
1557 "op": "between",
1558 "value": "4.4",
1559 "value2": "4.4.4"
1560 }
1561 },
1562 "gl_vendor": "Imagination.*",
1563 "gl_renderer": "PowerVR SGX 544MP",
1564 "features": [
1565 "avda_dont_copy_pictures"
1566 ]
1567 },
1568 {
1569 "id": 157,
1570 "description": "Testing fences was broken on Mali ES2 drivers for specific phone models",
1571 "cr_bugs": [589814],
1572 "os": {
1573 "type": "android"
1574 },
1575 "machine_model_name": ["SM-G361H", "SM-G531H"],
1576 "gl_vendor": "ARM.*",
1577 "gl_renderer": "Mali.*",
1578 "gl_type": "gles",
1579 "gl_version": {
1580 "op": "<",
1581 "value": "3.0"
1582 },
1583 "disabled_extensions": [
1584 "EGL_KHR_fence_sync"
1585 ]
1586 },
1587 {
1588 "id": 158,
1589 "description": "IOSurface use becomes pathologically slow over time on 10. 10.",
1590 "cr_bugs": [580616],
1591 "os": {
1592 "type": "macosx",
1593 "version": {
1594 "op": "=",
1595 "value": "10.10"
1596 }
1597 },
1598 "vendor_id": "0x10de",
1599 "device_id": ["0x0fd5"],
1600 "features": [
1601 "disable_overlay_ca_layers"
1602 ]
1603 },
1604 {
1605 "id": 159,
1606 "cr_bugs": [570897],
1607 "description": "Framebuffer discarding can hurt performance on non-tilers" ,
1608 "os": {
1609 "type": "linux"
1610 },
1611 "vendor_id": "0x10de",
1612 "gl_vendor": "NVIDIA.*",
1613 "gl_type": "gl",
1614 "features": [
1615 "disable_discard_framebuffer"
1616 ]
1617 },
1618 {
1619 "id": 160,
1620 "cr_bugs": [601753],
1621 "description": "Framebuffer discarding not useful on NVIDIA Kepler archite cture and later",
1622 "os": {
1623 "type": "linux"
1624 },
1625 "vendor_id": "0x10de",
1626 "gl_vendor": "NVIDIA.*",
1627 "gl_type": "gles",
1628 "gl_version": {
1629 "op": ">=",
1630 "value": "3.0"
1631 },
1632 "features": [
1633 "disable_discard_framebuffer"
1634 ]
1635 },
1636 {
1637 "id": 161,
1638 "cr_bugs": [601753],
1639 "description": "Framebuffer discarding not useful on NVIDIA Kepler archite cture and later",
1640 "os": {
1641 "type": "chromeos"
1642 },
1643 "vendor_id": "0x10de",
1644 "gl_vendor": "NVIDIA.*",
1645 "gl_type": "gles",
1646 "gl_version": {
1647 "op": ">=",
1648 "value": "3.0"
1649 },
1650 "features": [
1651 "disable_discard_framebuffer"
1652 ]
1653 },
1654 {
1655 "id": 162,
1656 "cr_bugs": [601753],
1657 "description": "Framebuffer discarding not useful on NVIDIA Kepler archite cture and later",
1658 "os": {
1659 "type": "android"
1660 },
1661 "gl_vendor": "NVIDIA.*",
1662 "gl_type": "gles",
1663 "gl_version": {
1664 "op": ">=",
1665 "value": "3.0"
1666 },
1667 "features": [
1668 "disable_discard_framebuffer"
1669 ]
1670 },
1671 {
1672 "id": 163,
1673 "cr_bugs": [607130],
1674 "description": "Multisample renderbuffers with format GL_RGB8 have perform ance issues on Intel GPUs.",
1675 "os": {
1676 "type": "macosx"
1677 },
1678 "vendor_id": "0x8086",
1679 "features": [
1680 "disable_webgl_rgb_multisampling_usage"
1681 ]
1682 },
1683 {
1684 "id": 164,
1685 "cr_bugs": [595948],
1686 "description": "glColorMask does not work for multisample renderbuffers on old AMD GPUs.",
1687 "os": {
1688 "type": "macosx"
1689 },
1690 "vendor_id": "0x1002",
1691 "device_id": ["0x6720", "0x6740", "0x6741", "0x68b8"],
1692 "features": [
1693 "disable_multisampling_color_mask_usage"
1694 ]
1695 },
1696 {
1697 "id": 165,
1698 "cr_bugs": [596774],
1699 "description": "Unpacking overlapping rows from unpack buffers is unstable on NVIDIA GL driver",
1700 "gl_vendor": "NVIDIA.*",
1701 "features": [
1702 "unpack_overlapping_rows_separately_unpack_buffer"
1703 ]
1704 },
1705 {
1706 "id": 167,
1707 "cr_bugs": [610516],
1708 "description": "glEGLImageTargetTexture2DOES crashes on Mali-400",
1709 "os": {
1710 "type": "android"
1711 },
1712 "gl_vendor": "ARM.*",
1713 "gl_renderer": ".*Mali-4.*",
1714 "features": [
1715 "avda_dont_copy_pictures"
1716 ]
1717 },
1718 {
1719 "id": 168,
1720 "description": "VirtualBox driver doesn't correctly support partial swaps. ",
1721 "cr_bugs": [613722],
1722 "os": {
1723 "type": "linux"
1724 },
1725 "vendor_id": "0x80ee",
1726 "features": [
1727 "disable_post_sub_buffers_for_onscreen_surfaces"
1728 ]
1729 },
1730 {
1731 "id": 169,
1732 "description": "Mac Drivers store texture level parameters on int16_t that overflow",
1733 "cr_bugs": [610153],
1734 "os": {
1735 "type": "macosx",
1736 "version": {
1737 "op": "<",
1738 "value": "10.12.2"
1739 }
1740 },
1741 "features": [
1742 "use_shadowed_tex_level_params"
1743 ]
1744 },
1745 {
1746 "id": 170,
1747 "description": "Zero copy DXGI video hangs on shutdown on Win < 8.1",
1748 "cr_bugs": [621190],
1749 "os": {
1750 "type": "win",
1751 "version": {
1752 "op": "<",
1753 "value": "8.1"
1754 }
1755 },
1756 "features": [
1757 "disable_dxgi_zero_copy_video"
1758 ]
1759 },
1760 {
1761 "id": 172,
1762 "description": "Limited enabling of Chromium GL_INTEL_framebuffer_CMAA",
1763 "cr_bugs": [535198],
1764 "exceptions" : [
1765 {
1766 "os": {
1767 "type" : "chromeos"
1768 },
1769 "vendor_id": "0x8086",
1770 "driver_vendor": "Mesa",
1771 "gl_vendor": "Intel.*",
1772 "gl_renderer": ".*Intel.*(Braswell|Broadwell|Skylake).*",
1773 "gl_type": "gles",
1774 "gl_version": {
1775 "op": ">=",
1776 "value": "3.1"
1777 }
1778 }
1779 ],
1780 "features": [
1781 "disable_framebuffer_cmaa"
1782 ]
1783 },
1784 {
1785 "id": 174,
1786 "description": "Adreno 4xx support for EXT_multisampled_render_to_texture is buggy on Android 7.0",
1787 "cr_bugs": [612474],
1788 "os": {
1789 "type": "android",
1790 "version": {
1791 "op": "between",
1792 "value": "7.0.0",
1793 "value2": "7.0.99"
1794 // Only initial version of N.
1795 }
1796 },
1797 "gl_renderer": "Adreno \\(TM\\) 4.*",
1798 "disabled_extensions": [
1799 "GL_EXT_multisampled_render_to_texture"
1800 ]
1801 },
1802 {
1803 "id": 175,
1804 "description": "Adreno 5xx support for EXT_multisampled_render_to_texture is buggy on Android < 7.0",
1805 "cr_bugs": [612474],
1806 "os": {
1807 "type": "android",
1808 "version": {
1809 "op": "<",
1810 "value": "7.0"
1811 }
1812 },
1813 "gl_renderer": "Adreno \\(TM\\) 5.*",
1814 "disabled_extensions": [
1815 "GL_EXT_multisampled_render_to_texture"
1816 ]
1817 },
1818 {
1819 "id": 176,
1820 "description": "glClear does not work on Acer Predator GT-810",
1821 "cr_bugs": [633634],
1822 "os": {
1823 "type": "android"
1824 },
1825 "gl_vendor": "Intel",
1826 "gl_renderer": ".*Atom.*x5/x7.*",
1827 "features": [
1828 "gl_clear_broken"
1829 ]
1830 },
1831 {
1832 "id": 177,
1833 "description": "glGetFragData{Location|Index} works incorrectly on Max",
1834 "cr_bugs": [638340],
1835 "os": {
1836 "type": "macosx"
1837 },
1838 "features": [
1839 "get_frag_data_info_bug"
1840 ]
1841 },
1842 {
1843 "id": 178,
1844 "description": "GL_KHR_blend_equation_advanced is incorrectly implemented on Intel BayTrail on KitKat",
1845 "cr_bugs": [639470],
1846 "os": {
1847 "type": "android",
1848 "version": {
1849 "op": "<",
1850 "value": "5.0"
1851 }
1852 },
1853 "gl_vendor": "Intel.*",
1854 "gl_renderer": "Intel(R) HD Graphics for BayTrail",
1855 "features": [
1856 "disable_blend_equation_advanced"
1857 ]
1858 },
1859 {
1860 "id": 179,
1861 "description": "glResumeTransformFeedback works incorrectly on Intel GPUs" ,
1862 "cr_bugs": [638514],
1863 "os": {
1864 "type": "macosx"
1865 },
1866 "vendor_id": "0x8086",
1867 "features": [
1868 "rebind_transform_feedback_before_resume"
1869 ]
1870 },
1871 {
1872 "id": 180,
1873 "cr_bugs": [579060,632461],
1874 "description": "eglCreateImageKHR fails for one component textures on Powe rVR",
1875 "os": {
1876 "type": "android"
1877 },
1878 "gl_vendor": "Imagination.*",
1879 "gl_renderer": "PowerVR .*",
1880 "features": [
1881 "avoid_one_component_egl_images"
1882 ]
1883 },
1884 {
1885 "id": 181,
1886 "description": "glTexStorage* are buggy when base mipmap level is not 0",
1887 "cr_bugs": [640506],
1888 "os": {
1889 "type": "macosx",
1890 "version": {
1891 "op": "<",
1892 "value": "10.12.4"
1893 }
1894 },
1895 "features": [
1896 "reset_base_mipmap_level_before_texstorage"
1897 ]
1898 },
1899 {
1900 "id": 182,
1901 "cr_bugs": [638691],
1902 "description": "Frequent hang in glClear on old android versions on Mali-T 7xx",
1903 "os": {
1904 "type": "android",
1905 "version": {
1906 "op": "<",
1907 "value": "6.0"
1908 }
1909 },
1910 "gl_renderer": ".*Mali-T7.*",
1911 "features": [
1912 "gl_clear_broken"
1913 ]
1914 },
1915 {
1916 "id": 183,
1917 "description": "Result of abs(i) where i is an integer in vertex shader is wrong",
1918 "cr_bugs": [642227],
1919 "os": {
1920 "type": "macosx"
1921 },
1922 "vendor_id": "0x8086",
1923 "features": [
1924 "emulate_abs_int_function"
1925 ]
1926 },
1927 {
1928 "id": 184,
1929 "description": "Rewrite texelFetchOffset to texelFetch for Intel Mac",
1930 "cr_bugs": [642605],
1931 "os": {
1932 "type": "macosx"
1933 },
1934 "vendor_id": "0x8086",
1935 "features": [
1936 "rewrite_texelfetchoffset_to_texelfetch"
1937 ]
1938 },
1939 {
1940 "id": 185,
1941 "description": "Zero-copy NV12 video displays incorrect colors on NVIDIA d rivers.",
1942 "cr_bugs": [635319],
1943 "os": {
1944 "type": "win"
1945 },
1946 "vendor_id": "0x10de",
1947 "features": [
1948 "disable_dxgi_zero_copy_video"
1949 ]
1950 },
1951 {
1952 "id": 186,
1953 "description": "Rewrite condition in for and while loops for Intel Mac",
1954 "cr_bugs": [644669],
1955 "os": {
1956 "type": "macosx"
1957 },
1958 "vendor_id": "0x8086",
1959 "features": [
1960 "add_and_true_to_loop_condition"
1961 ]
1962 },
1963 {
1964 "id": 187,
1965 "description": "Rewrite do-while loops to simpler constructs on Mac",
1966 "cr_bugs": [644669],
1967 "os": {
1968 "type": "macosx",
1969 "version": {
1970 "op": "<",
1971 "value": "10.11"
1972 }
1973 },
1974 "features": [
1975 "rewrite_do_while_loops"
1976 ]
1977 },
1978 {
1979 "id": 188,
1980 "description": "AVSampleBufferDisplayLayer leaks IOSurfaces on 10.9.",
1981 "cr_bugs": [632178],
1982 "os": {
1983 "type": "macosx",
1984 "version": {
1985 "op": "<=",
1986 "value": "10.10"
1987 }
1988 },
1989 "features": [
1990 "disable_av_sample_buffer_display_layer"
1991 ]
1992 },
1993 {
1994 "id": 189,
1995 "description": "Do TexImage2D first before CopyTexImage2D for cube map tex ture on Intel Mac 10.11",
1996 "cr_bugs": [648197],
1997 "os": {
1998 "type": "macosx",
1999 "version": {
2000 "op": "<=",
2001 "value": "10.11"
2002 }
2003 },
2004 "vendor_id": "0x8086",
2005 "features": [
2006 "init_one_cube_map_level_before_copyteximage"
2007 ]
2008 },
2009 {
2010 "id": 190,
2011 "description": "Disable partial swaps on Mesa drivers (detected with GL_VE RSION)",
2012 "cr_bugs": [339493],
2013 "os": {
2014 "type": "linux"
2015 },
2016 "gl_type": "gl",
2017 "gl_version_string": ".*Mesa.*",
2018 "features": [
2019 "disable_post_sub_buffers_for_onscreen_surfaces"
2020 ]
2021 },
2022 {
2023 "id": 191,
2024 "description": "Emulate GLSL function isnan() on Intel Mac",
2025 "cr_bugs": [650547],
2026 "os": {
2027 "type": "macosx"
2028 },
2029 "vendor_id": "0x8086",
2030 "device_id" : [
2031 "0x1902", "0x1906", "0x190A", "0x190B", "0x190E", "0x1912", "0x1913", "0 x1915",
2032 "0x1916", "0x1917", "0x191A", "0x191B", "0x191D", "0x191E", "0x1921", "0 x1923",
2033 "0x1926", "0x1927", "0x192A", "0x192B", "0x192D", "0x1932", "0x193A", "0 x193B",
2034 "0x193D"
2035 ],
2036 "features" : [
2037 "emulate_isnan_on_float"
2038 ]
2039 },
2040 {
2041 "id": 192,
2042 "description": "Decode and encode before generateMipmap for srgb format te xtures on os except macosx",
2043 "cr_bugs": [634519],
2044 "gl_type": "gl",
2045 "gl_version": {
2046 "op": "<",
2047 "value": "4.4"
2048 },
2049 "exceptions": [
2050 {
2051 "os": {
2052 "type": "macosx"
2053 }
2054 }
2055 ],
2056 "features": [
2057 "decode_encode_srgb_for_generatemipmap"
2058 ]
2059 },
2060 {
2061 "id": 193,
2062 "description": "Decode and encode before generateMipmap for srgb format te xtures on macosx",
2063 "cr_bugs": [634519],
2064 "os": {
2065 "type": "macosx"
2066 },
2067 "features": [
2068 "decode_encode_srgb_for_generatemipmap"
2069 ]
2070 },
2071 {
2072 "id": 194,
2073 "description": "Init first two levels before CopyTexImage2D for cube map t exture on Intel Mac 10.12",
2074 "cr_bugs": [648197],
2075 "os": {
2076 "type": "macosx",
2077 "version": {
2078 "op": ">=",
2079 "value": "10.12"
2080 }
2081 },
2082 "vendor_id": "0x8086",
2083 "features": [
2084 "init_two_cube_map_levels_before_copyteximage"
2085 ]
2086 },
2087 {
2088 "id": 195,
2089 "description": "Insert statements to reference all members in unused std14 0/shared blocks on Mac",
2090 "cr_bugs": [618464],
2091 "os": {
2092 "type": "macosx"
2093 },
2094 "features": [
2095 "use_unused_standard_shared_blocks"
2096 ]
2097 },
2098 {
2099 "id": 196,
2100 "description": "Tex(Sub)Image3D performs incorrectly when uploading from u npack buffer with GL_UNPACK_IMAGE_HEIGHT greater than zero on Intel Macs",
2101 "cr_bugs": [654258],
2102 "os": {
2103 "type": "macosx"
2104 },
2105 "vendor_id": "0x8086",
2106 "features": [
2107 "unpack_image_height_workaround_with_unpack_buffer"
2108 ]
2109 },
2110 {
2111 "id": 197,
2112 "description": "adjust src/dst region if blitting pixels outside read fram ebuffer on Mac",
2113 "cr_bugs": [644740],
2114 "os": {
2115 "type": "macosx"
2116 },
2117 "features": [
2118 "adjust_src_dst_region_for_blitframebuffer"
2119 ]
2120 },
2121 {
2122 "id": 198,
2123 "description": "adjust src/dst region if blitting pixels outside read fram ebuffer on Linux Intel",
2124 "cr_bugs": [664740],
2125 "os": {
2126 "type": "linux"
2127 },
2128 "vendor_id": "0x8086",
2129 "features": [
2130 "adjust_src_dst_region_for_blitframebuffer"
2131 ]
2132 },
2133 {
2134 "id": 199,
2135 "description": "adjust src/dst region if blitting pixels outside read fram ebuffer on Linux AMD",
2136 "cr_bugs": [664740],
2137 "os": {
2138 "type": "linux"
2139 },
2140 "vendor_id": "0x1002",
2141 "features": [
2142 "adjust_src_dst_region_for_blitframebuffer"
2143 ]
2144 },
2145 {
2146 "id": 200,
2147 "description": "ES3 support is unreliable on some older drivers",
2148 "cr_bugs": [657925],
2149 "os": {
2150 "type": "android",
2151 "version": {
2152 "op": "<",
2153 "value": "4.4"
2154 }
2155 },
2156 "features": [
2157 "disable_es3_gl_context"
2158 ]
2159 },
2160 {
2161 "id": 201,
2162 "cr_bugs": [659326,639760],
2163 "description": "AMD drivers in Linux require invariant qualifier to match between vertex and fragment shaders",
2164 "os": {
2165 "type": "linux"
2166 },
2167 "vendor_id": "0x1002",
2168 "features": [
2169 "dont_remove_invariant_for_fragment_input",
2170 "remove_invariant_and_centroid_for_essl3"
2171 ]
2172 },
2173 {
2174 "id": 202,
2175 "cr_bugs": [639760,641129],
2176 "description": "Mac driver GL 4.1 requires invariant and centroid to match between shaders",
2177 "os": {
2178 "type": "macosx"
2179 },
2180 "features": [
2181 "remove_invariant_and_centroid_for_essl3"
2182 ]
2183 },
2184 {
2185 "id": 203,
2186 "cr_bugs": [639760,641129],
2187 "description": "Mesa driver GL 3.3 requires invariant and centroid to matc h between shaders",
2188 "os": {
2189 "type": "linux"
2190 },
2191 "driver_vendor": "Mesa",
2192 "gl_version": {
2193 "op": "=",
2194 "value": "3.3"
2195 },
2196 "features": [
2197 "remove_invariant_and_centroid_for_essl3"
2198 ]
2199 },
2200 {
2201 "id": 205,
2202 "description": "Adreno 5xx support for EXT_multisampled_render_to_texture is buggy on Android 7.1",
2203 "cr_bugs": [663811],
2204 "os": {
2205 "type": "android",
2206 "version": {
2207 "op": "=",
2208 "value": "7.1.0"
2209 }
2210 },
2211 "gl_renderer": "Adreno \\(TM\\) 5.*",
2212 "disabled_extensions": [
2213 "GL_EXT_multisampled_render_to_texture"
2214 ]
2215 },
2216 {
2217 "id": 206,
2218 "description": "Disable KHR_blend_equation_advanced until cc shaders are u pdated",
2219 "cr_bugs": [661715],
2220 "disabled_extensions": [
2221 "GL_KHR_blend_equation_advanced",
2222 "GL_KHR_blend_equation_advanced_coherent"
2223 ]
2224 },
2225 {
2226 "id": 207,
2227 "description": "Decode and Encode before generateMipmap for srgb format te xtures on Windows",
2228 "cr_bugs": [634519],
2229 "os" : {
2230 "type": "win"
2231 },
2232 "features" : [
2233 "decode_encode_srgb_for_generatemipmap"
2234 ]
2235 },
2236 {
2237 "id": 208,
2238 "description": "Decode and Encode before generateMipmap for srgb format te xtures on Linux Mesa ANGLE path",
2239 "cr_bugs": [634519],
2240 "os": {
2241 "type": "linux"
2242 },
2243 "gl_renderer": "ANGLE.*",
2244 "vendor_id": "0x8086",
2245 "features": [
2246 "decode_encode_srgb_for_generatemipmap"
2247 ]
2248 },
2249 {
2250 "id": 209,
2251 "description": "Decode and Encode before generateMipmap for srgb format te xtures on Chromeos Intel",
2252 "cr_bugs": [634519],
2253 "os": {
2254 "type": "chromeos"
2255 },
2256 "vendor_id": "0x8086",
2257 "features": [
2258 "decode_encode_srgb_for_generatemipmap"
2259 ]
2260 },
2261 {
2262 "id": 210,
2263 "description": "Decode and Encode before generateMipmap for srgb format te xtures on Linux AMD",
2264 "cr_bugs": [634519],
2265 "os": {
2266 "type": "linux"
2267 },
2268 "vendor_id": "0x1002",
2269 "features": [
2270 "decode_encode_srgb_for_generatemipmap"
2271 ]
2272 },
2273 {
2274 "id": 211,
2275 "description": "Rewrite -float to 0.0 - float for Intel Mac",
2276 "cr_bugs": [672380],
2277 "os": {
2278 "type": "macosx",
2279 "version": {
2280 "op": "<=",
2281 "value": "10.11"
2282 }
2283 },
2284 "vendor_id": "0x8086",
2285 "features": [
2286 "rewrite_float_unary_minus_operator"
2287 ]
2288 },
2289 {
2290 "id": 212,
2291 "description": "Program binaries don't contain transform feedback varyings on Qualcomm GPUs",
2292 "cr_bugs": [658074],
2293 "os": {
2294 "type": "android"
2295 },
2296 "gl_renderer": "Adreno.*",
2297 "features": [
2298 "disable_program_caching_for_transform_feedback"
2299 ]
2300 },
2301 {
2302 "id": 213,
2303 "description": "The Mali-Gxx driver does not guarantee flush ordering",
2304 "cr_bugs": [678508],
2305 "gl_vendor": "ARM.*",
2306 "gl_renderer": "Mali-G.*",
2307 "features": [
2308 "use_virtualized_gl_contexts"
2309 ]
2310 },
2311 ) // LONG_STRING_CONST macro
2312 // Avoid C2026 (string too big) error on VisualStudio.
2313 LONG_STRING_CONST(
2314 {
2315 // Corresponds to software rendering list #140.
2316 "id": 214,
2317 "description": "Certain versions of Qualcomm driver don't setup scissor st ate correctly when FBO0 is bound.",
2318 "cr_bugs": [670607, 696627, 698197],
2319 "gl_vendor": "Qualcomm.*",
2320 "machine_model_name": ["Nexus 7", "KFTHWI", "KFSAWI", "KFAPWI", "KFTHWA", "KFSAWA", "KFAPWA"],
2321 "features": [
2322 "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"
2326 ]
2327 },
2328 {
2329 "id": 215,
2330 "description": "Fake no-op GPU driver bug workaround for testing",
2331 "cr_bugs": [682912],
2332 "vendor_id": "0xbad9",
2333 "device_id": ["0xbad9"],
2334 "features": [
2335 "use_gpu_driver_workaround_for_testing"
2336 ]
2337 },
2338 {
2339 "id": 216,
2340 "cr_bugs": [698926],
2341 "description": "Pack parameters work incorrectly with pack buffer bound",
2342 "os": {
2343 "type": "android"
2344 },
2345 "gl_vendor": "NVIDIA.*",
2346 "features": [
2347 "pack_parameters_workaround_with_pack_buffer"
2348 ]
2349 },
2350 {
2351 "id": 217,
2352 "cr_bugs": [698926],
2353 "description": "Alignment works incorrectly with unpack buffer bound",
2354 "os": {
2355 "type": "android"
2356 },
2357 "gl_vendor": "NVIDIA.*",
2358 "features": [
2359 "unpack_alignment_workaround_with_unpack_buffer"
2360 ]
2361 },
2362 {
2363 "id": 219,
2364 "description": "Zero-copy DXGI video hangs or displays incorrect colors on AMD drivers",
2365 "cr_bugs": [623029],
2366 "os": {
2367 "type": "win"
2368 },
2369 "vendor_id": "0x1002",
2370 "features": [
2371 "disable_dxgi_zero_copy_video"
2372 ]
2373 },
2374 {
2375 "id": 220,
2376 "description": "NV12 DXGI video displays incorrect colors on older AMD dri vers",
2377 "cr_bugs": [644293],
2378 "os": {
2379 "type": "win"
2380 },
2381 "vendor_id": "0x1002",
2382 "driver_version": {
2383 "op": "<",
2384 "value": "21.19.519.2"
2385 },
2386 "features": [
2387 "disable_nv12_dxgi_video"
2388 ]
2389 },
2390 {
2391 "id": 221,
2392 "description": "Very large instanced draw calls crash on some Adreno 3xx d rivers",
2393 "cr_bugs": [701682],
2394 "os": {
2395 "type": "android"
2396 },
2397 "gl_renderer": "Adreno \\(TM\\) 3.*",
2398 "features": [
2399 "disallow_large_instanced_draw"
2400 ]
2401 }
2402 ]
2403 // Please update the version number at beginning of this file whenever you
2404 // change this file.
2405 }
2406
2407 ); // LONG_STRING_CONST macro
2408
2409 } // namespace gpu
OLDNEW
« no previous file with comments | « gpu/config/gpu_driver_bug_list_exceptions_autogen.h ('k') | gpu/config/gpu_driver_bug_list_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698