We started redesigning GpuMemoryBuffer interface to handle multiple buffers [0].
[chromium-blink-merge.git] / gpu / config / gpu_driver_bug_list_json.cc
blobd62fc51c030ad9af84db44b371c094ef8fdd6cb1
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.
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>.
11 #include "gpu/config/gpu_control_list_jsons.h"
13 #define LONG_STRING_CONST(...) #__VA_ARGS__
15 namespace gpu {
17 const char kGpuDriverBugListJson[] = LONG_STRING_CONST(
20 "name": "gpu driver bug list",
21 // Please update the version number whenever you change this file.
22 "version": "7.21",
23 "entries": [
25 "id": 1,
26 "description": "Imagination driver doesn't like uploading lots of buffer data constantly",
27 "os": {
28 "type": "android"
30 "gl_vendor": "Imagination.*",
31 "features": [
32 "use_client_side_arrays_for_stream_buffers"
36 "id": 2,
37 "description": "ARM driver doesn't like uploading lots of buffer data constantly",
38 "os": {
39 "type": "android"
41 "gl_vendor": "ARM.*",
42 "features": [
43 "use_client_side_arrays_for_stream_buffers"
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"
58 "features": [
59 "set_texture_filter_before_generating_mipmap"
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"
74 "features": [
75 "clear_alpha_in_readpixels"
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": [
85 "os": {
86 "type": "macosx",
87 "version": {
88 "op": ">=",
89 "value": "10.9"
94 "features": [
95 "use_current_program_after_successful_link"
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"
109 "gl_vendor": "Qualcomm.*",
110 "features": [
111 "restore_scissor_on_fbo_change"
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"
121 "vendor_id": "0x10de",
122 "features": [
123 "needs_offscreen_buffer_workaround"
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"
137 "vendor_id": "0x1002",
138 "features": [
139 "needs_glsl_built_in_function_emulation"
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"
153 "vendor_id": "0x1002",
154 "features": [
155 "reverse_point_sprite_coord_origin"
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"
169 "vendor_id": "0x8086",
170 "features": [
171 "reverse_point_sprite_coord_origin"
175 "id": 11,
176 "description": "Limit max texure size to 4096 on Macs with Intel GPUs",
177 "os": {
178 "type": "macosx",
179 "version": {
180 "op": "<",
181 "value": "10.9"
184 "vendor_id": "0x8086",
185 "features": [
186 "max_texture_size_limit_4096"
190 "id": 12,
191 "description": "Limit max cube map texure size to 1024 on Macs with Intel GPUs",
192 "os": {
193 "type": "macosx"
195 "vendor_id": "0x8086",
196 "features": [
197 "max_cube_map_texture_size_limit_1024"
201 "id": 13,
202 "description": "Limit max cube map texure size to 512 on older Macs with Intel GPUs",
203 "os": {
204 "type": "macosx",
205 "version": {
206 "op": "<",
207 "value": "10.7.3"
210 "vendor_id": "0x8086",
211 "features": [
212 "max_cube_map_texture_size_limit_512"
216 "id": 14,
217 "description": "Limit max texure size and cube map texture size to 4096 on Macs with AMD GPUs",
218 "os": {
219 "type": "macosx",
220 "version": {
221 "op": "<",
222 "value": "10.9"
225 "vendor_id": "0x1002",
226 "features": [
227 "max_texture_size_limit_4096",
228 "max_cube_map_texture_size_limit_4096"
232 "id": 16,
233 "description": "EXT_occlusion_query appears to be buggy with Intel GPUs on Linux",
234 "os": {
235 "type": "linux"
237 "vendor_id": "0x8086",
238 "features": [
239 "disable_ext_occlusion_query"
243 "id": 17,
244 "description": "Some drivers are unable to reset the D3D device in the GPU process sandbox",
245 "os": {
246 "type": "win"
248 "features": [
249 "exit_on_context_lost"
253 "id": 19,
254 "description": "Disable depth textures on Android with Qualcomm GPUs",
255 "os": {
256 "type": "android"
258 "gl_vendor": "Qualcomm.*",
259 "features": [
260 "disable_depth_texture"
264 "id": 20,
265 "description": "Disable EXT_draw_buffers on GeForce GT 650M on Mac OS X due to driver bugs",
266 "os": {
267 "type": "macosx"
269 "vendor_id": "0x10de",
270 "device_id": ["0x0fd5"],
271 "multi_gpu_category": "any",
272 "features": [
273 "disable_ext_draw_buffers"
277 "id": 21,
278 "description": "Vivante GPUs are buggy with context switching",
279 "cr_bugs": [179250, 235935],
280 "os": {
281 "type": "android"
283 "gl_extensions": ".*GL_VIV_shader_binary.*",
284 "features": [
285 "unbind_fbo_on_context_switch"
289 "id": 22,
290 "description": "Imagination drivers are buggy with context switching",
291 "cr_bugs": [230896],
292 "os": {
293 "type": "android"
295 "gl_vendor": "Imagination.*",
296 "features": [
297 "unbind_fbo_on_context_switch"
301 "id": 23,
302 "cr_bugs": [243038],
303 "description": "Disable OES_standard_derivative on Intel Pineview M Gallium drivers",
304 "os": {
305 "type": "chromeos"
307 "vendor_id": "0x8086",
308 "device_id": ["0xa011", "0xa012"],
309 "features": [
310 "disable_oes_standard_derivatives"
314 "id": 24,
315 "cr_bugs": [231082],
316 "description": "Mali-400 drivers throw an error when a buffer object's size is set to 0",
317 "os": {
318 "type": "android"
320 "gl_vendor": "ARM.*",
321 "gl_renderer": ".*Mali-400.*",
322 "features": [
323 "use_non_zero_size_for_client_side_stream_buffers"
327 "id": 25,
328 "cr_bugs": [152225],
329 "description": "PBO + Readpixels don't work on OS X 10.7",
330 "os": {
331 "type": "macosx",
332 "version": {
333 "op": "<",
334 "value": "10.8"
337 "features": [
338 "disable_async_readpixels"
342 "id": 26,
343 "description": "Disable use of Direct3D 11 on Windows Vista and lower",
344 "os": {
345 "type": "win",
346 "version": {
347 "op": "<=",
348 "value": "6.0"
351 "features": [
352 "disable_d3d11"
356 "id": 27,
357 "cr_bugs": [265115],
358 "description": "Async Readpixels with GL_BGRA format is broken on Haswell chipset on Macs",
359 "os": {
360 "type": "macosx"
362 "vendor_id": "0x8086",
363 "device_id": ["0x0402", "0x0406", "0x040a", "0x0412", "0x0416", "0x041a",
364 "0x0a04", "0x0a16", "0x0a22", "0x0a26", "0x0a2a"],
365 "features": [
366 "swizzle_rgba_for_async_readpixels"
370 "id": 30,
371 "cr_bugs": [237931],
372 "description": "Multisampling is buggy on OSX when multiple monitors are connected",
373 "os": {
374 "type": "macosx"
376 "features": [
377 "disable_multimonitor_multisampling"
381 "id": 31,
382 "cr_bugs": [154715, 10068, 269829, 294779, 285292],
383 "description": "The Mali-Txxx driver does not guarantee flush ordering",
384 "gl_vendor": "ARM.*",
385 "gl_renderer": "Mali-T.*",
386 "features": [
387 "use_virtualized_gl_contexts"
391 "id": 32,
392 "cr_bugs": [179815],
393 "description": "Share groups are not working on (older?) Broadcom drivers",
394 "os": {
395 "type": "android"
397 "gl_vendor": "Broadcom.*",
398 "features": [
399 "use_virtualized_gl_contexts"
403 "id": 33,
404 "description": "Share group-related crashes and poor context switching perf on Galaxy Nexus",
405 "os": {
406 "type": "android"
408 "gl_vendor": "Imagination.*",
409 "features": [
410 "use_virtualized_gl_contexts"
414 "id": 34,
415 "cr_bugs": [179250, 229643, 230896],
416 "description": "Share groups are not working on (older?) Vivante drivers",
417 "os": {
418 "type": "android"
420 "gl_extensions": ".*GL_VIV_shader_binary.*",
421 "features": [
422 "use_virtualized_gl_contexts"
426 "id": 35,
427 "cr_bugs": [163464],
428 "description": "Share-group related crashes on older NVIDIA drivers",
429 "os": {
430 "type": "android",
431 "version": {
432 "op": "<",
433 "value": "4.3"
436 "gl_vendor": "NVIDIA.*",
437 "features": [
438 "use_virtualized_gl_contexts"
442 "id": 36,
443 "cr_bugs": [163464, 233612],
444 "description": "Share-group related crashes on Qualcomm drivers",
445 "os": {
446 "type": "android",
447 "version": {
448 "op": "<",
449 "value": "4.3"
452 "gl_vendor": "Qualcomm.*",
453 "features": [
454 "use_virtualized_gl_contexts"
458 "id": 37,
459 "cr_bugs": [286468],
460 "description": "Program link fails in NVIDIA Linux if gl_Position is not set",
461 "os": {
462 "type": "linux"
464 "vendor_id": "0x10de",
465 "features": [
466 "init_gl_position_in_vertex_shader"
470 "id": 38,
471 "cr_bugs": [289461],
472 "description": "Non-virtual contexts on Qualcomm sometimes cause out-of-order frames",
473 "os": {
474 "type": "android"
476 "gl_vendor": "Qualcomm.*",
477 "features": [
478 "use_virtualized_gl_contexts"
482 "id": 39,
483 "cr_bugs": [290391],
484 "description": "Multisampled renderbuffer allocation must be validated on some Macs",
485 "os": {
486 "type": "macosx"
488 "features": [
489 "validate_multisample_buffer_allocation"
493 "id": 40,
494 "cr_bugs": [290876],
495 "description": "Framebuffer discarding causes flickering on old ARM drivers",
496 "os": {
497 "type": "android",
498 "version": {
499 "op": "<",
500 "value": "4.4"
503 "gl_vendor": "ARM.*",
504 "features": [
505 "disable_discard_framebuffer"
509 "id": 42,
510 "cr_bugs": [290876],
511 "description": "Framebuffer discarding causes flickering on older IMG drivers",
512 "os": {
513 "type": "android"
515 "gl_vendor": "Imagination.*",
516 "gl_renderer": "PowerVR SGX 540",
517 "features": [
518 "disable_discard_framebuffer"
522 "id": 43,
523 "cr_bugs": [299494],
524 "description": "Framebuffer discarding doesn't accept trivial attachments on Vivante",
525 "os": {
526 "type": "android"
528 "gl_extensions": ".*GL_VIV_shader_binary.*",
529 "features": [
530 "disable_discard_framebuffer"
534 "id": 44,
535 "cr_bugs": [301988],
536 "description": "Framebuffer discarding causes jumpy scrolling on Mali drivers",
537 "os": {
538 "type": "chromeos"
540 "features": [
541 "disable_discard_framebuffer"
545 "id": 45,
546 "cr_bugs": [307751],
547 "description": "Unfold short circuit on Mac OS X",
548 "os": {
549 "type": "macosx"
551 "features": [
552 "unfold_short_circuit_as_ternary_operation"
556 "id": 48,
557 "description": "Force to use discrete GPU on older MacBookPro models",
558 "cr_bugs": [113703],
559 "os": {
560 "type": "macosx",
561 "version": {
562 "op": ">=",
563 "value": "10.7"
566 "machine_model_name": ["MacBookPro"],
567 "machine_model_version": {
568 "op": "<",
569 "value": "8"
571 "gpu_count": {
572 "op": "=",
573 "value": "2"
575 "features": [
576 "force_discrete_gpu"
580 "id": 49,
581 "cr_bugs": [309734],
582 "description": "The first draw operation from an idle state is slow",
583 "os": {
584 "type": "android"
586 "gl_vendor": "Qualcomm.*",
587 "features": [
588 "wake_up_gpu_before_drawing"
592 "id": 51,
593 "description": "TexSubImage2D() is faster for full uploads on ANGLE",
594 "os": {
595 "type": "win"
597 "gl_renderer": "ANGLE.*",
598 "features": [
599 "texsubimage2d_faster_than_teximage2d"
603 "id": 52,
604 "description": "ES3 MSAA is broken on Qualcomm",
605 "os": {
606 "type": "android"
608 "gl_vendor": "Qualcomm.*",
609 "features": [
610 "disable_chromium_framebuffer_multisample"
614 "id": 54,
615 "cr_bugs": [124764, 349137],
616 "description": "Clear uniforms before first program use on all platforms",
617 "exceptions": [
619 "os": {
620 "type": "macosx",
621 "version": {
622 "op": ">=",
623 "value": "10.9"
628 "features": [
629 "clear_uniforms_before_first_program_use"
633 "id": 55,
634 "cr_bugs": [333885],
635 "description": "Mesa drivers in Linux handle varyings without static use incorrectly",
636 "os": {
637 "type": "linux"
639 "driver_vendor": "Mesa",
640 "features": [
641 "count_all_in_varyings_packing"
645 "id": 56,
646 "cr_bugs": [333885],
647 "description": "Mesa drivers in ChromeOS handle varyings without static use incorrectly",
648 "os": {
649 "type": "chromeos"
651 "driver_vendor": "Mesa",
652 "features": [
653 "count_all_in_varyings_packing"
657 "id": 57,
658 "cr_bugs": [322760],
659 "description": "Mac drivers handle varyings without static use incorrectly",
660 "os": {
661 "type": "macosx"
663 "features": [
664 "init_varyings_without_static_use"
668 "id": 58,
669 "description": "Multisampling is buggy in ATI cards on older Mac OS X",
670 "cr_bugs": [67752, 83153],
671 "os": {
672 "type": "macosx",
673 "version": {
674 "op": "<",
675 "value": "10.7.2"
678 "vendor_id": "0x1002",
679 "features": [
680 "disable_chromium_framebuffer_multisample"
684 "id": 59,
685 "description": "Multisampling is buggy in Intel IvyBridge",
686 "cr_bugs": [116370],
687 "os": {
688 "type": "linux"
690 "vendor_id": "0x8086",
691 "device_id": ["0x0152", "0x0156", "0x015a", "0x0162", "0x0166"],
692 "features": [
693 "disable_chromium_framebuffer_multisample"
697 "id": 60,
698 "description": "Multisampling is buggy on Mac OS X prior to 10.8.3",
699 "cr_bugs": [137303, 162466],
700 "os": {
701 "type": "macosx",
702 "version": {
703 "op": "<",
704 "value": "10.8.3"
707 "features": [
708 "disable_chromium_framebuffer_multisample"
712 "id": 63,
713 "description": "Shaders with sampler arrays indexing for-loop indices cause the GLSL compiler to crash on OS X",
714 "cr_bugs": [348198, 349137],
715 "os": {
716 "type": "macosx",
717 "version": {
718 "op": "<",
719 "value": "10.9"
722 "features": [
723 "unroll_for_loop_with_sampler_array_index"
727 "id": 64,
728 "description": "Linux AMD drivers incorrectly return initial value of 1 for TEXTURE_MAX_ANISOTROPY",
729 "cr_bugs": [348237],
730 "os": {
731 "type": "linux"
733 "vendor_id": "0x1002",
734 "features": [
735 "init_texture_max_anisotropy"
739 "id": 65,
740 "description": "Linux NVIDIA drivers don't have the correct defaults for vertex attributes",
741 "cr_bugs": [351528],
742 "os": {
743 "type": "linux"
745 "vendor_id": "0x10de",
746 "features": [
747 "init_vertex_attributes"
751 "id": 66,
752 "description": "Force glFinish() after compositing on older OS X on Intel GPU",
753 "cr_bugs": [123409],
754 "os": {
755 "type": "macosx",
756 "version": {
757 "op": "<=",
758 "value": "10.7"
761 "vendor_id": "0x8086",
762 "multi_gpu_category": "active",
763 "features": [
764 "force_gl_finish_after_compositing"
768 "id": 68,
769 "description": "Disable partial swaps on linux drivers",
770 "cr_bugs": [339493],
771 "os": {
772 "type": "linux"
774 "driver_vendor": "Mesa",
775 "features": [
776 "disable_post_sub_buffers_for_onscreen_surfaces"
780 "id": 69,
781 "description": "Some shaders in Skia need more than the min available vertex and fragment shader uniform vectors in case of OSMesa",
782 "cr_bugs": [174845],
783 "driver_vendor": "osmesa",
784 "features": [
785 "max_fragment_uniform_vectors_32",
786 "max_varying_vectors_16",
787 "max_vertex_uniform_vectors_256"
791 "id": 70,
792 "description": "Disable D3D11 on older nVidia drivers",
793 "cr_bugs": [349929],
794 "os": {
795 "type": "win"
797 "vendor_id": "0x10de",
798 "driver_version": {
799 "op": "<=",
800 "value": "8.17.12.6973"
802 "features": [
803 "disable_d3d11"
807 "id": 71,
808 "description": "Vivante's support of OES_standard_derivatives is buggy",
809 "cr_bugs": [368005],
810 "os": {
811 "type": "android"
813 "gl_extensions": ".*GL_VIV_shader_binary.*",
814 "features": [
815 "disable_oes_standard_derivatives"
819 "id": 72,
820 "description": "Use virtual contexts on NVIDIA with GLES 3.1",
821 "cr_bugs": [369316],
822 "os": {
823 "type": "android"
825 "gl_type": "gles",
826 "gl_version": {
827 "op": "=",
828 "value": "3.1"
830 "gl_vendor": "NVIDIA.*",
831 "features": [
832 "use_virtualized_gl_contexts"
835 ) // LONG_STRING_CONST macro
836 // Avoid C2026 (string too big) error on VisualStudio.
837 LONG_STRING_CONST(
839 "id": 74,
840 "cr_bugs": [278606, 382686],
841 "description": "Testing EGL sync fences was broken on most Qualcomm drivers",
842 "os": {
843 "type": "android",
844 "version": {
845 "op": "<=",
846 "value": "4.4.4"
849 "gl_vendor": "Qualcomm.*",
850 "features": [
851 "disable_egl_khr_fence_sync"
855 "id": 75,
856 "description": "Mali-400 support of EXT_multisampled_render_to_texture is buggy on Android < 4.3",
857 "cr_bugs": [362435],
858 "os": {
859 "type": "android",
860 "version": {
861 "op": "<",
862 "value": "4.3"
865 "gl_vendor": "ARM.*",
866 "gl_renderer": ".*Mali-400.*",
867 "features": [
868 "disable_multisampled_render_to_texture"
872 "id": 76,
873 "cr_bugs": [371530],
874 "description": "Testing EGL sync fences was broken on IMG",
875 "os": {
876 "type": "android",
877 "version": {
878 "op": "<=",
879 "value": "4.4.4"
882 "gl_vendor": "Imagination Technologies.*",
883 "features": [
884 "disable_egl_khr_fence_sync"
888 "id": 77,
889 "cr_bugs": [378691, 373360, 371530, 398964],
890 "description": "Testing fences was broken on Mali ES2 drivers",
891 "os": {
892 "type": "android",
893 "version": {
894 "op": "<=",
895 "value": "4.4.4"
898 "gl_vendor": "ARM.*",
899 "gl_renderer": "Mali.*",
900 "gl_type": "gles",
901 "gl_version": {
902 "op": "<",
903 "value": "3.0"
905 "features": [
906 "disable_egl_khr_fence_sync"
910 "id": 78,
911 "cr_bugs": [378691, 373360, 371530],
912 "description": "Testing fences was broken on Broadcom drivers",
913 "os": {
914 "type": "android",
915 "version": {
916 "op": "<=",
917 "value": "4.4.4"
920 "gl_vendor": "Broadcom.*",
921 "features": [
922 "disable_egl_khr_fence_sync"
926 "id": 82,
927 "description": "PBO mappings segfault on certain older Qualcomm drivers",
928 "cr_bugs": [394510],
929 "os": {
930 "type": "android",
931 "version": {
932 "op": "<",
933 "value": "4.3"
936 "gl_vendor": "Qualcomm.*",
937 "features": [
938 "disable_async_readpixels"
942 "id": 86,
943 "description": "Disable use of Direct3D 11 on Matrox video cards",
944 "cr_bugs": [395861],
945 "os": {
946 "type": "win"
948 "vendor_id": "0x102b",
949 "features": [
950 "disable_d3d11"
954 "id": 87,
955 "description": "Disable use of Direct3D 11 on older AMD drivers",
956 "cr_bugs": [402134],
957 "os": {
958 "type": "win"
960 "vendor_id": "0x1002",
961 "driver_date": {
962 "op": "<",
963 "value": "2011.1"
965 "features": [
966 "disable_d3d11"
970 "id": 88,
971 "description": "Always rewrite vec/mat constructors to be consistent",
972 "cr_bugs": [398694],
973 "features": [
974 "scalarize_vec_and_mat_constructor_args"
978 "id": 89,
979 "description": "Mac drivers handle struct scopes incorrectly",
980 "cr_bugs": [403957],
981 "os": {
982 "type": "macosx"
984 "features": [
985 "regenerate_struct_names"
989 "id": 90,
990 "description": "Linux AMD drivers handle struct scopes incorrectly",
991 "cr_bugs": [403957],
992 "os": {
993 "type": "linux"
995 "vendor_id": "0x1002",
996 "features": [
997 "regenerate_struct_names"
1001 "id": 91,
1002 "cr_bugs": [150500, 414816],
1003 "description": "ETC1 non-power-of-two sized textures crash older IMG drivers",
1004 "os": {
1005 "type": "android"
1007 "gl_vendor": "Imagination.*",
1008 "gl_renderer": "PowerVR SGX 5.*",
1009 "features": [
1010 "etc1_power_of_two_only"
1014 "id": 92,
1015 "description": "Old Intel drivers cannot reliably support D3D11",
1016 "cr_bugs": [363721],
1017 "os": {
1018 "type": "win"
1020 "vendor_id": "0x8086",
1021 "driver_version": {
1022 "op": "<",
1023 "value": "8.16"
1025 "features": [
1026 "disable_d3d11"
1030 "id": 93,
1031 "description": "The GL implementation on the Android emulator has problems with PBOs.",
1032 "cr_bugs": [340882],
1033 "os": {
1034 "type": "android"
1036 "gl_vendor": "VMware.*",
1037 "gl_renderer": "Gallium.*",
1038 "gl_type": "gles",
1039 "gl_version": {
1040 "op": "=",
1041 "value": "3.0"
1043 "features": [
1044 "disable_async_readpixels"
1048 "id": 94,
1049 "description": "Disable EGL_KHR_wait_sync on NVIDIA with GLES 3.1",
1050 "cr_bugs": [433057],
1051 "os": {
1052 "type": "android",
1053 "version": {
1054 "op": "<=",
1055 "value": "5.0.2"
1058 "gl_vendor": "NVIDIA.*",
1059 "gl_type": "gles",
1060 "gl_version": {
1061 "op": "=",
1062 "value": "3.1"
1064 "features": [
1065 "disable_egl_khr_wait_sync"
1069 "id": 95,
1070 "cr_bugs": [421271],
1071 "description": "glClear does not always work on these drivers",
1072 "os": {
1073 "type": "android"
1075 "gl_type": "gles",
1076 "gl_version": {
1077 "op": "<",
1078 "value": "3.0"
1080 "gl_vendor": "Imagination.*",
1081 "features": [
1082 "gl_clear_broken"
1086 "id": 96,
1087 "description": "glBindFramebuffer sometimes requires a glBegin/End to take effect",
1088 "cr_bugs": [435786],
1089 "os": {
1090 "type": "macosx"
1092 "features": [
1093 "gl_begin_gl_end_on_fbo_change_to_backbuffer"
1097 "id": 97,
1098 "description": "Multisampling has poor performance in Intel BayTrail",
1099 "cr_bugs": [443517],
1100 "os": {
1101 "type": "android"
1103 "gl_vendor": "Intel",
1104 "gl_renderer": "Intel.*BayTrail",
1105 "features": [
1106 "disable_chromium_framebuffer_multisample"
1110 "id": 98,
1111 "description": "PowerVR SGX 540 drivers throw GL_OUT_OF_MEMORY error when a buffer object's size is set to 0",
1112 "cr_bugs": [451501],
1113 "os": {
1114 "type": "android"
1116 "gl_vendor": "Imagination.*",
1117 "gl_renderer": "PowerVR SGX 540",
1118 "features": [
1119 "use_non_zero_size_for_client_side_stream_buffers"
1123 "id": 99,
1124 "description": "Qualcomm driver before Lollipop deletes egl sync objects after context destruction",
1125 "cr_bugs": [453857],
1126 "os": {
1127 "type": "android",
1128 "version": {
1129 "op": "<",
1130 "value": "5.0.0"
1133 "gl_vendor": "Qualcomm.*",
1134 "features": [
1135 "ignore_egl_sync_failures"
1139 "id": 100,
1140 "description": "Disable Direct3D11 on systems with AMD switchable graphics",
1141 "cr_bugs": [451420],
1142 "os": {
1143 "type": "win"
1145 "multi_gpu_style": "amd_switchable",
1146 "features": [
1147 "disable_d3d11"
1151 "id": 101,
1152 "description": "The Mali-Txxx driver hangs when reading from currently displayed buffer",
1153 "cr_bugs": [457511],
1154 "os": {
1155 "type": "chromeos"
1157 "gl_vendor": "ARM.*",
1158 "gl_renderer": "Mali-T.*",
1159 "features": [
1160 "disable_post_sub_buffers_for_onscreen_surfaces"
1164 "id": 102,
1165 "description": "Adreno 420 driver loses FBO attachment contents on bound FBO deletion",
1166 "cr_bugs": [457027],
1167 "os": {
1168 "type": "android",
1169 "version": {
1170 "op": ">",
1171 "value": "5.0.2"
1174 "gl_vendor": "Qualcomm.*",
1175 "gl_renderer": ".*420",
1176 "features": [
1177 "unbind_attachments_on_bound_render_fbo_delete"
1181 "id": 103,
1182 "description": "Adreno 420 driver drops draw calls after FBO invalidation",
1183 "cr_bugs": [443060],
1184 "os": {
1185 "type": "android"
1187 "gl_vendor": "Qualcomm.*",
1188 "gl_renderer": ".*420",
1189 "features": [
1190 "disable_discard_framebuffer"
1194 "id": 104,
1195 "description": "EXT_occlusion_query hangs on MediaTek MT8135 pre-Lollipop",
1196 "os": {
1197 "type": "android",
1198 "version": {
1199 "op": "<",
1200 "value": "5.0.0"
1203 "gl_vendor": "Imagination.*",
1204 "gl_renderer": "PowerVR Rogue Han",
1205 "features": [
1206 "disable_ext_occlusion_query"
1210 "id": 105,
1211 "cr_bugs": [449488,451230],
1212 "description": "Framebuffer discarding causes corruption on Mali-4xx",
1213 "gl_renderer": "Mali-4.*",
1214 "os": {
1215 "type": "android"
1217 "features": [
1218 "disable_discard_framebuffer"
1224 ); // LONG_STRING_CONST macro
1226 } // namespace gpu