OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 // Determines whether a certain driver bug exists in the current system. | 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 | 6 // The format of a valid gpu_driver_bug_list.json file is defined in |
7 // <gpu/config/gpu_control_list_format.txt>. | 7 // <gpu/config/gpu_control_list_format.txt>. |
8 // The supported "features" can be found in | 8 // The supported "features" can be found in |
9 // <gpu/config/gpu_driver_bug_workaround_type.h>. | 9 // <gpu/config/gpu_driver_bug_workaround_type.h>. |
10 | 10 |
(...skipping 26 matching lines...) Expand all Loading... |
37 "description": "ARM driver doesn't like uploading lots of buffer data cons
tantly", | 37 "description": "ARM driver doesn't like uploading lots of buffer data cons
tantly", |
38 "os": { | 38 "os": { |
39 "type": "android" | 39 "type": "android" |
40 }, | 40 }, |
41 "gl_vendor": "ARM.*", | 41 "gl_vendor": "ARM.*", |
42 "features": [ | 42 "features": [ |
43 "use_client_side_arrays_for_stream_buffers" | 43 "use_client_side_arrays_for_stream_buffers" |
44 ] | 44 ] |
45 }, | 45 }, |
46 { | 46 { |
47 "id": 3, | |
48 "description": "glGenerateMipmap leaks vram without setting texture filter
s 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 f
rom 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, | 47 "id": 5, |
80 "description": "Always call glUseProgram after a successful link to avoid
a driver bug", | 48 "description": "Always call glUseProgram after a successful link to avoid
a driver bug", |
81 "cr_bugs": [349137], | 49 "cr_bugs": [349137], |
82 "vendor_id": "0x10de", | 50 "vendor_id": "0x10de", |
83 "exceptions": [ | 51 "exceptions": [ |
84 { | 52 { |
85 "os": { | 53 "os": { |
86 "type": "macosx", | 54 "type": "macosx", |
87 "version": { | 55 "version": { |
88 "op": ">=", | 56 "op": ">=", |
(...skipping 28 matching lines...) Expand all Loading... |
117 "description": "Work around a bug in offscreen buffers on NVIDIA GPUs on M
acs", | 85 "description": "Work around a bug in offscreen buffers on NVIDIA GPUs on M
acs", |
118 "os": { | 86 "os": { |
119 "type": "macosx" | 87 "type": "macosx" |
120 }, | 88 }, |
121 "vendor_id": "0x10de", | 89 "vendor_id": "0x10de", |
122 "features": [ | 90 "features": [ |
123 "needs_offscreen_buffer_workaround" | 91 "needs_offscreen_buffer_workaround" |
124 ] | 92 ] |
125 }, | 93 }, |
126 { | 94 { |
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 ear
lier", | |
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 e
arlier", | |
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 "version": { | |
180 "op": "<", | |
181 "value": "10.9" | |
182 } | |
183 }, | |
184 "vendor_id": "0x8086", | |
185 "features": [ | |
186 "max_texture_size_limit_4096" | |
187 ] | |
188 }, | |
189 { | |
190 "id": 12, | |
191 "description": "Limit max cube map texure size to 1024 on Macs with Intel
GPUs", | |
192 "os": { | |
193 "type": "macosx", | |
194 "version": { | |
195 "op": "<", | |
196 "value": "10.9" | |
197 } | |
198 }, | |
199 "vendor_id": "0x8086", | |
200 "features": [ | |
201 "max_cube_map_texture_size_limit_1024" | |
202 ] | |
203 }, | |
204 { | |
205 "id": 13, | |
206 "description": "Limit max cube map texure size to 512 on older Macs with I
ntel GPUs", | |
207 "os": { | |
208 "type": "macosx", | |
209 "version": { | |
210 "op": "<", | |
211 "value": "10.7.3" | |
212 } | |
213 }, | |
214 "vendor_id": "0x8086", | |
215 "features": [ | |
216 "max_cube_map_texture_size_limit_512" | |
217 ] | |
218 }, | |
219 { | |
220 "id": 14, | |
221 "description": "Limit max texure size and cube map texture size to 4096 on
Macs with AMD GPUs", | |
222 "os": { | |
223 "type": "macosx", | |
224 "version": { | |
225 "op": "<", | |
226 "value": "10.9" | |
227 } | |
228 }, | |
229 "vendor_id": "0x1002", | |
230 "features": [ | |
231 "max_texture_size_limit_4096", | |
232 "max_cube_map_texture_size_limit_4096" | |
233 ] | |
234 }, | |
235 { | |
236 "id": 16, | 95 "id": 16, |
237 "description": "EXT_occlusion_query appears to be buggy with Intel GPUs on
Linux", | 96 "description": "EXT_occlusion_query appears to be buggy with Intel GPUs on
Linux", |
238 "os": { | 97 "os": { |
239 "type": "linux" | 98 "type": "linux" |
240 }, | 99 }, |
241 "vendor_id": "0x8086", | 100 "vendor_id": "0x8086", |
242 "disabled_extensions": [ | 101 "disabled_extensions": [ |
243 "GL_ARB_occlusion_query2", | 102 "GL_ARB_occlusion_query2", |
244 "GL_ARB_occlusion_query" | 103 "GL_ARB_occlusion_query" |
245 ] | 104 ] |
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
325 "os": { | 184 "os": { |
326 "type": "android" | 185 "type": "android" |
327 }, | 186 }, |
328 "gl_vendor": "ARM.*", | 187 "gl_vendor": "ARM.*", |
329 "gl_renderer": ".*Mali-4.*", | 188 "gl_renderer": ".*Mali-4.*", |
330 "features": [ | 189 "features": [ |
331 "use_non_zero_size_for_client_side_stream_buffers" | 190 "use_non_zero_size_for_client_side_stream_buffers" |
332 ] | 191 ] |
333 }, | 192 }, |
334 { | 193 { |
335 "id": 25, | |
336 "cr_bugs": [152225], | |
337 "description": "PBO + Readpixels don't work on OS X 10.7", | |
338 "os": { | |
339 "type": "macosx", | |
340 "version": { | |
341 "op": "<", | |
342 "value": "10.8" | |
343 } | |
344 }, | |
345 "features": [ | |
346 "disable_async_readpixels" | |
347 ] | |
348 }, | |
349 { | |
350 "id": 26, | 194 "id": 26, |
351 "description": "Disable use of Direct3D 11 on Windows Vista and lower", | 195 "description": "Disable use of Direct3D 11 on Windows Vista and lower", |
352 "os": { | 196 "os": { |
353 "type": "win", | 197 "type": "win", |
354 "version": { | 198 "version": { |
355 "op": "<=", | 199 "op": "<=", |
356 "value": "6.0" | 200 "value": "6.0" |
357 } | 201 } |
358 }, | 202 }, |
359 "features": [ | 203 "features": [ |
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
555 }, | 399 }, |
556 "features": [ | 400 "features": [ |
557 "unfold_short_circuit_as_ternary_operation" | 401 "unfold_short_circuit_as_ternary_operation" |
558 ] | 402 ] |
559 }, | 403 }, |
560 { | 404 { |
561 "id": 48, | 405 "id": 48, |
562 "description": "Force to use discrete GPU on older MacBookPro models", | 406 "description": "Force to use discrete GPU on older MacBookPro models", |
563 "cr_bugs": [113703], | 407 "cr_bugs": [113703], |
564 "os": { | 408 "os": { |
565 "type": "macosx", | 409 "type": "macosx" |
566 "version": { | |
567 "op": ">=", | |
568 "value": "10.7" | |
569 } | |
570 }, | 410 }, |
571 "machine_model_name": ["MacBookPro"], | 411 "machine_model_name": ["MacBookPro"], |
572 "machine_model_version": { | 412 "machine_model_version": { |
573 "op": "<", | 413 "op": "<", |
574 "value": "8" | 414 "value": "8" |
575 }, | 415 }, |
576 "gpu_count": { | 416 "gpu_count": { |
577 "op": "=", | 417 "op": "=", |
578 "value": "2" | 418 "value": "2" |
579 }, | 419 }, |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
615 "disable_chromium_framebuffer_multisample" | 455 "disable_chromium_framebuffer_multisample" |
616 ] | 456 ] |
617 }, | 457 }, |
618 { | 458 { |
619 "id": 54, | 459 "id": 54, |
620 "cr_bugs": [124764, 349137], | 460 "cr_bugs": [124764, 349137], |
621 "description": "Clear uniforms before first program use on all platforms", | 461 "description": "Clear uniforms before first program use on all platforms", |
622 "exceptions": [ | 462 "exceptions": [ |
623 { | 463 { |
624 "os": { | 464 "os": { |
625 "type": "macosx", | 465 "type": "macosx" |
626 "version": { | |
627 "op": ">=", | |
628 "value": "10.9" | |
629 } | |
630 } | 466 } |
631 } | 467 } |
632 ], | 468 ], |
633 "features": [ | 469 "features": [ |
634 "clear_uniforms_before_first_program_use" | 470 "clear_uniforms_before_first_program_use" |
635 ] | 471 ] |
636 }, | 472 }, |
637 { | 473 { |
638 "id": 55, | 474 "id": 55, |
639 "cr_bugs": [333885], | 475 "cr_bugs": [333885], |
(...skipping 23 matching lines...) Expand all Loading... |
663 "cr_bugs": [322760], | 499 "cr_bugs": [322760], |
664 "description": "Mac drivers handle varyings without static use incorrectly
", | 500 "description": "Mac drivers handle varyings without static use incorrectly
", |
665 "os": { | 501 "os": { |
666 "type": "macosx" | 502 "type": "macosx" |
667 }, | 503 }, |
668 "features": [ | 504 "features": [ |
669 "init_varyings_without_static_use" | 505 "init_varyings_without_static_use" |
670 ] | 506 ] |
671 }, | 507 }, |
672 { | 508 { |
673 "id": 58, | |
674 "description": "Multisampling is buggy in ATI cards on older Mac OS X", | |
675 "cr_bugs": [67752, 83153], | |
676 "os": { | |
677 "type": "macosx", | |
678 "version": { | |
679 "op": "<", | |
680 "value": "10.7.2" | |
681 } | |
682 }, | |
683 "vendor_id": "0x1002", | |
684 "features": [ | |
685 "disable_chromium_framebuffer_multisample" | |
686 ] | |
687 }, | |
688 { | |
689 "id": 59, | 509 "id": 59, |
690 "description": "Multisampling is buggy in Intel IvyBridge", | 510 "description": "Multisampling is buggy in Intel IvyBridge", |
691 "cr_bugs": [116370], | 511 "cr_bugs": [116370], |
692 "os": { | 512 "os": { |
693 "type": "linux" | 513 "type": "linux" |
694 }, | 514 }, |
695 "vendor_id": "0x8086", | 515 "vendor_id": "0x8086", |
696 "device_id": ["0x0152", "0x0156", "0x015a", "0x0162", "0x0166"], | 516 "device_id": ["0x0152", "0x0156", "0x015a", "0x0162", "0x0166"], |
697 "features": [ | 517 "features": [ |
698 "disable_chromium_framebuffer_multisample" | 518 "disable_chromium_framebuffer_multisample" |
699 ] | 519 ] |
700 }, | 520 }, |
701 { | 521 { |
702 "id": 60, | |
703 "description": "Multisampling is buggy on Mac OS X prior to 10.8.3", | |
704 "cr_bugs": [137303, 162466], | |
705 "os": { | |
706 "type": "macosx", | |
707 "version": { | |
708 "op": "<", | |
709 "value": "10.8.3" | |
710 } | |
711 }, | |
712 "features": [ | |
713 "disable_chromium_framebuffer_multisample" | |
714 ] | |
715 }, | |
716 { | |
717 "id": 63, | |
718 "description": "Shaders with sampler arrays indexing for-loop indices caus
e the GLSL compiler to crash on OS X", | |
719 "cr_bugs": [348198, 349137], | |
720 "os": { | |
721 "type": "macosx", | |
722 "version": { | |
723 "op": "<", | |
724 "value": "10.9" | |
725 } | |
726 }, | |
727 "features": [ | |
728 "unroll_for_loop_with_sampler_array_index" | |
729 ] | |
730 }, | |
731 { | |
732 "id": 64, | 522 "id": 64, |
733 "description": "Linux AMD drivers incorrectly return initial value of 1 fo
r TEXTURE_MAX_ANISOTROPY", | 523 "description": "Linux AMD drivers incorrectly return initial value of 1 fo
r TEXTURE_MAX_ANISOTROPY", |
734 "cr_bugs": [348237], | 524 "cr_bugs": [348237], |
735 "os": { | 525 "os": { |
736 "type": "linux" | 526 "type": "linux" |
737 }, | 527 }, |
738 "vendor_id": "0x1002", | 528 "vendor_id": "0x1002", |
739 "features": [ | 529 "features": [ |
740 "init_texture_max_anisotropy" | 530 "init_texture_max_anisotropy" |
741 ] | 531 ] |
(...skipping 1068 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1810 "os": { | 1600 "os": { |
1811 "type": "linux" | 1601 "type": "linux" |
1812 }, | 1602 }, |
1813 "gl_vendor": "Vivante Corporation", | 1603 "gl_vendor": "Vivante Corporation", |
1814 "gl_renderer": "Vivante GC1000", | 1604 "gl_renderer": "Vivante GC1000", |
1815 "features": [ | 1605 "features": [ |
1816 "disable_multisampled_render_to_texture" | 1606 "disable_multisampled_render_to_texture" |
1817 ] | 1607 ] |
1818 }, | 1608 }, |
1819 { | 1609 { |
1820 "id": 154, | |
1821 "cr_bugs": [581777], | |
1822 "description": "glReadPixels does not work on IOSurface backed textures", | |
1823 "os": { | |
1824 "type": "macosx" | |
1825 }, | |
1826 "exceptions": [ | |
1827 { | |
1828 "os": { | |
1829 "type": "macosx", | |
1830 "version": { | |
1831 "op": ">=", | |
1832 "value": "10.9" | |
1833 } | |
1834 } | |
1835 } | |
1836 ], | |
1837 "features": [ | |
1838 "iosurface_readback_workaround" | |
1839 ] | |
1840 }, | |
1841 { | |
1842 "id": 155, | 1610 "id": 155, |
1843 "cr_bugs": [597794], | 1611 "cr_bugs": [597794], |
1844 "description": "Seamless cubemap does not work for Mac Intel", | 1612 "description": "Seamless cubemap does not work for Mac Intel", |
1845 "os": { | 1613 "os": { |
1846 "type": "macosx" | 1614 "type": "macosx" |
1847 }, | 1615 }, |
1848 "vendor_id": "0x8086", | 1616 "vendor_id": "0x8086", |
1849 "features": [ | 1617 "features": [ |
1850 "disable_texture_cube_map_seamless" | 1618 "disable_texture_cube_map_seamless" |
1851 ] | 1619 ] |
(...skipping 198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2050 "features": [ | 1818 "features": [ |
2051 "use_shadowed_tex_level_params" | 1819 "use_shadowed_tex_level_params" |
2052 ] | 1820 ] |
2053 } | 1821 } |
2054 ] | 1822 ] |
2055 } | 1823 } |
2056 | 1824 |
2057 ); // LONG_STRING_CONST macro | 1825 ); // LONG_STRING_CONST macro |
2058 | 1826 |
2059 } // namespace gpu | 1827 } // namespace gpu |
OLD | NEW |