Upstream version 9.37.195.0
[platform/framework/web/crosswalk.git] / src / gpu / config / gpu_driver_bug_list_json.cc
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": "6.7",
23   "entries": [
24     {
25       "id": 1,
26       "description": "Imagination driver doesn't like uploading lots of buffer data constantly",
27       "os": {
28         "type": "android"
29       },
30       "gl_vendor": {
31         "op": "beginwith",
32         "value": "Imagination"
33       },
34       "features": [
35         "use_client_side_arrays_for_stream_buffers"
36       ]
37     },
38     {
39       "id": 2,
40       "description": "ARM driver doesn't like uploading lots of buffer data constantly",
41       "os": {
42         "type": "android"
43       },
44       "gl_vendor": {
45         "op": "beginwith",
46         "value": "ARM"
47       },
48       "features": [
49         "use_client_side_arrays_for_stream_buffers"
50       ]
51     },
52     {
53       "id": 3,
54       "description": "glGenerateMipmap leaks vram without setting texture filters on some Mac drivers",
55       "webkit_bugs": [48489],
56       "cr_bugs": [349137],
57       "os": {
58         "type": "macosx",
59         "version": {
60           "op": "<",
61           "value": "10.9"
62         }
63       },
64       "features": [
65         "set_texture_filter_before_generating_mipmap"
66       ]
67     },
68     {
69       "id": 4,
70       "description": "glReadPixels incorrectly sets alpha to 0 on some drivers from a drawing buffer without alpha channel",
71       "webkit_bugs": [33416],
72       "cr_bugs": [349137],
73       "os": {
74         "type": "macosx",
75         "version": {
76           "op": "<",
77           "value": "10.9"
78         }
79       },
80       "features": [
81         "clear_alpha_in_readpixels"
82       ]
83     },
84     {
85       "id": 5,
86       "description": "Always call glUseProgram after a successful link to avoid a driver bug",
87       "cr_bugs": [349137],
88       "vendor_id": "0x10de",
89       "exceptions": [
90         {
91           "os": {
92             "type": "macosx",
93             "version": {
94               "op": ">=",
95               "value": "10.9"
96             }
97           }
98         }
99       ],
100       "features": [
101         "use_current_program_after_successful_link"
102       ]
103     },
104     {
105       "id": 6,
106       "description": "Restore scissor on FBO change with Qualcomm GPUs on older versions of Android",
107       "cr_bugs": [165493, 222018],
108       "os": {
109         "type": "android",
110         "version": {
111           "op": "<",
112           "value": "4.3"
113         }
114       },
115       "gl_vendor": {
116         "op": "beginwith",
117         "value": "Qualcomm"
118       },
119       "features": [
120         "restore_scissor_on_fbo_change"
121       ]
122     },
123     {
124       "id": 7,
125       "cr_bugs": [89557],
126       "description": "Work around a bug in offscreen buffers on NVIDIA GPUs on Macs",
127       "os": {
128         "type": "macosx"
129       },
130       "vendor_id": "0x10de",
131       "features": [
132         "needs_offscreen_buffer_workaround"
133       ]
134     },
135     {
136       "id": 8,
137       "description": "A few built-in glsl functions on Mac behave incorrectly",
138       "cr_bugs": [349137],
139       "os": {
140         "type": "macosx",
141         "version": {
142           "op": "<",
143           "value": "10.9"
144         }
145       },
146       "vendor_id": "0x1002",
147       "features": [
148         "needs_glsl_built_in_function_emulation"
149       ]
150     },
151     {
152       "id": 9,
153       "description": "AMD drivers get gl_PointCoord backward on OS X 10.8 or earlier",
154       "cr_bugs": [256349],
155       "os": {
156         "type": "macosx",
157         "version": {
158           "op": "<",
159           "value": "10.9"
160         }
161       },
162       "vendor_id": "0x1002",
163       "features": [
164         "reverse_point_sprite_coord_origin"
165       ]
166     },
167     {
168       "id": 10,
169       "description": "Intel drivers get gl_PointCoord backward on OS X 10.8 or earlier",
170       "cr_bugs": [256349],
171       "os": {
172         "type": "macosx",
173         "version": {
174           "op": "<",
175           "value": "10.9"
176         }
177       },
178       "vendor_id": "0x8086",
179       "features": [
180         "reverse_point_sprite_coord_origin"
181       ]
182     },
183     {
184       "id": 11,
185       "description": "Limit max texure size to 4096 on Macs with Intel GPUs",
186       "os": {
187         "type": "macosx"
188       },
189       "vendor_id": "0x8086",
190       "features": [
191         "max_texture_size_limit_4096"
192       ]
193     },
194     {
195       "id": 12,
196       "description": "Limit max cube map texure size to 1024 on Macs with Intel GPUs",
197       "os": {
198         "type": "macosx"
199       },
200       "vendor_id": "0x8086",
201       "features": [
202         "max_cube_map_texture_size_limit_1024"
203       ]
204     },
205     {
206       "id": 13,
207       "description": "Limit max cube map texure size to 512 on older Macs with Intel GPUs",
208       "os": {
209         "type": "macosx",
210         "version": {
211           "op": "<",
212           "value": "10.7.3"
213         }
214       },
215       "vendor_id": "0x8086",
216       "features": [
217         "max_cube_map_texture_size_limit_512"
218       ]
219     },
220     {
221       "id": 14,
222       "description": "Limit max texure size and cube map texture size to 4096 on Macs with AMD GPUs",
223       "os": {
224         "type": "macosx"
225       },
226       "vendor_id": "0x1002",
227       "features": [
228         "max_texture_size_limit_4096",
229         "max_cube_map_texture_size_limit_4096"
230       ]
231     },
232     {
233       "id": 16,
234       "description": "EXT_occlusion_query appears to be buggy with Intel GPUs on Linux",
235       "os": {
236         "type": "linux"
237       },
238       "vendor_id": "0x8086",
239       "features": [
240         "disable_ext_occlusion_query"
241       ]
242     },
243     {
244       "id": 17,
245       "description": "Some drivers are unable to reset the D3D device in the GPU process sandbox",
246       "os": {
247         "type": "win"
248       },
249       "features": [
250         "exit_on_context_lost"
251       ]
252     },
253     {
254       "id": 18,
255       "description": "Everything except async + NPOT + multiple-of-8 textures are brutally slow for Imagination drivers",
256       "os": {
257         "type": "android"
258       },
259       "gl_vendor": {
260         "op": "beginwith",
261         "value": "Imagination"
262       },
263       "features": [
264         "enable_chromium_fast_npot_mo8_textures"
265       ]
266     },
267     {
268       "id": 19,
269       "description": "Disable depth textures on Android with Qualcomm GPUs",
270       "os": {
271         "type": "android"
272       },
273       "gl_vendor": {
274         "op": "beginwith",
275         "value": "Qualcomm"
276       },
277       "features": [
278         "disable_depth_texture"
279       ]
280     },
281     {
282       "id": 20,
283       "description": "Disable EXT_draw_buffers on GeForce GT 650M on Mac OS X due to driver bugs",
284       "os": {
285         "type": "macosx"
286       },
287       "vendor_id": "0x10de",
288       "device_id": ["0x0fd5"],
289       "multi_gpu_category": "any",
290       "features": [
291         "disable_ext_draw_buffers"
292       ]
293     },
294     {
295       "id": 21,
296       "description": "Vivante GPUs are buggy with context switching",
297       "cr_bugs": [179250, 235935],
298       "os": {
299         "type": "android"
300       },
301       "gl_extensions": {
302         "op": "contains",
303         "value": "GL_VIV_shader_binary"
304       },
305       "features": [
306         "unbind_fbo_on_context_switch"
307       ]
308     },
309     {
310       "id": 22,
311       "description": "Imagination drivers are buggy with context switching",
312       "cr_bugs": [230896],
313       "os": {
314         "type": "android"
315       },
316       "gl_vendor": {
317         "op": "beginwith",
318         "value": "Imagination"
319       },
320       "features": [
321         "unbind_fbo_on_context_switch"
322       ]
323     },
324     {
325       "id": 23,
326       "cr_bugs": [243038],
327       "description": "Disable OES_standard_derivative on Intel Pineview M Gallium drivers",
328       "os": {
329         "type": "chromeos"
330       },
331       "vendor_id": "0x8086",
332       "device_id": ["0xa011", "0xa012"],
333       "features": [
334         "disable_oes_standard_derivatives"
335       ]
336     },
337     {
338       "id": 24,
339       "cr_bugs": [231082],
340       "description": "Mali-400 drivers throw an error when a buffer object's size is set to 0",
341       "os": {
342         "type": "android"
343       },
344       "gl_vendor": {
345         "op": "beginwith",
346         "value": "ARM"
347       },
348       "gl_renderer": {
349         "op": "contains",
350         "value": "Mali-400"
351       },
352       "features": [
353         "use_non_zero_size_for_client_side_stream_buffers"
354       ]
355     },
356     {
357       "id": 25,
358       "cr_bugs": [152225],
359       "description": "PBO + Readpixels don't work on OS X 10.7",
360       "os": {
361         "type": "macosx",
362         "version": {
363           "op": "<",
364           "value": "10.8"
365         }
366       },
367       "features": [
368         "disable_async_readpixels"
369       ]
370     },
371     {
372       "id": 26,
373       "description": "Disable use of Direct3D 11 on Windows Vista and lower",
374       "os": {
375         "type": "win",
376         "version": {
377           "op": "<=",
378           "value": "6.0"
379         }
380       },
381       "features": [
382         "disable_d3d11"
383       ]
384     },
385     {
386       "id": 27,
387       "cr_bugs": [265115],
388       "description": "Async Readpixels with GL_BGRA format is broken on Haswell chipset on Macs",
389       "os": {
390         "type": "macosx"
391       },
392       "vendor_id": "0x8086",
393       "device_id": ["0x0402", "0x0406", "0x040a", "0x0412", "0x0416", "0x041a",
394                     "0x0a04", "0x0a16", "0x0a22", "0x0a26", "0x0a2a"],
395       "features": [
396         "swizzle_rgba_for_async_readpixels"
397       ]
398     },
399     {
400       "id": 30,
401       "cr_bugs": [237931],
402       "description": "Multisampling is buggy on OSX when multiple monitors are connected",
403       "os": {
404         "type": "macosx"
405       },
406       "features": [
407         "disable_multimonitor_multisampling"
408       ]
409     },
410     {
411       "id": 31,
412       "cr_bugs": [154715, 10068, 269829, 294779, 285292],
413       "description": "The Mali-Txxx driver does not guarantee flush ordering",
414       "gl_vendor": {
415         "op": "beginwith",
416         "value": "ARM"
417       },
418       "gl_renderer": {
419         "op": "beginwith",
420         "value": "Mali-T"
421       },
422       "features": [
423         "use_virtualized_gl_contexts"
424       ]
425     },
426     {
427       "id": 32,
428       "cr_bugs": [179815],
429       "description": "Share groups are not working on (older?) Broadcom drivers",
430       "os": {
431         "type": "android"
432       },
433       "gl_vendor": {
434         "op": "beginwith",
435         "value": "Broadcom"
436       },
437       "features": [
438         "use_virtualized_gl_contexts"
439       ]
440     },
441     {
442       "id": 33,
443       "description": "Share group-related crashes and poor context switching perf on Galaxy Nexus",
444       "os": {
445         "type": "android"
446       },
447       "gl_vendor": {
448         "op": "beginwith",
449         "value": "Imagination"
450       },
451       "features": [
452         "use_virtualized_gl_contexts"
453       ]
454     },
455     {
456       "id": 34,
457       "cr_bugs": [179250, 229643, 230896],
458       "description": "Share groups are not working on (older?) Vivante drivers",
459       "os": {
460         "type": "android"
461       },
462       "gl_extensions": {
463         "op": "contains",
464         "value": "GL_VIV_shader_binary"
465       },
466       "features": [
467         "use_virtualized_gl_contexts"
468       ]
469     },
470     {
471       "id": 35,
472       "cr_bugs": [163464],
473       "description": "Share-group related crashes on older NVIDIA drivers",
474       "os": {
475         "type": "android",
476         "version": {
477           "op": "<",
478           "value": "4.3"
479         }
480       },
481       "gl_vendor": {
482         "op": "beginwith",
483         "value": "NVIDIA"
484       },
485       "features": [
486         "use_virtualized_gl_contexts"
487       ]
488     },
489     {
490       "id": 36,
491       "cr_bugs": [163464, 233612],
492       "description": "Share-group related crashes on Qualcomm drivers",
493       "os": {
494         "type": "android",
495         "version": {
496           "op": "<",
497           "value": "4.3"
498         }
499       },
500       "gl_vendor": {
501         "op": "beginwith",
502         "value": "Qualcomm"
503       },
504       "features": [
505         "use_virtualized_gl_contexts"
506       ]
507     },
508     {
509       "id": 37,
510       "cr_bugs": [286468],
511       "description": "Program link fails in NVIDIA Linux if gl_Position is not set",
512       "os": {
513         "type": "linux"
514       },
515       "vendor_id": "0x10de",
516       "features": [
517         "init_gl_position_in_vertex_shader"
518       ]
519     },
520     {
521       "id": 38,
522       "cr_bugs": [289461],
523       "description": "Non-virtual contexts on Qualcomm sometimes cause out-of-order frames",
524       "os": {
525         "type": "android"
526       },
527       "gl_vendor": {
528         "op": "beginwith",
529         "value": "Qualcomm"
530       },
531       "features": [
532         "use_virtualized_gl_contexts"
533       ]
534     },
535     {
536       "id": 39,
537       "cr_bugs": [290391],
538       "description": "Multisampled renderbuffer allocation must be validated on some Macs",
539       "os": {
540         "type": "macosx"
541       },
542       "features": [
543         "validate_multisample_buffer_allocation"
544       ]
545     },
546     {
547       "id": 40,
548       "cr_bugs": [290876],
549       "description": "Framebuffer discarding causes flickering on old ARM drivers",
550       "os": {
551         "type": "android",
552         "version": {
553           "op": "<",
554           "value": "4.4"
555         }
556       },
557       "gl_vendor": {
558         "op": "beginwith",
559         "value": "ARM"
560       },
561       "features": [
562         "disable_ext_discard_framebuffer"
563       ]
564     },
565     {
566       "id": 42,
567       "cr_bugs": [290876],
568       "description": "Framebuffer discarding causes flickering on older IMG drivers",
569       "os": {
570         "type": "android"
571       },
572       "gl_vendor": {
573         "op": "beginwith",
574         "value": "Imagination"
575       },
576       "gl_renderer": {
577         "op": "=",
578         "value": "PowerVR SGX 540"
579       },
580       "features": [
581         "disable_ext_discard_framebuffer"
582       ]
583     },
584     {
585       "id": 43,
586       "cr_bugs": [299494],
587       "description": "Framebuffer discarding doesn't accept trivial attachments on Vivante",
588       "os": {
589         "type": "android"
590       },
591       "gl_extensions": {
592         "op": "contains",
593         "value": "GL_VIV_shader_binary"
594       },
595       "features": [
596         "disable_ext_discard_framebuffer"
597       ]
598     },
599     {
600       "id": 44,
601       "cr_bugs": [301988],
602       "description": "Framebuffer discarding causes jumpy scrolling on Mali drivers",
603       "os": {
604         "type": "chromeos"
605       },
606       "features": [
607         "disable_ext_discard_framebuffer"
608       ]
609     },
610     {
611       "id": 45,
612       "cr_bugs": [307751],
613       "description": "Unfold short circuit on Mac OS X",
614       "os": {
615         "type": "macosx"
616       },
617       "features": [
618         "unfold_short_circuit_as_ternary_operation"
619       ]
620     },
621     {
622       "id": 48,
623       "description": "Force to use discrete GPU on older MacBookPro models",
624       "cr_bugs": [113703],
625       "os": {
626         "type": "macosx",
627         "version": {
628           "op": ">=",
629           "value": "10.7"
630         }
631       },
632       "machine_model_name": ["MacBookPro"],
633       "machine_model_version": {
634         "op": "<",
635         "value": "8"
636       },
637       "gpu_count": {
638         "op": "=",
639         "value": "2"
640       },
641       "features": [
642         "force_discrete_gpu"
643       ]
644     },
645     {
646       "id": 49,
647       "cr_bugs": [309734],
648       "description": "The first draw operation from an idle state is slow",
649       "os": {
650         "type": "android"
651       },
652       "gl_vendor": {
653         "op": "beginwith",
654         "value": "Qualcomm"
655       },
656       "features": [
657         "wake_up_gpu_before_drawing"
658       ]
659     },
660     {
661       "id": 50,
662       "description": "NVIDIA driver requires unbinding a GpuMemoryBuffer from the texture before mapping it to main memory",
663       "os": {
664         "type": "android"
665       },
666       "gl_vendor": {
667         "op": "beginwith",
668         "value": "NVIDIA"
669       },
670       "features": [
671         "release_image_after_use"
672       ]
673     },
674     {
675       "id": 51,
676       "description": "TexSubImage2D() is faster for full uploads on ANGLE",
677       "os": {
678         "type": "win"
679       },
680       "gl_renderer": {
681         "op": "beginwith",
682         "value": "ANGLE"
683       },
684       "features": [
685         "texsubimage2d_faster_than_teximage2d"
686       ]
687     },
688     {
689       "id": 52,
690       "description": "ES3 MSAA is broken on Qualcomm",
691       "os": {
692         "type": "android"
693       },
694       "gl_vendor": {
695         "op": "beginwith",
696         "value": "Qualcomm"
697       },
698       "features": [
699         "disable_multisampling"
700       ]
701     },
702     {
703       "id": 54,
704       "cr_bugs": [124764, 349137],
705       "description": "Clear uniforms before first program use on all platforms",
706       "exceptions": [
707         {
708           "os": {
709             "type": "macosx",
710             "version": {
711               "op": ">=",
712               "value": "10.9"
713             }
714           }
715         }
716       ],
717       "features": [
718         "clear_uniforms_before_first_program_use"
719       ]
720     },
721     {
722       "id": 55,
723       "cr_bugs": [333885],
724       "description": "Mesa drivers in Linux handle varyings without static use incorrectly",
725       "os": {
726         "type": "linux"
727       },
728       "driver_vendor": {
729         "op": "=",
730         "value": "Mesa"
731       },
732       "features": [
733         "count_all_in_varyings_packing"
734       ]
735     },
736     {
737       "id": 56,
738       "cr_bugs": [333885],
739       "description": "Mesa drivers in ChromeOS handle varyings without static use incorrectly",
740       "os": {
741         "type": "chromeos"
742       },
743       "driver_vendor": {
744         "op": "=",
745         "value": "Mesa"
746       },
747       "features": [
748         "count_all_in_varyings_packing"
749       ]
750     },
751     {
752       "id": 57,
753       "cr_bugs": [322760],
754       "description": "Mac drivers handle varyings without static use incorrectly",
755       "os": {
756         "type": "macosx"
757       },
758       "features": [
759         "init_varyings_without_static_use"
760       ]
761     },
762     {
763       "id": 58,
764       "description": "Multisampling is buggy in ATI cards on older Mac OS X",
765       "cr_bugs": [67752, 83153],
766       "os": {
767         "type": "macosx",
768         "version": {
769           "op": "<",
770           "value": "10.7.2"
771         }
772       },
773       "vendor_id": "0x1002",
774       "features": [
775         "disable_multisampling"
776       ]
777     },
778     {
779       "id": 59,
780       "description": "Multisampling is buggy in Intel IvyBridge",
781       "cr_bugs": [116370],
782       "os": {
783         "type": "linux"
784       },
785       "vendor_id": "0x8086",
786       "device_id": ["0x0152", "0x0156", "0x015a", "0x0162", "0x0166"],
787       "features": [
788         "disable_multisampling"
789       ]
790     },
791     {
792       "id": 60,
793       "description": "Multisampling is buggy on Mac OS X prior to 10.8.3",
794       "cr_bugs": [137303, 162466],
795       "os": {
796         "type": "macosx",
797         "version": {
798           "op": "<",
799           "value": "10.8.3"
800         }
801       },
802       "features": [
803         "disable_multisampling"
804       ]
805     },
806     {
807       "id": 63,
808       "description": "Shaders with sampler arrays indexing for-loop indices cause the GLSL compiler to crash on OS X",
809       "cr_bugs": [348198, 349137],
810       "os": {
811         "type": "macosx",
812         "version": {
813           "op": "<",
814           "value": "10.9"
815         }
816       },
817       "features": [
818         "unroll_for_loop_with_sampler_array_index"
819       ]
820     },
821     {
822       "id": 64,
823       "description": "Linux AMD drivers incorrectly return initial value of 1 for TEXTURE_MAX_ANISOTROPY",
824       "cr_bugs": [348237],
825       "os": {
826         "type": "linux"
827       },
828       "vendor_id": "0x1002",
829       "features": [
830         "init_texture_max_anisotropy"
831       ]
832     },
833     {
834       "id": 65,
835       "description": "Linux NVIDIA drivers don't have the correct defaults for vertex attributes",
836       "cr_bugs": [351528],
837       "os": {
838         "type": "linux"
839       },
840       "vendor_id": "0x10de",
841       "features": [
842         "init_vertex_attributes"
843       ]
844     },
845     {
846       "id": 66,
847       "description": "Force glFinish() after compositing on older OS X on Intel GPU",
848       "cr_bugs": [123409],
849       "os": {
850         "type": "macosx",
851         "version": {
852           "op": "<=",
853           "value": "10.7"
854         }
855       },
856       "vendor_id": "0x8086",
857       "multi_gpu_category": "active",
858       "features": [
859         "force_gl_finish_after_compositing"
860       ]
861     },
862     {
863       "id": 68,
864       "description": "Disable partial swaps on linux drivers",
865       "cr_bugs": [339493],
866       "os": {
867         "type": "linux"
868       },
869       "features": [
870         "disable_post_sub_buffers_for_onscreen_surfaces"
871       ]
872     },
873     {
874       "id": 69,
875       "description": "Some shaders in Skia need more than the min available vertex and fragment shader uniform vectors in case of OSMesa",
876       "cr_bugs": [174845],
877       "driver_vendor": {
878         "op": "=",
879         "value": "osmesa"
880       },
881       "features": [
882        "max_fragment_uniform_vectors_32",
883        "max_varying_vectors_16",
884        "max_vertex_uniform_vectors_256"
885       ]
886     },
887     {
888       "id": 70,
889       "description": "Disable D3D11 on older nVidia drivers",
890       "cr_bugs": [349929],
891       "os": {
892         "type": "win"
893       },
894       "vendor_id": "0x10de",
895       "driver_version": {
896         "op": "<=",
897         "value": "8.17.12.6973"
898       },
899       "features": [
900         "disable_d3d11"
901       ]
902     },
903     {
904       "id": 71,
905       "description": "Vivante's support of OES_standard_derivatives is buggy",
906       "cr_bugs": [368005],
907       "os": {
908         "type": "android"
909       },
910       "gl_extensions": {
911         "op": "contains",
912         "value": "GL_VIV_shader_binary"
913       },
914       "features": [
915         "disable_oes_standard_derivatives"
916       ]
917     },
918     {
919       "id": 72,
920       "description": "Use virtual contexts on NVIDIA with GLES 3.1",
921       "cr_bugs": [369316],
922       "os": {
923         "type": "android"
924       },
925       "gl_type": "gles",
926       "gl_version": {
927         "op": "=",
928         "value": "3.1"
929       },
930       "gl_vendor": {
931         "op": "beginwith",
932         "value": "NVidia"
933       },
934       "features": [
935         "use_virtualized_gl_contexts"
936       ]
937     },
938     {
939       "id": 73,
940       "description": "Using D3D11 causes browser crashes on certain Intel GPUs",
941       "cr_bugs": [310808],
942       "os": {
943         "type": "win"
944       },
945       "vendor_id": "0x8086",
946       "features": [
947         "disable_d3d11"
948       ]
949     },
950 )  // LONG_STRING_CONST macro
951 // Avoid C2026 (string too big) error on VisualStudio.
952 LONG_STRING_CONST(
953     {
954       "id": 74,
955       "cr_bugs": [278606, 382686],
956       "description": "Testing EGL sync fences was broken on most Qualcomm drivers",
957       "os": {
958         "type": "android",
959         "version": {
960           "op": "<=",
961           "value": "4.4.4"
962         }
963       },
964       "gl_vendor": {
965         "op": "beginwith",
966         "value": "Qualcomm"
967       },
968       "features": [
969         "disable_egl_khr_fence_sync"
970       ]
971     },
972     {
973       "id": 75,
974       "description": "Mali-400 support of EXT_multisampled_render_to_texture is buggy on Android < 4.3",
975       "cr_bugs": [362435],
976       "os": {
977         "type": "android",
978         "version": {
979           "op": "<",
980           "value": "4.3"
981         }
982       },
983       "gl_vendor": {
984         "op": "beginwith",
985         "value": "ARM"
986       },
987       "gl_renderer": {
988         "op": "contains",
989         "value": "Mali-400"
990       },
991       "features": [
992         "disable_multisampling"
993       ]
994     },
995     {
996       "id": 76,
997       "cr_bugs": [371530],
998       "description": "Testing EGL sync fences was broken on IMG",
999       "os": {
1000         "type": "android",
1001         "version": {
1002           "op": "<=",
1003           "value": "4.4.4"
1004         }
1005       },
1006       "gl_vendor": {
1007         "op": "beginwith",
1008         "value": "Imagination Technologies"
1009       },
1010       "features": [
1011         "disable_egl_khr_fence_sync"
1012       ]
1013     },
1014     {
1015       "id": 77,
1016       "cr_bugs": [378691, 373360, 371530],
1017       "description": "Testing fences was broken on Mali-400 MP drivers",
1018       "os": {
1019         "type": "android",
1020         "version": {
1021           "op": "<=",
1022           "value": "4.4.4"
1023         }
1024       },
1025       "gl_vendor": {
1026         "op": "beginwith",
1027         "value": "ARM"
1028       },
1029       "gl_renderer": {
1030         "op": "beginwith",
1031         "value": "Mali-400 MP"
1032       },
1033       "features": [
1034         "disable_egl_khr_fence_sync"
1035       ]
1036     },
1037     {
1038       "id": 78,
1039       "cr_bugs": [378691, 373360, 371530],
1040       "description": "Testing fences was broken on Broadcom drivers",
1041       "os": {
1042         "type": "android",
1043         "version": {
1044           "op": "<=",
1045           "value": "4.4.4"
1046         }
1047       },
1048       "gl_vendor": {
1049         "op": "beginwith",
1050         "value": "Broadcom"
1051       },
1052       "features": [
1053         "disable_egl_khr_fence_sync"
1054       ]
1055     },
1056     {
1057       "id": 79,
1058       "cr_bugs": [371530],
1059       "description": "Testing ARB sync fences is broken on MacOSX",
1060       "os": {
1061         "type": "macosx"
1062       },
1063       "features": [
1064         "disable_arb_sync"
1065       ]
1066     },
1067     {
1068       "id": 82,
1069       "description": "PBO mappings segfault on certain older Qualcomm drivers",
1070       "cr_bugs": [394510],
1071       "os": {
1072         "type": "android",
1073         "version": {
1074           "op": "<",
1075           "value": "4.3"
1076         }
1077       },
1078       "gl_vendor": {
1079         "op": "beginwith",
1080         "value": "Qualcomm"
1081       },
1082       "features": [
1083         "disable_async_readpixels"
1084       ]
1085     },
1086     {
1087       "id": 86,
1088       "description": "Disable use of Direct3D 11 on Matrox video cards",
1089       "cr_bugs": [395861],
1090       "os": {
1091         "type": "win"
1092       },
1093       "vendor_id": "0x102b",
1094       "features": [
1095         "disable_d3d11"
1096       ]
1097     }
1098   ]
1099 }
1100
1101 );  // LONG_STRING_CONST macro
1102
1103 }  // namespace gpu