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