OLD | NEW |
1 // Determines whether a certain driver bug exists in the current system. | 1 // Determines whether a certain driver bug exists in the current system. |
2 // A valid gpu_driver_bug_list.json file are in the format of | 2 // A valid gpu_driver_bug_list.json file are in the format of |
3 // { | 3 // { |
4 // "version": "x.y", | 4 // "version": "x.y", |
5 // "entries": [ | 5 // "entries": [ |
6 // { // entry 1 | 6 // { // entry 1 |
7 // }, | 7 // }, |
8 // ... | 8 // ... |
9 // { // entry n | 9 // { // entry n |
10 // } | 10 // } |
(...skipping 20 matching lines...) Expand all Loading... |
31 // 10. "gl_vendor" is a STRING structure (defined below). | 31 // 10. "gl_vendor" is a STRING structure (defined below). |
32 // 11. "gl_renderer" is a STRING structure (defined below). | 32 // 11. "gl_renderer" is a STRING structure (defined below). |
33 // 12. "perf_graphics" is a FLOAT structure (defined below). | 33 // 12. "perf_graphics" is a FLOAT structure (defined below). |
34 // 13. "perf_gaming" is a FLOAT structure (defined below). | 34 // 13. "perf_gaming" is a FLOAT structure (defined below). |
35 // 14. "perf_overall" is a FLOAT structure (defined below). | 35 // 14. "perf_overall" is a FLOAT structure (defined below). |
36 // 15. "machine_model" contais "name" and an optional "version". "name" is a | 36 // 15. "machine_model" contais "name" and an optional "version". "name" is a |
37 // STRING structure and "version" is a VERSION structure (defined below). | 37 // STRING structure and "version" is a VERSION structure (defined below). |
38 // 16. "gpu_count" is a INT structure (defined below). | 38 // 16. "gpu_count" is a INT structure (defined below). |
39 // 17 "cpu_info" is a STRING structure (defined below). | 39 // 17 "cpu_info" is a STRING structure (defined below). |
40 // 18. "exceptions" is a list of entries. | 40 // 18. "exceptions" is a list of entries. |
41 // 19. "features" is a list of driver bug types, including | 41 // 19. "features" is a list of driver bug types. For a list of supported types, |
42 // "clear_alpha_in_readpixels", | 42 // see src/gpu/command_buffer/service/gpu_driver_bug_workaround_type.h |
43 // "clear_uniforms_before_program_use", | |
44 // "delete_instead_of_resize_fbo", | |
45 // "disable_angle_framebuffer_multisample", | |
46 // "disable_depth_texture", | |
47 // "disable_ext_occlusion_query", | |
48 // "enable_chromium_fast_npot_mo8_textures", | |
49 // "exit_on_context_lost", | |
50 // "flush_on_context_switch", | |
51 // "max_cube_map_texture_size_limit_1024", | |
52 // "max_cube_map_texture_size_limit_4096", | |
53 // "max_cube_map_texture_size_limit_512", | |
54 // "max_texture_size_limit_4096", | |
55 // "needs_glsl_built_in_function_emulation", | |
56 // "needs_offscreen_buffer_workaround", | |
57 // "restore_scissor_on_fbo_change", | |
58 // "reverse_point_sprite_coord_origin", | |
59 // "set_texture_filter_before_generating_mipmap", | |
60 // "use_client_side_arrays_for_stream_buffers", | |
61 // "use_current_program_after_successful_link". | |
62 // This field is mandatory. | 43 // This field is mandatory. |
63 // 20. "description" has the description of the entry. | 44 // 20. "description" has the description of the entry. |
64 // 21. "webkit_bugs" is an array of associated webkit bug numbers. | 45 // 21. "webkit_bugs" is an array of associated webkit bug numbers. |
65 // 22. "cr_bugs" is an array of associated chromium bug numbers. | 46 // 22. "cr_bugs" is an array of associated chromium bug numbers. |
66 // 23. "browser_version" is a VERSION structure (defined below). If this | 47 // 23. "browser_version" is a VERSION structure (defined below). If this |
67 // condition is not satisfied, the entry will be ignored. If it is not | 48 // condition is not satisfied, the entry will be ignored. If it is not |
68 // present, then the entry applies to all versions of the browser. | 49 // present, then the entry applies to all versions of the browser. |
69 // 24. "disabled" is a boolean. If it is present, the entry will be skipped. | 50 // 24. "disabled" is a boolean. If it is present, the entry will be skipped. |
70 // This can not be used in exceptions. | 51 // This can not be used in exceptions. |
71 // | 52 // |
(...skipping 12 matching lines...) Expand all Loading... |
84 // | 65 // |
85 // FLOAT includes "op" "value", and "value2". "op" can be any of the | 66 // FLOAT includes "op" "value", and "value2". "op" can be any of the |
86 // following values: "=", "<", "<=", ">", ">=", "any", "between". "value2" is | 67 // following values: "=", "<", "<=", ">", ">=", "any", "between". "value2" is |
87 // only used if "op" is "between". "value" is used for all "op" values except | 68 // only used if "op" is "between". "value" is used for all "op" values except |
88 // "any". "value" and "value2" are valid float numbers. | 69 // "any". "value" and "value2" are valid float numbers. |
89 // INT is very much like FLOAT, except that the values need to be integers. | 70 // INT is very much like FLOAT, except that the values need to be integers. |
90 | 71 |
91 { | 72 { |
92 "name": "gpu driver bug list", | 73 "name": "gpu driver bug list", |
93 // Please update the version number whenever you change this file. | 74 // Please update the version number whenever you change this file. |
94 "version": "1.2", | 75 "version": "1.3", |
95 "entries": [ | 76 "entries": [ |
96 { | 77 { |
97 "id": 1, | 78 "id": 1, |
98 "description": "Imagination driver doesn't like uploading lots of buffer d
ata constantly", | 79 "description": "Imagination driver doesn't like uploading lots of buffer d
ata constantly", |
99 "os": { | 80 "os": { |
100 "type": "android" | 81 "type": "android" |
101 }, | 82 }, |
102 "gl_vendor": { | 83 "gl_vendor": { |
103 "op": "beginwith", | 84 "op": "beginwith", |
104 "value": "Imagination" | 85 "value": "Imagination" |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
213 "id": 12, | 194 "id": 12, |
214 "os": { | 195 "os": { |
215 "type": "macosx" | 196 "type": "macosx" |
216 }, | 197 }, |
217 "vendor_id": "0x8086", | 198 "vendor_id": "0x8086", |
218 "features": [ | 199 "features": [ |
219 "max_cube_map_texture_size_limit_1024" | 200 "max_cube_map_texture_size_limit_1024" |
220 ] | 201 ] |
221 }, | 202 }, |
222 { | 203 { |
223 "id": 12, | 204 "id": 13, |
224 "os": { | 205 "os": { |
225 "type": "macosx", | 206 "type": "macosx", |
226 "version": { | 207 "version": { |
227 "op": "<", | 208 "op": "<", |
228 "number": "10.7.3" | 209 "number": "10.7.3" |
229 } | 210 } |
230 }, | 211 }, |
231 "vendor_id": "0x8086", | 212 "vendor_id": "0x8086", |
232 "features": [ | 213 "features": [ |
233 "max_cube_map_texture_size_limit_512" | 214 "max_cube_map_texture_size_limit_512" |
234 ] | 215 ] |
235 }, | 216 }, |
236 { | 217 { |
237 "id": 13, | 218 "id": 14, |
238 "os": { | 219 "os": { |
239 "type": "macosx" | 220 "type": "macosx" |
240 }, | 221 }, |
241 "vendor_id": "0x1002", | 222 "vendor_id": "0x1002", |
242 "features": [ | 223 "features": [ |
243 "max_texture_size_limit_4096", | 224 "max_texture_size_limit_4096", |
244 "max_cube_map_texture_size_limit_4096" | 225 "max_cube_map_texture_size_limit_4096" |
245 ] | 226 ] |
246 }, | 227 }, |
247 { | 228 { |
248 "id": 14, | 229 "id": 15, |
249 "description": "Some Android Qualcomm drivers falsely report GL_ANGLE_fram
ebuffer_multisample", | 230 "description": "Some Android Qualcomm drivers falsely report GL_ANGLE_fram
ebuffer_multisample", |
250 "cr_bugs": [165736], | 231 "cr_bugs": [165736], |
251 "os": { | 232 "os": { |
252 "type": "android" | 233 "type": "android" |
253 }, | 234 }, |
254 "gl_vendor": { | 235 "gl_vendor": { |
255 "op": "beginwith", | 236 "op": "beginwith", |
256 "value": "Qualcomm" | 237 "value": "Qualcomm" |
257 }, | 238 }, |
258 "features": [ | 239 "features": [ |
259 "disable_angle_framebuffer_multisample" | 240 "disable_angle_framebuffer_multisample" |
260 ] | 241 ] |
261 }, | 242 }, |
262 { | 243 { |
263 "id": 15, | 244 "id": 16, |
264 "description": "Intel drivers on Linux appear to be buggy", | 245 "description": "Intel drivers on Linux appear to be buggy", |
265 "os": { | 246 "os": { |
266 "type": "linux" | 247 "type": "linux" |
267 }, | 248 }, |
268 "vendor_id": "0x8086", | 249 "vendor_id": "0x8086", |
269 "features": [ | 250 "features": [ |
270 "disable_ext_occlusion_query" | 251 "disable_ext_occlusion_query" |
271 ] | 252 ] |
272 }, | 253 }, |
273 { | 254 { |
274 "id": 16, | 255 "id": 17, |
275 "description": "Some drivers are unable to reset the D3D device in the GPU
process sandbox", | 256 "description": "Some drivers are unable to reset the D3D device in the GPU
process sandbox", |
276 "os": { | 257 "os": { |
277 "type": "win" | 258 "type": "win" |
278 }, | 259 }, |
279 "features": [ | 260 "features": [ |
280 "exit_on_context_lost" | 261 "exit_on_context_lost" |
281 ] | 262 ] |
282 }, | 263 }, |
283 { | 264 { |
284 "id": 17, | 265 "id": 18, |
285 "description": "Everything except async + NPOT + multiple-of-8 textures ar
e brutally slow for Imagination drivers", | 266 "description": "Everything except async + NPOT + multiple-of-8 textures ar
e brutally slow for Imagination drivers", |
286 "os": { | 267 "os": { |
287 "type": "android" | 268 "type": "android" |
288 }, | 269 }, |
289 "gl_vendor": { | 270 "gl_vendor": { |
290 "op": "beginwith", | 271 "op": "beginwith", |
291 "value": "Imagination" | 272 "value": "Imagination" |
292 }, | 273 }, |
293 "features": [ | 274 "features": [ |
294 "enable_chromium_fast_npot_mo8_textures" | 275 "enable_chromium_fast_npot_mo8_textures" |
295 ] | 276 ] |
296 }, | 277 }, |
297 { | 278 { |
298 "id": 17, | 279 "id": 19, |
299 "os": { | 280 "os": { |
300 "type": "android" | 281 "type": "android" |
301 }, | 282 }, |
302 "gl_vendor": { | 283 "gl_vendor": { |
303 "op": "beginwith", | 284 "op": "beginwith", |
304 "value": "Qualcomm" | 285 "value": "Qualcomm" |
305 }, | 286 }, |
306 "features": [ | 287 "features": [ |
307 "disable_depth_texture" | 288 "disable_depth_texture" |
308 ] | 289 ] |
309 }, | 290 }, |
310 { | 291 { |
311 "id": 18, | 292 "id": 20, |
312 "description": "Disable EXT_draw_buffers on GeForce GT 650M on Mac OS X du
e to driver bugs.", | 293 "description": "Disable EXT_draw_buffers on GeForce GT 650M on Mac OS X du
e to driver bugs.", |
313 "os": { | 294 "os": { |
314 "type": "macosx" | 295 "type": "macosx" |
315 }, | 296 }, |
316 "vendor_id": "0x10de", | 297 "vendor_id": "0x10de", |
317 "device_id": ["0x0fd5"], | 298 "device_id": ["0x0fd5"], |
318 "multi_gpu_category": "any", | 299 "multi_gpu_category": "any", |
319 "features": [ | 300 "features": [ |
320 "disable_ext_draw_buffers" | 301 "disable_ext_draw_buffers" |
321 ] | 302 ] |
322 } | 303 } |
323 ] | 304 ] |
324 } | 305 } |
OLD | NEW |