| OLD | NEW |
| (Empty) |
| 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": "9.38", | |
| 23 "entries": [ | |
| 24 { | |
| 25 "id": 1, | |
| 26 "description": "Imagination driver doesn't like uploading lots of buffer d
ata 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 cons
tantly", | |
| 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": 6, | |
| 48 "description": "Restore scissor on FBO change with Qualcomm GPUs on older
versions of Android", | |
| 49 "cr_bugs": [165493, 222018], | |
| 50 "os": { | |
| 51 "type": "android", | |
| 52 "version": { | |
| 53 "op": "<", | |
| 54 "value": "4.3" | |
| 55 } | |
| 56 }, | |
| 57 "gl_vendor": "Qualcomm.*", | |
| 58 "features": [ | |
| 59 "restore_scissor_on_fbo_change" | |
| 60 ] | |
| 61 }, | |
| 62 { | |
| 63 "id": 7, | |
| 64 "cr_bugs": [89557], | |
| 65 "description": "Work around a bug in offscreen buffers on NVIDIA GPUs on M
acs", | |
| 66 "os": { | |
| 67 "type": "macosx" | |
| 68 }, | |
| 69 "vendor_id": "0x10de", | |
| 70 "features": [ | |
| 71 "needs_offscreen_buffer_workaround" | |
| 72 ] | |
| 73 }, | |
| 74 { | |
| 75 "id": 17, | |
| 76 "description": "Some drivers are unable to reset the D3D device in the GPU
process sandbox", | |
| 77 "os": { | |
| 78 "type": "win" | |
| 79 }, | |
| 80 "features": [ | |
| 81 "exit_on_context_lost" | |
| 82 ] | |
| 83 }, | |
| 84 { | |
| 85 "id": 19, | |
| 86 "description": "Disable depth textures on Android with Qualcomm GPUs", | |
| 87 "cr_bugs": [682075], | |
| 88 "os": { | |
| 89 "type": "android", | |
| 90 "version": { | |
| 91 "op": "<", | |
| 92 "value": "6.0" | |
| 93 } | |
| 94 }, | |
| 95 "gl_vendor": "Qualcomm.*", | |
| 96 "features": [ | |
| 97 "disable_depth_texture" | |
| 98 ], | |
| 99 "disabled_extensions": [ | |
| 100 "GL_OES_depth_texture" | |
| 101 ] | |
| 102 }, | |
| 103 { | |
| 104 "id": 20, | |
| 105 "description": "Disable EXT_draw_buffers on GeForce GT 650M on Mac OS X du
e to driver bugs", | |
| 106 "os": { | |
| 107 "type": "macosx" | |
| 108 }, | |
| 109 "vendor_id": "0x10de", | |
| 110 "device_id": ["0x0fd5"], | |
| 111 "multi_gpu_category": "any", | |
| 112 "features": [ | |
| 113 "disable_ext_draw_buffers" | |
| 114 ] | |
| 115 }, | |
| 116 { | |
| 117 "id": 21, | |
| 118 "description": "Vivante GPUs are buggy with context switching", | |
| 119 "cr_bugs": [179250, 235935], | |
| 120 "os": { | |
| 121 "type": "android" | |
| 122 }, | |
| 123 "gl_extensions": ".*GL_VIV_shader_binary.*", | |
| 124 "features": [ | |
| 125 "unbind_fbo_on_context_switch" | |
| 126 ] | |
| 127 }, | |
| 128 { | |
| 129 "id": 22, | |
| 130 "description": "Imagination drivers are buggy with context switching", | |
| 131 "cr_bugs": [230896], | |
| 132 "os": { | |
| 133 "type": "android" | |
| 134 }, | |
| 135 "gl_vendor": "Imagination.*", | |
| 136 "features": [ | |
| 137 "unbind_fbo_on_context_switch" | |
| 138 ] | |
| 139 }, | |
| 140 { | |
| 141 "id": 23, | |
| 142 "cr_bugs": [243038], | |
| 143 "description": "Disable OES_standard_derivative on Intel Pineview M Galliu
m drivers", | |
| 144 "os": { | |
| 145 "type": "chromeos" | |
| 146 }, | |
| 147 "vendor_id": "0x8086", | |
| 148 "device_id": ["0xa011", "0xa012"], | |
| 149 "disabled_extensions": [ | |
| 150 "GL_OES_standard_derivatives" | |
| 151 ] | |
| 152 }, | |
| 153 { | |
| 154 "id": 24, | |
| 155 "cr_bugs": [231082], | |
| 156 "description": "Mali-4xx drivers throw an error when a buffer object's siz
e is set to 0", | |
| 157 "os": { | |
| 158 "type": "android" | |
| 159 }, | |
| 160 "gl_vendor": "ARM.*", | |
| 161 "gl_renderer": ".*Mali-4.*", | |
| 162 "features": [ | |
| 163 "use_non_zero_size_for_client_side_stream_buffers" | |
| 164 ] | |
| 165 }, | |
| 166 { | |
| 167 "id": 26, | |
| 168 "description": "Disable use of Direct3D 11 on Windows Vista and lower", | |
| 169 "os": { | |
| 170 "type": "win", | |
| 171 "version": { | |
| 172 "op": "<=", | |
| 173 "value": "6.0" | |
| 174 } | |
| 175 }, | |
| 176 "features": [ | |
| 177 "disable_d3d11" | |
| 178 ] | |
| 179 }, | |
| 180 { | |
| 181 "id": 27, | |
| 182 "cr_bugs": [265115], | |
| 183 "description": "Async Readpixels with GL_BGRA format is broken on Haswell
chipset on Macs", | |
| 184 "os": { | |
| 185 "type": "macosx" | |
| 186 }, | |
| 187 "vendor_id": "0x8086", | |
| 188 "device_id": ["0x0402", "0x0406", "0x040a", "0x0412", "0x0416", "0x041a", | |
| 189 "0x0a04", "0x0a16", "0x0a22", "0x0a26", "0x0a2a"], | |
| 190 "features": [ | |
| 191 "swizzle_rgba_for_async_readpixels" | |
| 192 ] | |
| 193 }, | |
| 194 { | |
| 195 "id": 30, | |
| 196 "cr_bugs": [237931], | |
| 197 "description": "Multisampling is buggy on OSX when multiple monitors are c
onnected", | |
| 198 "os": { | |
| 199 "type": "macosx" | |
| 200 }, | |
| 201 "features": [ | |
| 202 "disable_multimonitor_multisampling" | |
| 203 ] | |
| 204 }, | |
| 205 { | |
| 206 "id": 31, | |
| 207 "cr_bugs": [154715, 10068, 269829, 294779, 285292], | |
| 208 "description": "The Mali-Txxx driver does not guarantee flush ordering", | |
| 209 "gl_vendor": "ARM.*", | |
| 210 "gl_renderer": "Mali-T.*", | |
| 211 "features": [ | |
| 212 "use_virtualized_gl_contexts" | |
| 213 ] | |
| 214 }, | |
| 215 { | |
| 216 "id": 32, | |
| 217 "cr_bugs": [179815], | |
| 218 "description": "Share groups are not working on (older?) Broadcom drivers"
, | |
| 219 "os": { | |
| 220 "type": "android" | |
| 221 }, | |
| 222 "gl_vendor": "Broadcom.*", | |
| 223 "features": [ | |
| 224 "use_virtualized_gl_contexts" | |
| 225 ] | |
| 226 }, | |
| 227 { | |
| 228 "id": 33, | |
| 229 "description": "Share group-related crashes and poor context switching per
f on Imagination drivers", | |
| 230 "gl_vendor": "Imagination.*", | |
| 231 "features": [ | |
| 232 "use_virtualized_gl_contexts" | |
| 233 ] | |
| 234 }, | |
| 235 { | |
| 236 "id": 34, | |
| 237 "cr_bugs": [179250, 229643, 230896], | |
| 238 "description": "Share groups are not working on (older?) Vivante drivers", | |
| 239 "os": { | |
| 240 "type": "android" | |
| 241 }, | |
| 242 "gl_extensions": ".*GL_VIV_shader_binary.*", | |
| 243 "features": [ | |
| 244 "use_virtualized_gl_contexts" | |
| 245 ] | |
| 246 }, | |
| 247 { | |
| 248 "id": 35, | |
| 249 "cr_bugs": [163464], | |
| 250 "description": "Share-group related crashes on older NVIDIA drivers", | |
| 251 "os": { | |
| 252 "type": "android", | |
| 253 "version": { | |
| 254 "op": "<", | |
| 255 "value": "4.3" | |
| 256 } | |
| 257 }, | |
| 258 "gl_vendor": "NVIDIA.*", | |
| 259 "features": [ | |
| 260 "use_virtualized_gl_contexts" | |
| 261 ] | |
| 262 }, | |
| 263 { | |
| 264 "id": 36, | |
| 265 "cr_bugs": [163464, 233612], | |
| 266 "description": "Share-group related crashes on Qualcomm drivers", | |
| 267 "os": { | |
| 268 "type": "android", | |
| 269 "version": { | |
| 270 "op": "<", | |
| 271 "value": "4.3" | |
| 272 } | |
| 273 }, | |
| 274 "gl_vendor": "Qualcomm.*", | |
| 275 "features": [ | |
| 276 "use_virtualized_gl_contexts" | |
| 277 ] | |
| 278 }, | |
| 279 { | |
| 280 "id": 37, | |
| 281 "cr_bugs": [286468], | |
| 282 "description": "Program link fails in NVIDIA Linux if gl_Position is not s
et", | |
| 283 "os": { | |
| 284 "type": "linux" | |
| 285 }, | |
| 286 "vendor_id": "0x10de", | |
| 287 "gl_vendor": "NVIDIA.*", | |
| 288 "features": [ | |
| 289 "init_gl_position_in_vertex_shader" | |
| 290 ] | |
| 291 }, | |
| 292 { | |
| 293 "id": 38, | |
| 294 "cr_bugs": [289461], | |
| 295 "description": "Non-virtual contexts on Qualcomm sometimes cause out-of-or
der frames", | |
| 296 "os": { | |
| 297 "type": "android" | |
| 298 }, | |
| 299 "gl_vendor": "Qualcomm.*", | |
| 300 "features": [ | |
| 301 "use_virtualized_gl_contexts" | |
| 302 ] | |
| 303 }, | |
| 304 { | |
| 305 "id": 39, | |
| 306 "cr_bugs": [290391], | |
| 307 "description": "Multisampled renderbuffer allocation must be validated on
some Macs", | |
| 308 "os": { | |
| 309 "type": "macosx", | |
| 310 "version": { | |
| 311 "op": "<", | |
| 312 "value": "10.10" | |
| 313 } | |
| 314 }, | |
| 315 "features": [ | |
| 316 "validate_multisample_buffer_allocation" | |
| 317 ] | |
| 318 }, | |
| 319 { | |
| 320 "id": 40, | |
| 321 "cr_bugs": [290876], | |
| 322 "description": "Framebuffer discarding causes flickering on old ARM driver
s", | |
| 323 "os": { | |
| 324 "type": "android", | |
| 325 "version": { | |
| 326 "op": "<", | |
| 327 "value": "4.4" | |
| 328 } | |
| 329 }, | |
| 330 "gl_vendor": "ARM.*", | |
| 331 "features": [ | |
| 332 "disable_discard_framebuffer" | |
| 333 ] | |
| 334 }, | |
| 335 { | |
| 336 "id": 42, | |
| 337 "cr_bugs": [290876, 488463], | |
| 338 "description": "Framebuffer discarding causes flickering on older IMG driv
ers", | |
| 339 "os": { | |
| 340 "type": "android" | |
| 341 }, | |
| 342 "gl_vendor": "Imagination.*", | |
| 343 "gl_renderer": "PowerVR SGX 5.*", | |
| 344 "features": [ | |
| 345 "disable_discard_framebuffer" | |
| 346 ] | |
| 347 }, | |
| 348 { | |
| 349 "id": 43, | |
| 350 "cr_bugs": [299494], | |
| 351 "description": "Framebuffer discarding doesn't accept trivial attachments
on Vivante", | |
| 352 "os": { | |
| 353 "type": "android" | |
| 354 }, | |
| 355 "gl_extensions": ".*GL_VIV_shader_binary.*", | |
| 356 "features": [ | |
| 357 "disable_discard_framebuffer" | |
| 358 ] | |
| 359 }, | |
| 360 { | |
| 361 "id": 44, | |
| 362 "cr_bugs": [301988], | |
| 363 "description": "Framebuffer discarding causes jumpy scrolling on Mali driv
ers", | |
| 364 "os": { | |
| 365 "type": "chromeos" | |
| 366 }, | |
| 367 "features": [ | |
| 368 "disable_discard_framebuffer" | |
| 369 ] | |
| 370 }, | |
| 371 { | |
| 372 "id": 45, | |
| 373 "cr_bugs": [307751], | |
| 374 "description": "Unfold short circuit on Mac OS X", | |
| 375 "os": { | |
| 376 "type": "macosx" | |
| 377 }, | |
| 378 "features": [ | |
| 379 "unfold_short_circuit_as_ternary_operation" | |
| 380 ] | |
| 381 }, | |
| 382 { | |
| 383 "id": 48, | |
| 384 "description": "Force to use discrete GPU on older MacBookPro models", | |
| 385 "cr_bugs": [113703], | |
| 386 "os": { | |
| 387 "type": "macosx" | |
| 388 }, | |
| 389 "machine_model_name": ["MacBookPro"], | |
| 390 "machine_model_version": { | |
| 391 "op": "<", | |
| 392 "value": "8" | |
| 393 }, | |
| 394 "gpu_count": { | |
| 395 "op": "=", | |
| 396 "value": "2" | |
| 397 }, | |
| 398 "features": [ | |
| 399 "force_discrete_gpu" | |
| 400 ] | |
| 401 }, | |
| 402 { | |
| 403 "id": 49, | |
| 404 "cr_bugs": [309734], | |
| 405 "description": "The first draw operation from an idle state is slow", | |
| 406 "os": { | |
| 407 "type": "android" | |
| 408 }, | |
| 409 "gl_vendor": "Qualcomm.*", | |
| 410 "features": [ | |
| 411 "wake_up_gpu_before_drawing" | |
| 412 ] | |
| 413 }, | |
| 414 { | |
| 415 "id": 51, | |
| 416 "description": "TexSubImage is faster for full uploads on ANGLE", | |
| 417 "os": { | |
| 418 "type": "win" | |
| 419 }, | |
| 420 "gl_renderer": "ANGLE.*", | |
| 421 "features": [ | |
| 422 "texsubimage_faster_than_teximage" | |
| 423 ] | |
| 424 }, | |
| 425 { | |
| 426 "id": 52, | |
| 427 "cr_bugs": [449116, 471200, 612474, 682075], | |
| 428 "description": "ES3 MSAA is broken on Qualcomm", | |
| 429 "os": { | |
| 430 "type": "android", | |
| 431 "version": { | |
| 432 "op": "<", | |
| 433 "value": "6.0" | |
| 434 } | |
| 435 }, | |
| 436 "gl_vendor": "Qualcomm.*", | |
| 437 "features": [ | |
| 438 "disable_chromium_framebuffer_multisample" | |
| 439 ] | |
| 440 }, | |
| 441 { | |
| 442 "id": 54, | |
| 443 "cr_bugs": [124764, 349137], | |
| 444 "description": "Clear uniforms before first program use on all platforms", | |
| 445 "exceptions": [ | |
| 446 { | |
| 447 "os": { | |
| 448 "type": "macosx" | |
| 449 } | |
| 450 } | |
| 451 ], | |
| 452 "features": [ | |
| 453 "clear_uniforms_before_first_program_use" | |
| 454 ] | |
| 455 }, | |
| 456 { | |
| 457 "id": 55, | |
| 458 "cr_bugs": [333885], | |
| 459 "description": "Mesa drivers in Linux handle varyings without static use i
ncorrectly", | |
| 460 "os": { | |
| 461 "type": "linux" | |
| 462 }, | |
| 463 "driver_vendor": "Mesa", | |
| 464 "features": [ | |
| 465 "count_all_in_varyings_packing" | |
| 466 ] | |
| 467 }, | |
| 468 { | |
| 469 "id": 56, | |
| 470 "cr_bugs": [333885], | |
| 471 "description": "Mesa drivers in ChromeOS handle varyings without static us
e incorrectly", | |
| 472 "os": { | |
| 473 "type": "chromeos" | |
| 474 }, | |
| 475 "driver_vendor": "Mesa", | |
| 476 "features": [ | |
| 477 "count_all_in_varyings_packing" | |
| 478 ] | |
| 479 }, | |
| 480 { | |
| 481 "id": 59, | |
| 482 "description": "Multisampling is buggy in Intel IvyBridge", | |
| 483 "cr_bugs": [116370], | |
| 484 "os": { | |
| 485 "type": "linux" | |
| 486 }, | |
| 487 "vendor_id": "0x8086", | |
| 488 "device_id": ["0x0152", "0x0156", "0x015a", "0x0162", "0x0166"], | |
| 489 "features": [ | |
| 490 "disable_chromium_framebuffer_multisample" | |
| 491 ] | |
| 492 }, | |
| 493 { | |
| 494 "id": 64, | |
| 495 "description": "Linux AMD drivers incorrectly return initial value of 1 fo
r TEXTURE_MAX_ANISOTROPY", | |
| 496 "cr_bugs": [348237], | |
| 497 "os": { | |
| 498 "type": "linux" | |
| 499 }, | |
| 500 "vendor_id": "0x1002", | |
| 501 "features": [ | |
| 502 "init_texture_max_anisotropy" | |
| 503 ] | |
| 504 }, | |
| 505 { | |
| 506 "id": 65, | |
| 507 "description": "Linux NVIDIA drivers don't have the correct defaults for v
ertex attributes", | |
| 508 "cr_bugs": [351528], | |
| 509 "os": { | |
| 510 "type": "linux" | |
| 511 }, | |
| 512 "vendor_id": "0x10de", | |
| 513 "gl_vendor": "NVIDIA.*", | |
| 514 "features": [ | |
| 515 "init_vertex_attributes" | |
| 516 ] | |
| 517 }, | |
| 518 { | |
| 519 "id": 68, | |
| 520 "description": "Disable partial swaps on Mesa drivers (detected with GL_RE
NDERER)", | |
| 521 "cr_bugs": [339493], | |
| 522 "os": { | |
| 523 "type": "linux" | |
| 524 }, | |
| 525 "gl_type": "gl", | |
| 526 "gl_renderer": ".*Mesa.*", | |
| 527 "features": [ | |
| 528 "disable_post_sub_buffers_for_onscreen_surfaces" | |
| 529 ] | |
| 530 }, | |
| 531 { | |
| 532 "id": 69, | |
| 533 "description": "Some shaders in Skia need more than the min available vert
ex and fragment shader uniform vectors in case of OSMesa", | |
| 534 "cr_bugs": [174845], | |
| 535 "driver_vendor": "osmesa", | |
| 536 "features": [ | |
| 537 "max_fragment_uniform_vectors_32", | |
| 538 "max_varying_vectors_16", | |
| 539 "max_vertex_uniform_vectors_256" | |
| 540 ] | |
| 541 }, | |
| 542 { | |
| 543 "id": 70, | |
| 544 "description": "Disable D3D11 on older nVidia drivers", | |
| 545 "cr_bugs": [349929], | |
| 546 "os": { | |
| 547 "type": "win" | |
| 548 }, | |
| 549 "vendor_id": "0x10de", | |
| 550 "driver_version": { | |
| 551 "op": "<=", | |
| 552 "value": "8.17.12.6973" | |
| 553 }, | |
| 554 "features": [ | |
| 555 "disable_d3d11" | |
| 556 ] | |
| 557 }, | |
| 558 { | |
| 559 "id": 71, | |
| 560 "description": "Vivante's support of OES_standard_derivatives is buggy", | |
| 561 "cr_bugs": [368005], | |
| 562 "os": { | |
| 563 "type": "android" | |
| 564 }, | |
| 565 "gl_extensions": ".*GL_VIV_shader_binary.*", | |
| 566 "disabled_extensions": [ | |
| 567 "GL_OES_standard_derivatives" | |
| 568 ] | |
| 569 }, | |
| 570 { | |
| 571 "id": 72, | |
| 572 "description": "Use virtual contexts on NVIDIA with GLES 3.1", | |
| 573 "cr_bugs": [369316], | |
| 574 "os": { | |
| 575 "type": "android" | |
| 576 }, | |
| 577 "gl_type": "gles", | |
| 578 "gl_version": { | |
| 579 "op": "=", | |
| 580 "value": "3.1" | |
| 581 }, | |
| 582 "gl_vendor": "NVIDIA.*", | |
| 583 "features": [ | |
| 584 "use_virtualized_gl_contexts" | |
| 585 ] | |
| 586 }, | |
| 587 ) // LONG_STRING_CONST macro | |
| 588 // Avoid C2026 (string too big) error on VisualStudio. | |
| 589 LONG_STRING_CONST( | |
| 590 { | |
| 591 "id": 74, | |
| 592 "cr_bugs": [278606, 382686], | |
| 593 "description": "Testing EGL sync fences was broken on most Qualcomm driver
s", | |
| 594 "os": { | |
| 595 "type": "android", | |
| 596 "version": { | |
| 597 "op": "<=", | |
| 598 "value": "4.4.4" | |
| 599 } | |
| 600 }, | |
| 601 "gl_vendor": "Qualcomm.*", | |
| 602 "disabled_extensions": [ | |
| 603 "EGL_KHR_fence_sync" | |
| 604 ] | |
| 605 }, | |
| 606 { | |
| 607 "id": 75, | |
| 608 "description": "Mali-4xx support of EXT_multisampled_render_to_texture is
buggy on Android < 4.3", | |
| 609 "cr_bugs": [362435], | |
| 610 "os": { | |
| 611 "type": "android", | |
| 612 "version": { | |
| 613 "op": "<", | |
| 614 "value": "4.3" | |
| 615 } | |
| 616 }, | |
| 617 "gl_vendor": "ARM.*", | |
| 618 "gl_renderer": ".*Mali-4.*", | |
| 619 "disabled_extensions": [ | |
| 620 "GL_EXT_multisampled_render_to_texture" | |
| 621 ] | |
| 622 }, | |
| 623 { | |
| 624 "id": 76, | |
| 625 "cr_bugs": [371530], | |
| 626 "description": "Testing EGL sync fences was broken on IMG", | |
| 627 "os": { | |
| 628 "type": "android", | |
| 629 "version": { | |
| 630 "op": "<=", | |
| 631 "value": "4.4.4" | |
| 632 } | |
| 633 }, | |
| 634 "gl_vendor": "Imagination Technologies.*", | |
| 635 "disabled_extensions": [ | |
| 636 "EGL_KHR_fence_sync" | |
| 637 ] | |
| 638 }, | |
| 639 { | |
| 640 "id": 77, | |
| 641 "cr_bugs": [378691, 373360, 371530, 398964], | |
| 642 "description": "Testing fences was broken on Mali ES2 drivers", | |
| 643 "os": { | |
| 644 "type": "android", | |
| 645 "version": { | |
| 646 "op": "<=", | |
| 647 "value": "4.4.4" | |
| 648 } | |
| 649 }, | |
| 650 "gl_vendor": "ARM.*", | |
| 651 "gl_renderer": "Mali.*", | |
| 652 "gl_type": "gles", | |
| 653 "gl_version": { | |
| 654 "op": "<", | |
| 655 "value": "3.0" | |
| 656 }, | |
| 657 "disabled_extensions": [ | |
| 658 "EGL_KHR_fence_sync" | |
| 659 ] | |
| 660 }, | |
| 661 { | |
| 662 "id": 78, | |
| 663 "cr_bugs": [378691, 373360, 371530], | |
| 664 "description": "Testing fences was broken on Broadcom drivers", | |
| 665 "os": { | |
| 666 "type": "android", | |
| 667 "version": { | |
| 668 "op": "<=", | |
| 669 "value": "4.4.4" | |
| 670 } | |
| 671 }, | |
| 672 "gl_vendor": "Broadcom.*", | |
| 673 "disabled_extensions": [ | |
| 674 "EGL_KHR_fence_sync" | |
| 675 ] | |
| 676 }, | |
| 677 { | |
| 678 "id": 82, | |
| 679 "description": "PBO mappings segfault on certain older Qualcomm drivers", | |
| 680 "cr_bugs": [394510], | |
| 681 "os": { | |
| 682 "type": "android", | |
| 683 "version": { | |
| 684 "op": "<", | |
| 685 "value": "4.3" | |
| 686 } | |
| 687 }, | |
| 688 "gl_vendor": "Qualcomm.*", | |
| 689 "features": [ | |
| 690 "disable_async_readpixels" | |
| 691 ] | |
| 692 }, | |
| 693 { | |
| 694 "id": 86, | |
| 695 "description": "Disable use of Direct3D 11 on Matrox video cards", | |
| 696 "cr_bugs": [395861], | |
| 697 "os": { | |
| 698 "type": "win" | |
| 699 }, | |
| 700 "vendor_id": "0x102b", | |
| 701 "features": [ | |
| 702 "disable_d3d11" | |
| 703 ] | |
| 704 }, | |
| 705 { | |
| 706 "id": 87, | |
| 707 "description": "Disable use of Direct3D 11 on older AMD drivers", | |
| 708 "cr_bugs": [402134], | |
| 709 "os": { | |
| 710 "type": "win" | |
| 711 }, | |
| 712 "vendor_id": "0x1002", | |
| 713 "driver_date": { | |
| 714 "op": "<", | |
| 715 "value": "2011.1" | |
| 716 }, | |
| 717 "features": [ | |
| 718 "disable_d3d11" | |
| 719 ] | |
| 720 }, | |
| 721 { | |
| 722 "id": 88, | |
| 723 "description": "Always rewrite vec/mat constructors to be consistent", | |
| 724 "cr_bugs": [398694], | |
| 725 "features": [ | |
| 726 "scalarize_vec_and_mat_constructor_args" | |
| 727 ] | |
| 728 }, | |
| 729 { | |
| 730 "id": 89, | |
| 731 "description": "Mac drivers handle struct scopes incorrectly", | |
| 732 "cr_bugs": [403957], | |
| 733 "os": { | |
| 734 "type": "macosx" | |
| 735 }, | |
| 736 "features": [ | |
| 737 "regenerate_struct_names" | |
| 738 ] | |
| 739 }, | |
| 740 { | |
| 741 "id": 90, | |
| 742 "description": "Linux AMD drivers handle struct scopes incorrectly", | |
| 743 "cr_bugs": [403957], | |
| 744 "os": { | |
| 745 "type": "linux" | |
| 746 }, | |
| 747 "vendor_id": "0x1002", | |
| 748 "features": [ | |
| 749 "regenerate_struct_names" | |
| 750 ] | |
| 751 }, | |
| 752 { | |
| 753 "id": 91, | |
| 754 "cr_bugs": [150500, 414816], | |
| 755 "description": "ETC1 non-power-of-two sized textures crash older IMG drive
rs", | |
| 756 "os": { | |
| 757 "type": "android" | |
| 758 }, | |
| 759 "gl_vendor": "Imagination.*", | |
| 760 "gl_renderer": "PowerVR SGX 5.*", | |
| 761 "features": [ | |
| 762 "etc1_power_of_two_only" | |
| 763 ] | |
| 764 }, | |
| 765 { | |
| 766 "id": 92, | |
| 767 "description": "Old Intel drivers cannot reliably support D3D11", | |
| 768 "cr_bugs": [363721], | |
| 769 "os": { | |
| 770 "type": "win" | |
| 771 }, | |
| 772 "vendor_id": "0x8086", | |
| 773 "driver_version": { | |
| 774 "op": "<", | |
| 775 "value": "8.16" | |
| 776 }, | |
| 777 "features": [ | |
| 778 "disable_d3d11" | |
| 779 ] | |
| 780 }, | |
| 781 { | |
| 782 "id": 93, | |
| 783 "description": "The GL implementation on the Android emulator has problems
with PBOs.", | |
| 784 "cr_bugs": [340882], | |
| 785 "os": { | |
| 786 "type": "android" | |
| 787 }, | |
| 788 "gl_vendor": "VMware.*", | |
| 789 "gl_renderer": "Gallium.*", | |
| 790 "gl_type": "gles", | |
| 791 "gl_version": { | |
| 792 "op": "=", | |
| 793 "value": "3.0" | |
| 794 }, | |
| 795 "features": [ | |
| 796 "disable_async_readpixels" | |
| 797 ] | |
| 798 }, | |
| 799 { | |
| 800 "id": 94, | |
| 801 "description": "Disable EGL_KHR_wait_sync on NVIDIA with GLES 3.1", | |
| 802 "cr_bugs": [433057], | |
| 803 "os": { | |
| 804 "type": "android", | |
| 805 "version": { | |
| 806 "op": "<=", | |
| 807 "value": "5.0.2" | |
| 808 } | |
| 809 }, | |
| 810 "gl_vendor": "NVIDIA.*", | |
| 811 "gl_type": "gles", | |
| 812 "gl_version": { | |
| 813 "op": "=", | |
| 814 "value": "3.1" | |
| 815 }, | |
| 816 "disabled_extensions": [ | |
| 817 "EGL_KHR_wait_sync" | |
| 818 ] | |
| 819 }, | |
| 820 { | |
| 821 "id": 95, | |
| 822 "cr_bugs": [421271], | |
| 823 "description": "glClear does not always work on these drivers", | |
| 824 "os": { | |
| 825 "type": "android" | |
| 826 }, | |
| 827 "gl_type": "gles", | |
| 828 "gl_version": { | |
| 829 "op": "<", | |
| 830 "value": "3.0" | |
| 831 }, | |
| 832 "gl_vendor": "Imagination.*", | |
| 833 "features": [ | |
| 834 "gl_clear_broken" | |
| 835 ] | |
| 836 }, | |
| 837 { | |
| 838 "id": 97, | |
| 839 "description": "Multisampling has poor performance in Intel BayTrail", | |
| 840 "cr_bugs": [443517], | |
| 841 "os": { | |
| 842 "type": "android" | |
| 843 }, | |
| 844 "gl_vendor": "Intel", | |
| 845 "gl_renderer": "Intel.*BayTrail", | |
| 846 "features": [ | |
| 847 "disable_chromium_framebuffer_multisample" | |
| 848 ] | |
| 849 }, | |
| 850 { | |
| 851 "id": 98, | |
| 852 "description": "PowerVR SGX 540 drivers throw GL_OUT_OF_MEMORY error when
a buffer object's size is set to 0", | |
| 853 "cr_bugs": [451501], | |
| 854 "os": { | |
| 855 "type": "android" | |
| 856 }, | |
| 857 "gl_vendor": "Imagination.*", | |
| 858 "gl_renderer": "PowerVR SGX 540", | |
| 859 "features": [ | |
| 860 "use_non_zero_size_for_client_side_stream_buffers" | |
| 861 ] | |
| 862 }, | |
| 863 { | |
| 864 "id": 99, | |
| 865 "description": "Qualcomm driver before Lollipop deletes egl sync objects a
fter context destruction", | |
| 866 "cr_bugs": [453857], | |
| 867 "os": { | |
| 868 "type": "android", | |
| 869 "version": { | |
| 870 "op": "<", | |
| 871 "value": "5.0.0" | |
| 872 } | |
| 873 }, | |
| 874 "gl_vendor": "Qualcomm.*", | |
| 875 "features": [ | |
| 876 "ignore_egl_sync_failures" | |
| 877 ] | |
| 878 }, | |
| 879 { | |
| 880 "id": 100, | |
| 881 "description": "Disable Direct3D11 on systems with AMD switchable graphics
", | |
| 882 "cr_bugs": [451420], | |
| 883 "os": { | |
| 884 "type": "win" | |
| 885 }, | |
| 886 "multi_gpu_style": "amd_switchable", | |
| 887 "features": [ | |
| 888 "disable_d3d11" | |
| 889 ] | |
| 890 }, | |
| 891 { | |
| 892 "id": 101, | |
| 893 "description": "The Mali-Txxx driver hangs when reading from currently dis
played buffer", | |
| 894 "cr_bugs": [457511], | |
| 895 "os": { | |
| 896 "type": "chromeos" | |
| 897 }, | |
| 898 "gl_vendor": "ARM.*", | |
| 899 "gl_renderer": "Mali-T.*", | |
| 900 "features": [ | |
| 901 "disable_post_sub_buffers_for_onscreen_surfaces" | |
| 902 ] | |
| 903 }, | |
| 904 { | |
| 905 "id": 102, | |
| 906 "description": "Adreno 420 driver loses FBO attachment contents on bound F
BO deletion", | |
| 907 "cr_bugs": [457027], | |
| 908 "os": { | |
| 909 "type": "android", | |
| 910 "version": { | |
| 911 "op": ">", | |
| 912 "value": "5.0.2" | |
| 913 } | |
| 914 }, | |
| 915 "gl_renderer": "Adreno \\(TM\\) 4.*", | |
| 916 "features": [ | |
| 917 "unbind_attachments_on_bound_render_fbo_delete" | |
| 918 ] | |
| 919 }, | |
| 920 { | |
| 921 "id": 103, | |
| 922 "description": "Adreno 420 driver drops draw calls after FBO invalidation"
, | |
| 923 "cr_bugs": [443060], | |
| 924 "os": { | |
| 925 "type": "android" | |
| 926 }, | |
| 927 "gl_renderer": "Adreno \\(TM\\) 4.*", | |
| 928 "features": [ | |
| 929 "disable_discard_framebuffer" | |
| 930 ] | |
| 931 }, | |
| 932 { | |
| 933 "id": 104, | |
| 934 "description": "EXT_occlusion_query_boolean hangs on MediaTek MT8135 pre-L
ollipop", | |
| 935 "os": { | |
| 936 "type": "android", | |
| 937 "version": { | |
| 938 "op": "<", | |
| 939 "value": "5.0.0" | |
| 940 } | |
| 941 }, | |
| 942 "gl_vendor": "Imagination.*", | |
| 943 "gl_renderer": "PowerVR Rogue Han", | |
| 944 "disabled_extensions": [ | |
| 945 "GL_EXT_occlusion_query_boolean" | |
| 946 ] | |
| 947 }, | |
| 948 { | |
| 949 "id": 105, | |
| 950 "cr_bugs": [449488,451230], | |
| 951 "description": "Framebuffer discarding causes corruption on Mali-4xx", | |
| 952 "gl_renderer": "Mali-4.*", | |
| 953 "os": { | |
| 954 "type": "android" | |
| 955 }, | |
| 956 "features": [ | |
| 957 "disable_discard_framebuffer" | |
| 958 ] | |
| 959 }, | |
| 960 { | |
| 961 "id": 106, | |
| 962 "description": "EXT_occlusion_query_boolean hangs on PowerVR SGX 544 (IMG)
drivers", | |
| 963 "os": { | |
| 964 "type": "android" | |
| 965 }, | |
| 966 "gl_vendor": "Imagination.*", | |
| 967 "gl_renderer": "PowerVR SGX 544", | |
| 968 "disabled_extensions": [ | |
| 969 "GL_EXT_occlusion_query_boolean" | |
| 970 ] | |
| 971 }, | |
| 972 { | |
| 973 "id": 107, | |
| 974 "description": "Workaround IMG PowerVR G6xxx drivers bugs", | |
| 975 "cr_bugs": [480992], | |
| 976 "os": { | |
| 977 "type": "android", | |
| 978 "version": { | |
| 979 "op": "between", | |
| 980 "value": "5.0.0", | |
| 981 "value2": "5.1.99" | |
| 982 } | |
| 983 }, | |
| 984 "gl_vendor": "Imagination.*", | |
| 985 "gl_renderer": "PowerVR Rogue.*", | |
| 986 "driver_version": { | |
| 987 "op": "between", | |
| 988 "value": "1.3", | |
| 989 "value2": "1.4" | |
| 990 }, | |
| 991 "features": [ | |
| 992 "avoid_egl_image_target_texture_reuse" | |
| 993 ], | |
| 994 "disabled_extensions": [ | |
| 995 "EGL_KHR_wait_sync" | |
| 996 ] | |
| 997 }, | |
| 998 { | |
| 999 "id": 108, | |
| 1000 "cr_bugs": [449150], | |
| 1001 "description": "Mali-4xx does not support GL_RGB format", | |
| 1002 "gl_vendor": "ARM.*", | |
| 1003 "gl_renderer": ".*Mali-4.*", | |
| 1004 "features": [ | |
| 1005 "disable_gl_rgb_format" | |
| 1006 ] | |
| 1007 }, | |
| 1008 { | |
| 1009 "id": 109, | |
| 1010 "cr_bugs": [449150, 514510], | |
| 1011 "description": "MakeCurrent is slow on Linux with NVIDIA drivers", | |
| 1012 "vendor_id": "0x10de", | |
| 1013 "os": { | |
| 1014 "type": "linux" | |
| 1015 }, | |
| 1016 "gl_vendor": "NVIDIA.*", | |
| 1017 "features": [ | |
| 1018 "use_virtualized_gl_contexts" | |
| 1019 ] | |
| 1020 }, | |
| 1021 { | |
| 1022 "id": 110, | |
| 1023 "description": "EGL Sync server causes crashes on Adreno 2xx and 3xx drive
rs", | |
| 1024 "cr_bugs": [482298], | |
| 1025 "os": { | |
| 1026 "type": "android" | |
| 1027 }, | |
| 1028 "gl_vendor": "Qualcomm.*", | |
| 1029 "gl_renderer": "Adreno \\(TM\\) [23].*", | |
| 1030 "driver_version": { | |
| 1031 "op": "<", | |
| 1032 "value": "95" | |
| 1033 }, | |
| 1034 "disabled_extensions": [ | |
| 1035 "EGL_KHR_wait_sync" | |
| 1036 ] | |
| 1037 }, | |
| 1038 { | |
| 1039 "id": 111, | |
| 1040 "description": "Discard Framebuffer breaks WebGL on Mali-4xx Linux", | |
| 1041 "cr_bugs": [485814], | |
| 1042 "os": { | |
| 1043 "type": "linux" | |
| 1044 }, | |
| 1045 "gl_vendor": "ARM.*", | |
| 1046 "gl_renderer": ".*Mali-4.*", | |
| 1047 "features": [ | |
| 1048 "disable_discard_framebuffer" | |
| 1049 ] | |
| 1050 }, | |
| 1051 { | |
| 1052 "id": 112, | |
| 1053 "cr_bugs": [477514], | |
| 1054 "description": "EXT_disjoint_timer_query fails after 2 queries on adreno 3
xx in lollypop", | |
| 1055 "os": { | |
| 1056 "type": "android", | |
| 1057 "version": { | |
| 1058 "op": ">=", | |
| 1059 "value": "5.0.0" | |
| 1060 } | |
| 1061 }, | |
| 1062 "gl_vendor": "Qualcomm.*", | |
| 1063 "gl_renderer": "Adreno \\(TM\\) 3.*", | |
| 1064 "features": [ | |
| 1065 "disable_timestamp_queries" | |
| 1066 ] | |
| 1067 }, | |
| 1068 { | |
| 1069 "id": 113, | |
| 1070 "cr_bugs": [477514], | |
| 1071 "description": "EXT_disjoint_timer_query fails after 256 queries on adreno
4xx", | |
| 1072 "os": { | |
| 1073 "type": "android" | |
| 1074 }, | |
| 1075 "gl_renderer": "Adreno \\(TM\\) 4.*", | |
| 1076 "disabled_extensions": [ | |
| 1077 "GL_EXT_disjoint_timer_query" | |
| 1078 ] | |
| 1079 }, | |
| 1080 { | |
| 1081 "id": 115, | |
| 1082 "cr_bugs": [462553], | |
| 1083 "description": "glGetIntegerv with GL_GPU_DISJOINT_EXT causes GL_INVALID_E
NUM error", | |
| 1084 "os": { | |
| 1085 "type": "android" | |
| 1086 }, | |
| 1087 "gl_vendor": "NVIDIA.*", | |
| 1088 "gl_type": "gles", | |
| 1089 "gl_version": { | |
| 1090 "op": ">=", | |
| 1091 "value": "3.0" | |
| 1092 }, | |
| 1093 "disabled_extensions": [ | |
| 1094 "GL_EXT_disjoint_timer_query" | |
| 1095 ] | |
| 1096 }, | |
| 1097 { | |
| 1098 "id": 116, | |
| 1099 "description": "Adreno 420 support for EXT_multisampled_render_to_texture
is buggy on Android < 5.1", | |
| 1100 "cr_bugs": [490379], | |
| 1101 "os": { | |
| 1102 "type": "android", | |
| 1103 "version": { | |
| 1104 "op": "<", | |
| 1105 "value": "5.1" | |
| 1106 } | |
| 1107 }, | |
| 1108 "gl_renderer": "Adreno \\(TM\\) 4.*", | |
| 1109 "disabled_extensions": [ | |
| 1110 "GL_EXT_multisampled_render_to_texture" | |
| 1111 ] | |
| 1112 }, | |
| 1113 { | |
| 1114 "id": 117, | |
| 1115 "description": "GL_KHR_blend_equation_advanced breaks blending on Adreno 4
xx", | |
| 1116 "cr_bugs": [488485], | |
| 1117 "os": { | |
| 1118 "type": "android" | |
| 1119 }, | |
| 1120 "gl_vendor": "Qualcomm.*", | |
| 1121 "gl_renderer": ".*4\\d\\d", | |
| 1122 "features": [ | |
| 1123 "disable_blend_equation_advanced" | |
| 1124 ] | |
| 1125 }, | |
| 1126 { | |
| 1127 "id": 118, | |
| 1128 "cr_bugs": [477306], | |
| 1129 "description": "NVIDIA 331 series drivers shader compiler may crash when a
ttempting to optimize pow()", | |
| 1130 "os": { | |
| 1131 "type": "linux" | |
| 1132 }, | |
| 1133 "driver_version": { | |
| 1134 "op": "<=", | |
| 1135 "value": "331" | |
| 1136 }, | |
| 1137 "vendor_id": "0x10de", | |
| 1138 "gl_vendor": "NVIDIA.*", | |
| 1139 "features": [ | |
| 1140 "remove_pow_with_constant_exponent" | |
| 1141 ] | |
| 1142 }, | |
| 1143 { | |
| 1144 "id": 119, | |
| 1145 "description": "Context lost recovery often fails on Mali-400/450 on Andro
id.", | |
| 1146 "cr_bugs": [496438], | |
| 1147 "os": { | |
| 1148 "type": "android" | |
| 1149 }, | |
| 1150 "gl_vendor": "ARM.*", | |
| 1151 "gl_renderer": ".*Mali-4.*", | |
| 1152 "features": [ | |
| 1153 "exit_on_context_lost" | |
| 1154 ] | |
| 1155 }, | |
| 1156 { | |
| 1157 "id": 120, | |
| 1158 "description": "CHROMIUM_copy_texture is slow on Mali pre-Lollipop", | |
| 1159 "cr_bugs": [498443], | |
| 1160 "os": { | |
| 1161 "type": "android", | |
| 1162 "version": { | |
| 1163 "op": "<", | |
| 1164 "value": "5.0.0" | |
| 1165 } | |
| 1166 }, | |
| 1167 "gl_vendor": "ARM.*", | |
| 1168 "gl_renderer": "Mali.*", | |
| 1169 "features": [ | |
| 1170 "max_copy_texture_chromium_size_262144" | |
| 1171 ] | |
| 1172 }, | |
| 1173 { | |
| 1174 "id": 123, | |
| 1175 "cr_bugs": [344330], | |
| 1176 "description": "NVIDIA drivers before 346 lack features in NV_path_renderi
ng and related extensions to implement driver level path rendering.", | |
| 1177 "vendor_id": "0x10de", | |
| 1178 "os": { | |
| 1179 "type": "linux" | |
| 1180 }, | |
| 1181 "driver_version": { | |
| 1182 "op": "<", | |
| 1183 "value": "346" | |
| 1184 }, | |
| 1185 "disabled_extensions": ["GL_NV_path_rendering"] | |
| 1186 }, | |
| 1187 { | |
| 1188 "id": 125, | |
| 1189 "description": "glFinish doesn't clear caches on Android", | |
| 1190 "cr_bugs": [509727], | |
| 1191 "os": { | |
| 1192 "type": "android" | |
| 1193 }, | |
| 1194 "gl_renderer": "Adreno.*", | |
| 1195 "features": [ | |
| 1196 "unbind_egl_context_to_flush_driver_caches" | |
| 1197 ] | |
| 1198 }, | |
| 1199 { | |
| 1200 "id": 126, | |
| 1201 "description": "Program binaries contain incorrect bound attribute locatio
ns on Adreno 3xx GPUs", | |
| 1202 "cr_bugs": [510637], | |
| 1203 "os": { | |
| 1204 "type": "android" | |
| 1205 }, | |
| 1206 "gl_renderer": "Adreno \\(TM\\) 3.*", | |
| 1207 "features": [ | |
| 1208 "disable_program_cache" | |
| 1209 ] | |
| 1210 }, | |
| 1211 { | |
| 1212 "id": 127, | |
| 1213 "description": "Android Adreno crashes on binding incomplete cube map text
ure to FBO", | |
| 1214 "cr_bugs": [518889], | |
| 1215 "os": { | |
| 1216 "type": "android" | |
| 1217 }, | |
| 1218 "gl_renderer": "Adreno.*", | |
| 1219 "features": [ | |
| 1220 "force_cube_map_positive_x_allocation" | |
| 1221 ] | |
| 1222 }, | |
| 1223 { | |
| 1224 "id": 128, | |
| 1225 "description": "Linux ATI drivers crash on binding incomplete cube map tex
ture to FBO", | |
| 1226 "cr_bugs": [518889], | |
| 1227 "os": { | |
| 1228 "type": "linux" | |
| 1229 }, | |
| 1230 "vendor_id": "0x1002", | |
| 1231 "features": [ | |
| 1232 "force_cube_map_positive_x_allocation" | |
| 1233 ] | |
| 1234 }, | |
| 1235 { | |
| 1236 "id": 129, | |
| 1237 // TODO(dshwang): Fix ANGLE crash. crbug.com/518889 | |
| 1238 "description": "ANGLE crash on glReadPixels from incomplete cube map textu
re", | |
| 1239 "cr_bugs": [518889], | |
| 1240 "os": { | |
| 1241 "type": "win" | |
| 1242 }, | |
| 1243 "gl_renderer": "ANGLE.*", | |
| 1244 "features": [ | |
| 1245 "force_cube_complete" | |
| 1246 ] | |
| 1247 }, | |
| 1248 { | |
| 1249 "id": 130, | |
| 1250 "description": "NVIDIA fails glReadPixels from incomplete cube map texture
", | |
| 1251 "cr_bugs": [518889], | |
| 1252 "vendor_id": "0x10de", | |
| 1253 "os": { | |
| 1254 "type": "linux" | |
| 1255 }, | |
| 1256 "gl_vendor": "NVIDIA.*", | |
| 1257 "features": [ | |
| 1258 "force_cube_complete" | |
| 1259 ] | |
| 1260 }, | |
| 1261 { | |
| 1262 "id": 131, | |
| 1263 "description": "Linux Mesa drivers crash on glTexSubImage2D() to texture s
torage bound to FBO", | |
| 1264 "cr_bugs": [521904], | |
| 1265 "os": { | |
| 1266 "type": "linux" | |
| 1267 }, | |
| 1268 "driver_vendor": "Mesa", | |
| 1269 "driver_version": { | |
| 1270 "op": "<", | |
| 1271 "value": "10.6" | |
| 1272 }, | |
| 1273 "features": [ | |
| 1274 "disable_texture_storage" | |
| 1275 ] | |
| 1276 }, | |
| 1277 { | |
| 1278 "id": 132, | |
| 1279 "description": "On Intel GPUs MSAA performance is not acceptable for GPU r
asterization", | |
| 1280 "cr_bugs": [527565], | |
| 1281 "vendor_id": "0x8086", | |
| 1282 "multi_gpu_category": "active", | |
| 1283 "features": [ | |
| 1284 "msaa_is_slow" | |
| 1285 ] | |
| 1286 }, | |
| 1287 { | |
| 1288 "id": 133, | |
| 1289 "description": "CHROMIUM_copy_texture with 1MB copy per flush to avoid unw
anted cache growth on Adreno", | |
| 1290 "cr_bugs": [542478], | |
| 1291 "os": { | |
| 1292 "type": "android" | |
| 1293 }, | |
| 1294 "gl_renderer": "Adreno.*", | |
| 1295 "features": [ | |
| 1296 "max_copy_texture_chromium_size_1048576" | |
| 1297 ] | |
| 1298 }, | |
| 1299 { | |
| 1300 "id": 134, | |
| 1301 "description": "glReadPixels fails on FBOs with SRGB_ALPHA textures", | |
| 1302 "cr_bugs": [550292], | |
| 1303 "os": { | |
| 1304 "type": "android", | |
| 1305 "version": { | |
| 1306 "op": "<", | |
| 1307 "value": "5.0" | |
| 1308 } | |
| 1309 }, | |
| 1310 "gl_vendor": "Qualcomm.*", | |
| 1311 "disabled_extensions": ["GL_EXT_sRGB"] | |
| 1312 }, | |
| 1313 { | |
| 1314 "id": 135, | |
| 1315 "description": "Screen flickers on 2009 iMacs", | |
| 1316 "cr_bugs": [543324], | |
| 1317 "os": { | |
| 1318 "type": "macosx" | |
| 1319 }, | |
| 1320 "vendor_id": "0x1002", | |
| 1321 "device_id": ["0x9440", "0x944a", "0x9488", "0x9490"], | |
| 1322 "features": [ | |
| 1323 "disable_overlay_ca_layers", | |
| 1324 "disable_post_sub_buffers_for_onscreen_surfaces" | |
| 1325 ] | |
| 1326 }, | |
| 1327 { | |
| 1328 "id": 136, | |
| 1329 "description": "glGenerateMipmap fails if the zero texture level is not se
t on some Mac drivers", | |
| 1330 "cr_bugs": [560499], | |
| 1331 "os": { | |
| 1332 "type": "macosx" | |
| 1333 }, | |
| 1334 "features": [ | |
| 1335 "set_zero_level_before_generating_mipmap" | |
| 1336 ] | |
| 1337 }, | |
| 1338 { | |
| 1339 "id": 137, | |
| 1340 "description": "NVIDIA fails glReadPixels from incomplete cube map texture
", | |
| 1341 "cr_bugs": [518889], | |
| 1342 "os": { | |
| 1343 "type": "android" | |
| 1344 }, | |
| 1345 "gl_vendor": "NVIDIA.*", | |
| 1346 "features": [ | |
| 1347 "force_cube_complete" | |
| 1348 ] | |
| 1349 }, | |
| 1350 { | |
| 1351 "id": 138, | |
| 1352 "description": "NVIDIA drivers before 346 lack features in NV_path_renderi
ng and related extensions to implement driver level path rendering.", | |
| 1353 "cr_bugs": [344330], | |
| 1354 "os": { | |
| 1355 "type": "android" | |
| 1356 }, | |
| 1357 "gl_vendor": "NVIDIA.*", | |
| 1358 "driver_version": { | |
| 1359 "op": "<", | |
| 1360 "value": "346" | |
| 1361 }, | |
| 1362 "disabled_extensions": ["GL_NV_path_rendering"] | |
| 1363 }, | |
| 1364 { | |
| 1365 "id": 139, | |
| 1366 "description": "Mesa drivers wrongly report supporting GL_EXT_texture_rg w
ith GLES 2.0 prior version 11.1", | |
| 1367 "cr_bugs": [545904], | |
| 1368 "os": { | |
| 1369 "type": "linux" | |
| 1370 }, | |
| 1371 "driver_vendor": "Mesa", | |
| 1372 "driver_version": { | |
| 1373 "op": "<", | |
| 1374 "value": "11.1" | |
| 1375 }, | |
| 1376 "gl_type": "gles", | |
| 1377 "gl_version": { | |
| 1378 "op": "<", | |
| 1379 "value": "3.0" | |
| 1380 }, | |
| 1381 "disabled_extensions": [ | |
| 1382 "GL_EXT_texture_rg" | |
| 1383 ] | |
| 1384 }, | |
| 1385 { | |
| 1386 "id": 140, | |
| 1387 "description": "glReadPixels fails on FBOs with SRGB_ALPHA textures, Nexus
5X", | |
| 1388 "cr_bugs": [550292, 565179], | |
| 1389 "os": { | |
| 1390 "type": "android" | |
| 1391 // Originally on Android 6.0. Expect it to fail in later versions. | |
| 1392 }, | |
| 1393 "gl_vendor": "Qualcomm", | |
| 1394 "gl_renderer": "Adreno \\(TM\\) 4.*", // Originally on 418. | |
| 1395 "disabled_extensions": ["GL_EXT_sRGB"] | |
| 1396 }, | |
| 1397 { | |
| 1398 "id": 141, | |
| 1399 "cr_bugs": [570897], | |
| 1400 "description": "Framebuffer discarding can hurt performance on non-tilers"
, | |
| 1401 "os": { | |
| 1402 "type": "win" | |
| 1403 }, | |
| 1404 "features": [ | |
| 1405 "disable_discard_framebuffer" | |
| 1406 ] | |
| 1407 }, | |
| 1408 { | |
| 1409 "id": 142, | |
| 1410 "cr_bugs": [563714], | |
| 1411 "description": "Pack parameters work incorrectly with pack buffer bound", | |
| 1412 "os": { | |
| 1413 "type": "linux" | |
| 1414 }, | |
| 1415 "vendor_id": "0x10de", | |
| 1416 "gl_vendor": "NVIDIA.*", | |
| 1417 "features": [ | |
| 1418 "pack_parameters_workaround_with_pack_buffer" | |
| 1419 ] | |
| 1420 }, | |
| 1421 { | |
| 1422 "id": 143, | |
| 1423 "description": "Timer queries crash on Intel GPUs on Linux", | |
| 1424 "cr_bugs": [540543, 576991], | |
| 1425 "os": { | |
| 1426 "type": "linux" | |
| 1427 }, | |
| 1428 "vendor_id": "0x8086", | |
| 1429 "driver_vendor": "Mesa", | |
| 1430 "disabled_extensions": [ | |
| 1431 "GL_ARB_timer_query", | |
| 1432 "GL_EXT_timer_query" | |
| 1433 ] | |
| 1434 }, | |
| 1435 { | |
| 1436 "id": 144, | |
| 1437 "cr_bugs": [563714], | |
| 1438 "description": "Pack parameters work incorrectly with pack buffer bound", | |
| 1439 "os": { | |
| 1440 "type": "macosx" | |
| 1441 }, | |
| 1442 "features": [ | |
| 1443 "pack_parameters_workaround_with_pack_buffer" | |
| 1444 ] | |
| 1445 }, | |
| 1446 { | |
| 1447 "id": 145, | |
| 1448 "cr_bugs": [585250], | |
| 1449 "description": "EGLImage ref counting across EGLContext/threads is broken"
, | |
| 1450 "os": { | |
| 1451 "type": "android" | |
| 1452 }, | |
| 1453 "gl_vendor": "Qualcomm.*", | |
| 1454 "gl_renderer": "Adreno \\(TM\\) [45].*", | |
| 1455 "features": [ | |
| 1456 "broken_egl_image_ref_counting" | |
| 1457 ] | |
| 1458 }, | |
| 1459 ) // LONG_STRING_CONST macro | |
| 1460 // Avoid C2026 (string too big) error on VisualStudio. | |
| 1461 LONG_STRING_CONST( | |
| 1462 { | |
| 1463 "id": 147, | |
| 1464 "description": "Limit max texure size to 4096 on all of Android", | |
| 1465 "os": { | |
| 1466 "type": "android" | |
| 1467 }, | |
| 1468 "features": [ | |
| 1469 "max_texture_size_limit_4096" | |
| 1470 ] | |
| 1471 }, | |
| 1472 { | |
| 1473 "id": 148, | |
| 1474 "description": "Mali-4xx GPU on JB doesn't support DetachGLContext", | |
| 1475 "os": { | |
| 1476 "type": "android", | |
| 1477 "version": { | |
| 1478 "op": "<=", | |
| 1479 "value": "4.4.4" | |
| 1480 } | |
| 1481 }, | |
| 1482 "gl_renderer": ".*Mali-4.*", | |
| 1483 "features": [ | |
| 1484 "surface_texture_cant_detach" | |
| 1485 ] | |
| 1486 }, | |
| 1487 { | |
| 1488 "id": 149, | |
| 1489 "description": "Direct composition flashes black initially on Win <10", | |
| 1490 "cr_bugs": [588588], | |
| 1491 "os": { | |
| 1492 "type": "win", | |
| 1493 "version": { | |
| 1494 "op": "<", | |
| 1495 "value": "10.0" | |
| 1496 } | |
| 1497 }, | |
| 1498 "features": [ | |
| 1499 "disable_direct_composition" | |
| 1500 ] | |
| 1501 }, | |
| 1502 { | |
| 1503 "id": 150, | |
| 1504 "cr_bugs": [563714], | |
| 1505 "description": "Alignment works incorrectly with unpack buffer bound", | |
| 1506 "os": { | |
| 1507 "type": "linux" | |
| 1508 }, | |
| 1509 "vendor_id": "0x10de", | |
| 1510 "gl_vendor": "NVIDIA.*", | |
| 1511 "features": [ | |
| 1512 "unpack_alignment_workaround_with_unpack_buffer" | |
| 1513 ] | |
| 1514 }, | |
| 1515 { | |
| 1516 "id": 151, | |
| 1517 "cr_bugs": [563714], | |
| 1518 "description": "Alignment works incorrectly with unpack buffer bound", | |
| 1519 "os": { | |
| 1520 "type": "macosx" | |
| 1521 }, | |
| 1522 "features": [ | |
| 1523 "unpack_alignment_workaround_with_unpack_buffer" | |
| 1524 ] | |
| 1525 }, | |
| 1526 { | |
| 1527 "id": 152, | |
| 1528 "cr_bugs": [581777], | |
| 1529 "description": "copyTexImage2D fails when reading from IOSurface on multip
le GPU types.", | |
| 1530 "os": { | |
| 1531 "type": "macosx" | |
| 1532 }, | |
| 1533 "features": [ | |
| 1534 "use_intermediary_for_copy_texture_image" | |
| 1535 ] | |
| 1536 }, | |
| 1537 { | |
| 1538 "id": 153, | |
| 1539 "cr_bugs": [594016], | |
| 1540 "description": "Vivante GC1000 with EXT_multisampled_render_to_texture fai
ls glReadPixels", | |
| 1541 "os": { | |
| 1542 "type": "linux" | |
| 1543 }, | |
| 1544 "gl_vendor": "Vivante Corporation", | |
| 1545 "gl_renderer": "Vivante GC1000", | |
| 1546 "disabled_extensions": [ | |
| 1547 "GL_EXT_multisampled_render_to_texture" | |
| 1548 ] | |
| 1549 }, | |
| 1550 { | |
| 1551 "id": 156, | |
| 1552 "cr_bugs": [598474], | |
| 1553 "description": "glEGLImageTargetTexture2DOES crashes", | |
| 1554 "os": { | |
| 1555 "type": "android", | |
| 1556 "version": { | |
| 1557 "op": "between", | |
| 1558 "value": "4.4", | |
| 1559 "value2": "4.4.4" | |
| 1560 } | |
| 1561 }, | |
| 1562 "gl_vendor": "Imagination.*", | |
| 1563 "gl_renderer": "PowerVR SGX 544MP", | |
| 1564 "features": [ | |
| 1565 "avda_dont_copy_pictures" | |
| 1566 ] | |
| 1567 }, | |
| 1568 { | |
| 1569 "id": 157, | |
| 1570 "description": "Testing fences was broken on Mali ES2 drivers for specific
phone models", | |
| 1571 "cr_bugs": [589814], | |
| 1572 "os": { | |
| 1573 "type": "android" | |
| 1574 }, | |
| 1575 "machine_model_name": ["SM-G361H", "SM-G531H"], | |
| 1576 "gl_vendor": "ARM.*", | |
| 1577 "gl_renderer": "Mali.*", | |
| 1578 "gl_type": "gles", | |
| 1579 "gl_version": { | |
| 1580 "op": "<", | |
| 1581 "value": "3.0" | |
| 1582 }, | |
| 1583 "disabled_extensions": [ | |
| 1584 "EGL_KHR_fence_sync" | |
| 1585 ] | |
| 1586 }, | |
| 1587 { | |
| 1588 "id": 158, | |
| 1589 "description": "IOSurface use becomes pathologically slow over time on 10.
10.", | |
| 1590 "cr_bugs": [580616], | |
| 1591 "os": { | |
| 1592 "type": "macosx", | |
| 1593 "version": { | |
| 1594 "op": "=", | |
| 1595 "value": "10.10" | |
| 1596 } | |
| 1597 }, | |
| 1598 "vendor_id": "0x10de", | |
| 1599 "device_id": ["0x0fd5"], | |
| 1600 "features": [ | |
| 1601 "disable_overlay_ca_layers" | |
| 1602 ] | |
| 1603 }, | |
| 1604 { | |
| 1605 "id": 159, | |
| 1606 "cr_bugs": [570897], | |
| 1607 "description": "Framebuffer discarding can hurt performance on non-tilers"
, | |
| 1608 "os": { | |
| 1609 "type": "linux" | |
| 1610 }, | |
| 1611 "vendor_id": "0x10de", | |
| 1612 "gl_vendor": "NVIDIA.*", | |
| 1613 "gl_type": "gl", | |
| 1614 "features": [ | |
| 1615 "disable_discard_framebuffer" | |
| 1616 ] | |
| 1617 }, | |
| 1618 { | |
| 1619 "id": 160, | |
| 1620 "cr_bugs": [601753], | |
| 1621 "description": "Framebuffer discarding not useful on NVIDIA Kepler archite
cture and later", | |
| 1622 "os": { | |
| 1623 "type": "linux" | |
| 1624 }, | |
| 1625 "vendor_id": "0x10de", | |
| 1626 "gl_vendor": "NVIDIA.*", | |
| 1627 "gl_type": "gles", | |
| 1628 "gl_version": { | |
| 1629 "op": ">=", | |
| 1630 "value": "3.0" | |
| 1631 }, | |
| 1632 "features": [ | |
| 1633 "disable_discard_framebuffer" | |
| 1634 ] | |
| 1635 }, | |
| 1636 { | |
| 1637 "id": 161, | |
| 1638 "cr_bugs": [601753], | |
| 1639 "description": "Framebuffer discarding not useful on NVIDIA Kepler archite
cture and later", | |
| 1640 "os": { | |
| 1641 "type": "chromeos" | |
| 1642 }, | |
| 1643 "vendor_id": "0x10de", | |
| 1644 "gl_vendor": "NVIDIA.*", | |
| 1645 "gl_type": "gles", | |
| 1646 "gl_version": { | |
| 1647 "op": ">=", | |
| 1648 "value": "3.0" | |
| 1649 }, | |
| 1650 "features": [ | |
| 1651 "disable_discard_framebuffer" | |
| 1652 ] | |
| 1653 }, | |
| 1654 { | |
| 1655 "id": 162, | |
| 1656 "cr_bugs": [601753], | |
| 1657 "description": "Framebuffer discarding not useful on NVIDIA Kepler archite
cture and later", | |
| 1658 "os": { | |
| 1659 "type": "android" | |
| 1660 }, | |
| 1661 "gl_vendor": "NVIDIA.*", | |
| 1662 "gl_type": "gles", | |
| 1663 "gl_version": { | |
| 1664 "op": ">=", | |
| 1665 "value": "3.0" | |
| 1666 }, | |
| 1667 "features": [ | |
| 1668 "disable_discard_framebuffer" | |
| 1669 ] | |
| 1670 }, | |
| 1671 { | |
| 1672 "id": 163, | |
| 1673 "cr_bugs": [607130], | |
| 1674 "description": "Multisample renderbuffers with format GL_RGB8 have perform
ance issues on Intel GPUs.", | |
| 1675 "os": { | |
| 1676 "type": "macosx" | |
| 1677 }, | |
| 1678 "vendor_id": "0x8086", | |
| 1679 "features": [ | |
| 1680 "disable_webgl_rgb_multisampling_usage" | |
| 1681 ] | |
| 1682 }, | |
| 1683 { | |
| 1684 "id": 164, | |
| 1685 "cr_bugs": [595948], | |
| 1686 "description": "glColorMask does not work for multisample renderbuffers on
old AMD GPUs.", | |
| 1687 "os": { | |
| 1688 "type": "macosx" | |
| 1689 }, | |
| 1690 "vendor_id": "0x1002", | |
| 1691 "device_id": ["0x6720", "0x6740", "0x6741", "0x68b8"], | |
| 1692 "features": [ | |
| 1693 "disable_multisampling_color_mask_usage" | |
| 1694 ] | |
| 1695 }, | |
| 1696 { | |
| 1697 "id": 165, | |
| 1698 "cr_bugs": [596774], | |
| 1699 "description": "Unpacking overlapping rows from unpack buffers is unstable
on NVIDIA GL driver", | |
| 1700 "gl_vendor": "NVIDIA.*", | |
| 1701 "features": [ | |
| 1702 "unpack_overlapping_rows_separately_unpack_buffer" | |
| 1703 ] | |
| 1704 }, | |
| 1705 { | |
| 1706 "id": 167, | |
| 1707 "cr_bugs": [610516], | |
| 1708 "description": "glEGLImageTargetTexture2DOES crashes on Mali-400", | |
| 1709 "os": { | |
| 1710 "type": "android" | |
| 1711 }, | |
| 1712 "gl_vendor": "ARM.*", | |
| 1713 "gl_renderer": ".*Mali-4.*", | |
| 1714 "features": [ | |
| 1715 "avda_dont_copy_pictures" | |
| 1716 ] | |
| 1717 }, | |
| 1718 { | |
| 1719 "id": 168, | |
| 1720 "description": "VirtualBox driver doesn't correctly support partial swaps.
", | |
| 1721 "cr_bugs": [613722], | |
| 1722 "os": { | |
| 1723 "type": "linux" | |
| 1724 }, | |
| 1725 "vendor_id": "0x80ee", | |
| 1726 "features": [ | |
| 1727 "disable_post_sub_buffers_for_onscreen_surfaces" | |
| 1728 ] | |
| 1729 }, | |
| 1730 { | |
| 1731 "id": 169, | |
| 1732 "description": "Mac Drivers store texture level parameters on int16_t that
overflow", | |
| 1733 "cr_bugs": [610153], | |
| 1734 "os": { | |
| 1735 "type": "macosx", | |
| 1736 "version": { | |
| 1737 "op": "<", | |
| 1738 "value": "10.12.2" | |
| 1739 } | |
| 1740 }, | |
| 1741 "features": [ | |
| 1742 "use_shadowed_tex_level_params" | |
| 1743 ] | |
| 1744 }, | |
| 1745 { | |
| 1746 "id": 170, | |
| 1747 "description": "Zero copy DXGI video hangs on shutdown on Win < 8.1", | |
| 1748 "cr_bugs": [621190], | |
| 1749 "os": { | |
| 1750 "type": "win", | |
| 1751 "version": { | |
| 1752 "op": "<", | |
| 1753 "value": "8.1" | |
| 1754 } | |
| 1755 }, | |
| 1756 "features": [ | |
| 1757 "disable_dxgi_zero_copy_video" | |
| 1758 ] | |
| 1759 }, | |
| 1760 { | |
| 1761 "id": 172, | |
| 1762 "description": "Limited enabling of Chromium GL_INTEL_framebuffer_CMAA", | |
| 1763 "cr_bugs": [535198], | |
| 1764 "exceptions" : [ | |
| 1765 { | |
| 1766 "os": { | |
| 1767 "type" : "chromeos" | |
| 1768 }, | |
| 1769 "vendor_id": "0x8086", | |
| 1770 "driver_vendor": "Mesa", | |
| 1771 "gl_vendor": "Intel.*", | |
| 1772 "gl_renderer": ".*Intel.*(Braswell|Broadwell|Skylake).*", | |
| 1773 "gl_type": "gles", | |
| 1774 "gl_version": { | |
| 1775 "op": ">=", | |
| 1776 "value": "3.1" | |
| 1777 } | |
| 1778 } | |
| 1779 ], | |
| 1780 "features": [ | |
| 1781 "disable_framebuffer_cmaa" | |
| 1782 ] | |
| 1783 }, | |
| 1784 { | |
| 1785 "id": 174, | |
| 1786 "description": "Adreno 4xx support for EXT_multisampled_render_to_texture
is buggy on Android 7.0", | |
| 1787 "cr_bugs": [612474], | |
| 1788 "os": { | |
| 1789 "type": "android", | |
| 1790 "version": { | |
| 1791 "op": "between", | |
| 1792 "value": "7.0.0", | |
| 1793 "value2": "7.0.99" | |
| 1794 // Only initial version of N. | |
| 1795 } | |
| 1796 }, | |
| 1797 "gl_renderer": "Adreno \\(TM\\) 4.*", | |
| 1798 "disabled_extensions": [ | |
| 1799 "GL_EXT_multisampled_render_to_texture" | |
| 1800 ] | |
| 1801 }, | |
| 1802 { | |
| 1803 "id": 175, | |
| 1804 "description": "Adreno 5xx support for EXT_multisampled_render_to_texture
is buggy on Android < 7.0", | |
| 1805 "cr_bugs": [612474], | |
| 1806 "os": { | |
| 1807 "type": "android", | |
| 1808 "version": { | |
| 1809 "op": "<", | |
| 1810 "value": "7.0" | |
| 1811 } | |
| 1812 }, | |
| 1813 "gl_renderer": "Adreno \\(TM\\) 5.*", | |
| 1814 "disabled_extensions": [ | |
| 1815 "GL_EXT_multisampled_render_to_texture" | |
| 1816 ] | |
| 1817 }, | |
| 1818 { | |
| 1819 "id": 176, | |
| 1820 "description": "glClear does not work on Acer Predator GT-810", | |
| 1821 "cr_bugs": [633634], | |
| 1822 "os": { | |
| 1823 "type": "android" | |
| 1824 }, | |
| 1825 "gl_vendor": "Intel", | |
| 1826 "gl_renderer": ".*Atom.*x5/x7.*", | |
| 1827 "features": [ | |
| 1828 "gl_clear_broken" | |
| 1829 ] | |
| 1830 }, | |
| 1831 { | |
| 1832 "id": 177, | |
| 1833 "description": "glGetFragData{Location|Index} works incorrectly on Max", | |
| 1834 "cr_bugs": [638340], | |
| 1835 "os": { | |
| 1836 "type": "macosx" | |
| 1837 }, | |
| 1838 "features": [ | |
| 1839 "get_frag_data_info_bug" | |
| 1840 ] | |
| 1841 }, | |
| 1842 { | |
| 1843 "id": 178, | |
| 1844 "description": "GL_KHR_blend_equation_advanced is incorrectly implemented
on Intel BayTrail on KitKat", | |
| 1845 "cr_bugs": [639470], | |
| 1846 "os": { | |
| 1847 "type": "android", | |
| 1848 "version": { | |
| 1849 "op": "<", | |
| 1850 "value": "5.0" | |
| 1851 } | |
| 1852 }, | |
| 1853 "gl_vendor": "Intel.*", | |
| 1854 "gl_renderer": "Intel(R) HD Graphics for BayTrail", | |
| 1855 "features": [ | |
| 1856 "disable_blend_equation_advanced" | |
| 1857 ] | |
| 1858 }, | |
| 1859 { | |
| 1860 "id": 179, | |
| 1861 "description": "glResumeTransformFeedback works incorrectly on Intel GPUs"
, | |
| 1862 "cr_bugs": [638514], | |
| 1863 "os": { | |
| 1864 "type": "macosx" | |
| 1865 }, | |
| 1866 "vendor_id": "0x8086", | |
| 1867 "features": [ | |
| 1868 "rebind_transform_feedback_before_resume" | |
| 1869 ] | |
| 1870 }, | |
| 1871 { | |
| 1872 "id": 180, | |
| 1873 "cr_bugs": [579060,632461], | |
| 1874 "description": "eglCreateImageKHR fails for one component textures on Powe
rVR", | |
| 1875 "os": { | |
| 1876 "type": "android" | |
| 1877 }, | |
| 1878 "gl_vendor": "Imagination.*", | |
| 1879 "gl_renderer": "PowerVR .*", | |
| 1880 "features": [ | |
| 1881 "avoid_one_component_egl_images" | |
| 1882 ] | |
| 1883 }, | |
| 1884 { | |
| 1885 "id": 181, | |
| 1886 "description": "glTexStorage* are buggy when base mipmap level is not 0", | |
| 1887 "cr_bugs": [640506], | |
| 1888 "os": { | |
| 1889 "type": "macosx", | |
| 1890 "version": { | |
| 1891 "op": "<", | |
| 1892 "value": "10.12.4" | |
| 1893 } | |
| 1894 }, | |
| 1895 "features": [ | |
| 1896 "reset_base_mipmap_level_before_texstorage" | |
| 1897 ] | |
| 1898 }, | |
| 1899 { | |
| 1900 "id": 182, | |
| 1901 "cr_bugs": [638691], | |
| 1902 "description": "Frequent hang in glClear on old android versions on Mali-T
7xx", | |
| 1903 "os": { | |
| 1904 "type": "android", | |
| 1905 "version": { | |
| 1906 "op": "<", | |
| 1907 "value": "6.0" | |
| 1908 } | |
| 1909 }, | |
| 1910 "gl_renderer": ".*Mali-T7.*", | |
| 1911 "features": [ | |
| 1912 "gl_clear_broken" | |
| 1913 ] | |
| 1914 }, | |
| 1915 { | |
| 1916 "id": 183, | |
| 1917 "description": "Result of abs(i) where i is an integer in vertex shader is
wrong", | |
| 1918 "cr_bugs": [642227], | |
| 1919 "os": { | |
| 1920 "type": "macosx" | |
| 1921 }, | |
| 1922 "vendor_id": "0x8086", | |
| 1923 "features": [ | |
| 1924 "emulate_abs_int_function" | |
| 1925 ] | |
| 1926 }, | |
| 1927 { | |
| 1928 "id": 184, | |
| 1929 "description": "Rewrite texelFetchOffset to texelFetch for Intel Mac", | |
| 1930 "cr_bugs": [642605], | |
| 1931 "os": { | |
| 1932 "type": "macosx" | |
| 1933 }, | |
| 1934 "vendor_id": "0x8086", | |
| 1935 "features": [ | |
| 1936 "rewrite_texelfetchoffset_to_texelfetch" | |
| 1937 ] | |
| 1938 }, | |
| 1939 { | |
| 1940 "id": 185, | |
| 1941 "description": "Zero-copy NV12 video displays incorrect colors on NVIDIA d
rivers.", | |
| 1942 "cr_bugs": [635319], | |
| 1943 "os": { | |
| 1944 "type": "win" | |
| 1945 }, | |
| 1946 "vendor_id": "0x10de", | |
| 1947 "features": [ | |
| 1948 "disable_dxgi_zero_copy_video" | |
| 1949 ] | |
| 1950 }, | |
| 1951 { | |
| 1952 "id": 186, | |
| 1953 "description": "Rewrite condition in for and while loops for Intel Mac", | |
| 1954 "cr_bugs": [644669], | |
| 1955 "os": { | |
| 1956 "type": "macosx" | |
| 1957 }, | |
| 1958 "vendor_id": "0x8086", | |
| 1959 "features": [ | |
| 1960 "add_and_true_to_loop_condition" | |
| 1961 ] | |
| 1962 }, | |
| 1963 { | |
| 1964 "id": 187, | |
| 1965 "description": "Rewrite do-while loops to simpler constructs on Mac", | |
| 1966 "cr_bugs": [644669], | |
| 1967 "os": { | |
| 1968 "type": "macosx", | |
| 1969 "version": { | |
| 1970 "op": "<", | |
| 1971 "value": "10.11" | |
| 1972 } | |
| 1973 }, | |
| 1974 "features": [ | |
| 1975 "rewrite_do_while_loops" | |
| 1976 ] | |
| 1977 }, | |
| 1978 { | |
| 1979 "id": 188, | |
| 1980 "description": "AVSampleBufferDisplayLayer leaks IOSurfaces on 10.9.", | |
| 1981 "cr_bugs": [632178], | |
| 1982 "os": { | |
| 1983 "type": "macosx", | |
| 1984 "version": { | |
| 1985 "op": "<=", | |
| 1986 "value": "10.10" | |
| 1987 } | |
| 1988 }, | |
| 1989 "features": [ | |
| 1990 "disable_av_sample_buffer_display_layer" | |
| 1991 ] | |
| 1992 }, | |
| 1993 { | |
| 1994 "id": 189, | |
| 1995 "description": "Do TexImage2D first before CopyTexImage2D for cube map tex
ture on Intel Mac 10.11", | |
| 1996 "cr_bugs": [648197], | |
| 1997 "os": { | |
| 1998 "type": "macosx", | |
| 1999 "version": { | |
| 2000 "op": "<=", | |
| 2001 "value": "10.11" | |
| 2002 } | |
| 2003 }, | |
| 2004 "vendor_id": "0x8086", | |
| 2005 "features": [ | |
| 2006 "init_one_cube_map_level_before_copyteximage" | |
| 2007 ] | |
| 2008 }, | |
| 2009 { | |
| 2010 "id": 190, | |
| 2011 "description": "Disable partial swaps on Mesa drivers (detected with GL_VE
RSION)", | |
| 2012 "cr_bugs": [339493], | |
| 2013 "os": { | |
| 2014 "type": "linux" | |
| 2015 }, | |
| 2016 "gl_type": "gl", | |
| 2017 "gl_version_string": ".*Mesa.*", | |
| 2018 "features": [ | |
| 2019 "disable_post_sub_buffers_for_onscreen_surfaces" | |
| 2020 ] | |
| 2021 }, | |
| 2022 { | |
| 2023 "id": 191, | |
| 2024 "description": "Emulate GLSL function isnan() on Intel Mac", | |
| 2025 "cr_bugs": [650547], | |
| 2026 "os": { | |
| 2027 "type": "macosx" | |
| 2028 }, | |
| 2029 "vendor_id": "0x8086", | |
| 2030 "device_id" : [ | |
| 2031 "0x1902", "0x1906", "0x190A", "0x190B", "0x190E", "0x1912", "0x1913", "0
x1915", | |
| 2032 "0x1916", "0x1917", "0x191A", "0x191B", "0x191D", "0x191E", "0x1921", "0
x1923", | |
| 2033 "0x1926", "0x1927", "0x192A", "0x192B", "0x192D", "0x1932", "0x193A", "0
x193B", | |
| 2034 "0x193D" | |
| 2035 ], | |
| 2036 "features" : [ | |
| 2037 "emulate_isnan_on_float" | |
| 2038 ] | |
| 2039 }, | |
| 2040 { | |
| 2041 "id": 192, | |
| 2042 "description": "Decode and encode before generateMipmap for srgb format te
xtures on os except macosx", | |
| 2043 "cr_bugs": [634519], | |
| 2044 "gl_type": "gl", | |
| 2045 "gl_version": { | |
| 2046 "op": "<", | |
| 2047 "value": "4.4" | |
| 2048 }, | |
| 2049 "exceptions": [ | |
| 2050 { | |
| 2051 "os": { | |
| 2052 "type": "macosx" | |
| 2053 } | |
| 2054 } | |
| 2055 ], | |
| 2056 "features": [ | |
| 2057 "decode_encode_srgb_for_generatemipmap" | |
| 2058 ] | |
| 2059 }, | |
| 2060 { | |
| 2061 "id": 193, | |
| 2062 "description": "Decode and encode before generateMipmap for srgb format te
xtures on macosx", | |
| 2063 "cr_bugs": [634519], | |
| 2064 "os": { | |
| 2065 "type": "macosx" | |
| 2066 }, | |
| 2067 "features": [ | |
| 2068 "decode_encode_srgb_for_generatemipmap" | |
| 2069 ] | |
| 2070 }, | |
| 2071 { | |
| 2072 "id": 194, | |
| 2073 "description": "Init first two levels before CopyTexImage2D for cube map t
exture on Intel Mac 10.12", | |
| 2074 "cr_bugs": [648197], | |
| 2075 "os": { | |
| 2076 "type": "macosx", | |
| 2077 "version": { | |
| 2078 "op": ">=", | |
| 2079 "value": "10.12" | |
| 2080 } | |
| 2081 }, | |
| 2082 "vendor_id": "0x8086", | |
| 2083 "features": [ | |
| 2084 "init_two_cube_map_levels_before_copyteximage" | |
| 2085 ] | |
| 2086 }, | |
| 2087 { | |
| 2088 "id": 195, | |
| 2089 "description": "Insert statements to reference all members in unused std14
0/shared blocks on Mac", | |
| 2090 "cr_bugs": [618464], | |
| 2091 "os": { | |
| 2092 "type": "macosx" | |
| 2093 }, | |
| 2094 "features": [ | |
| 2095 "use_unused_standard_shared_blocks" | |
| 2096 ] | |
| 2097 }, | |
| 2098 { | |
| 2099 "id": 196, | |
| 2100 "description": "Tex(Sub)Image3D performs incorrectly when uploading from u
npack buffer with GL_UNPACK_IMAGE_HEIGHT greater than zero on Intel Macs", | |
| 2101 "cr_bugs": [654258], | |
| 2102 "os": { | |
| 2103 "type": "macosx" | |
| 2104 }, | |
| 2105 "vendor_id": "0x8086", | |
| 2106 "features": [ | |
| 2107 "unpack_image_height_workaround_with_unpack_buffer" | |
| 2108 ] | |
| 2109 }, | |
| 2110 { | |
| 2111 "id": 197, | |
| 2112 "description": "adjust src/dst region if blitting pixels outside read fram
ebuffer on Mac", | |
| 2113 "cr_bugs": [644740], | |
| 2114 "os": { | |
| 2115 "type": "macosx" | |
| 2116 }, | |
| 2117 "features": [ | |
| 2118 "adjust_src_dst_region_for_blitframebuffer" | |
| 2119 ] | |
| 2120 }, | |
| 2121 { | |
| 2122 "id": 198, | |
| 2123 "description": "adjust src/dst region if blitting pixels outside read fram
ebuffer on Linux Intel", | |
| 2124 "cr_bugs": [664740], | |
| 2125 "os": { | |
| 2126 "type": "linux" | |
| 2127 }, | |
| 2128 "vendor_id": "0x8086", | |
| 2129 "features": [ | |
| 2130 "adjust_src_dst_region_for_blitframebuffer" | |
| 2131 ] | |
| 2132 }, | |
| 2133 { | |
| 2134 "id": 199, | |
| 2135 "description": "adjust src/dst region if blitting pixels outside read fram
ebuffer on Linux AMD", | |
| 2136 "cr_bugs": [664740], | |
| 2137 "os": { | |
| 2138 "type": "linux" | |
| 2139 }, | |
| 2140 "vendor_id": "0x1002", | |
| 2141 "features": [ | |
| 2142 "adjust_src_dst_region_for_blitframebuffer" | |
| 2143 ] | |
| 2144 }, | |
| 2145 { | |
| 2146 "id": 200, | |
| 2147 "description": "ES3 support is unreliable on some older drivers", | |
| 2148 "cr_bugs": [657925], | |
| 2149 "os": { | |
| 2150 "type": "android", | |
| 2151 "version": { | |
| 2152 "op": "<", | |
| 2153 "value": "4.4" | |
| 2154 } | |
| 2155 }, | |
| 2156 "features": [ | |
| 2157 "disable_es3_gl_context" | |
| 2158 ] | |
| 2159 }, | |
| 2160 { | |
| 2161 "id": 201, | |
| 2162 "cr_bugs": [659326,639760], | |
| 2163 "description": "AMD drivers in Linux require invariant qualifier to match
between vertex and fragment shaders", | |
| 2164 "os": { | |
| 2165 "type": "linux" | |
| 2166 }, | |
| 2167 "vendor_id": "0x1002", | |
| 2168 "features": [ | |
| 2169 "dont_remove_invariant_for_fragment_input", | |
| 2170 "remove_invariant_and_centroid_for_essl3" | |
| 2171 ] | |
| 2172 }, | |
| 2173 { | |
| 2174 "id": 202, | |
| 2175 "cr_bugs": [639760,641129], | |
| 2176 "description": "Mac driver GL 4.1 requires invariant and centroid to match
between shaders", | |
| 2177 "os": { | |
| 2178 "type": "macosx" | |
| 2179 }, | |
| 2180 "features": [ | |
| 2181 "remove_invariant_and_centroid_for_essl3" | |
| 2182 ] | |
| 2183 }, | |
| 2184 { | |
| 2185 "id": 203, | |
| 2186 "cr_bugs": [639760,641129], | |
| 2187 "description": "Mesa driver GL 3.3 requires invariant and centroid to matc
h between shaders", | |
| 2188 "os": { | |
| 2189 "type": "linux" | |
| 2190 }, | |
| 2191 "driver_vendor": "Mesa", | |
| 2192 "gl_version": { | |
| 2193 "op": "=", | |
| 2194 "value": "3.3" | |
| 2195 }, | |
| 2196 "features": [ | |
| 2197 "remove_invariant_and_centroid_for_essl3" | |
| 2198 ] | |
| 2199 }, | |
| 2200 { | |
| 2201 "id": 205, | |
| 2202 "description": "Adreno 5xx support for EXT_multisampled_render_to_texture
is buggy on Android 7.1", | |
| 2203 "cr_bugs": [663811], | |
| 2204 "os": { | |
| 2205 "type": "android", | |
| 2206 "version": { | |
| 2207 "op": "=", | |
| 2208 "value": "7.1.0" | |
| 2209 } | |
| 2210 }, | |
| 2211 "gl_renderer": "Adreno \\(TM\\) 5.*", | |
| 2212 "disabled_extensions": [ | |
| 2213 "GL_EXT_multisampled_render_to_texture" | |
| 2214 ] | |
| 2215 }, | |
| 2216 { | |
| 2217 "id": 206, | |
| 2218 "description": "Disable KHR_blend_equation_advanced until cc shaders are u
pdated", | |
| 2219 "cr_bugs": [661715], | |
| 2220 "disabled_extensions": [ | |
| 2221 "GL_KHR_blend_equation_advanced", | |
| 2222 "GL_KHR_blend_equation_advanced_coherent" | |
| 2223 ] | |
| 2224 }, | |
| 2225 { | |
| 2226 "id": 207, | |
| 2227 "description": "Decode and Encode before generateMipmap for srgb format te
xtures on Windows", | |
| 2228 "cr_bugs": [634519], | |
| 2229 "os" : { | |
| 2230 "type": "win" | |
| 2231 }, | |
| 2232 "features" : [ | |
| 2233 "decode_encode_srgb_for_generatemipmap" | |
| 2234 ] | |
| 2235 }, | |
| 2236 { | |
| 2237 "id": 208, | |
| 2238 "description": "Decode and Encode before generateMipmap for srgb format te
xtures on Linux Mesa ANGLE path", | |
| 2239 "cr_bugs": [634519], | |
| 2240 "os": { | |
| 2241 "type": "linux" | |
| 2242 }, | |
| 2243 "gl_renderer": "ANGLE.*", | |
| 2244 "vendor_id": "0x8086", | |
| 2245 "features": [ | |
| 2246 "decode_encode_srgb_for_generatemipmap" | |
| 2247 ] | |
| 2248 }, | |
| 2249 { | |
| 2250 "id": 209, | |
| 2251 "description": "Decode and Encode before generateMipmap for srgb format te
xtures on Chromeos Intel", | |
| 2252 "cr_bugs": [634519], | |
| 2253 "os": { | |
| 2254 "type": "chromeos" | |
| 2255 }, | |
| 2256 "vendor_id": "0x8086", | |
| 2257 "features": [ | |
| 2258 "decode_encode_srgb_for_generatemipmap" | |
| 2259 ] | |
| 2260 }, | |
| 2261 { | |
| 2262 "id": 210, | |
| 2263 "description": "Decode and Encode before generateMipmap for srgb format te
xtures on Linux AMD", | |
| 2264 "cr_bugs": [634519], | |
| 2265 "os": { | |
| 2266 "type": "linux" | |
| 2267 }, | |
| 2268 "vendor_id": "0x1002", | |
| 2269 "features": [ | |
| 2270 "decode_encode_srgb_for_generatemipmap" | |
| 2271 ] | |
| 2272 }, | |
| 2273 { | |
| 2274 "id": 211, | |
| 2275 "description": "Rewrite -float to 0.0 - float for Intel Mac", | |
| 2276 "cr_bugs": [672380], | |
| 2277 "os": { | |
| 2278 "type": "macosx", | |
| 2279 "version": { | |
| 2280 "op": "<=", | |
| 2281 "value": "10.11" | |
| 2282 } | |
| 2283 }, | |
| 2284 "vendor_id": "0x8086", | |
| 2285 "features": [ | |
| 2286 "rewrite_float_unary_minus_operator" | |
| 2287 ] | |
| 2288 }, | |
| 2289 { | |
| 2290 "id": 212, | |
| 2291 "description": "Program binaries don't contain transform feedback varyings
on Qualcomm GPUs", | |
| 2292 "cr_bugs": [658074], | |
| 2293 "os": { | |
| 2294 "type": "android" | |
| 2295 }, | |
| 2296 "gl_renderer": "Adreno.*", | |
| 2297 "features": [ | |
| 2298 "disable_program_caching_for_transform_feedback" | |
| 2299 ] | |
| 2300 }, | |
| 2301 { | |
| 2302 "id": 213, | |
| 2303 "description": "The Mali-Gxx driver does not guarantee flush ordering", | |
| 2304 "cr_bugs": [678508], | |
| 2305 "gl_vendor": "ARM.*", | |
| 2306 "gl_renderer": "Mali-G.*", | |
| 2307 "features": [ | |
| 2308 "use_virtualized_gl_contexts" | |
| 2309 ] | |
| 2310 }, | |
| 2311 ) // LONG_STRING_CONST macro | |
| 2312 // Avoid C2026 (string too big) error on VisualStudio. | |
| 2313 LONG_STRING_CONST( | |
| 2314 { | |
| 2315 // Corresponds to software rendering list #140. | |
| 2316 "id": 214, | |
| 2317 "description": "Certain versions of Qualcomm driver don't setup scissor st
ate correctly when FBO0 is bound.", | |
| 2318 "cr_bugs": [670607, 696627, 698197], | |
| 2319 "gl_vendor": "Qualcomm.*", | |
| 2320 "machine_model_name": ["Nexus 7", "KFTHWI", "KFSAWI", "KFAPWI", "KFTHWA",
"KFSAWA", "KFAPWA"], | |
| 2321 "features": [ | |
| 2322 "force_update_scissor_state_when_binding_fbo0", | |
| 2323 // Somehow the main workaround above won't work without the one below. | |
| 2324 // See https://crbug.com/698197 for details. | |
| 2325 "disable_chromium_framebuffer_multisample" | |
| 2326 ] | |
| 2327 }, | |
| 2328 { | |
| 2329 "id": 215, | |
| 2330 "description": "Fake no-op GPU driver bug workaround for testing", | |
| 2331 "cr_bugs": [682912], | |
| 2332 "vendor_id": "0xbad9", | |
| 2333 "device_id": ["0xbad9"], | |
| 2334 "features": [ | |
| 2335 "use_gpu_driver_workaround_for_testing" | |
| 2336 ] | |
| 2337 }, | |
| 2338 { | |
| 2339 "id": 216, | |
| 2340 "cr_bugs": [698926], | |
| 2341 "description": "Pack parameters work incorrectly with pack buffer bound", | |
| 2342 "os": { | |
| 2343 "type": "android" | |
| 2344 }, | |
| 2345 "gl_vendor": "NVIDIA.*", | |
| 2346 "features": [ | |
| 2347 "pack_parameters_workaround_with_pack_buffer" | |
| 2348 ] | |
| 2349 }, | |
| 2350 { | |
| 2351 "id": 217, | |
| 2352 "cr_bugs": [698926], | |
| 2353 "description": "Alignment works incorrectly with unpack buffer bound", | |
| 2354 "os": { | |
| 2355 "type": "android" | |
| 2356 }, | |
| 2357 "gl_vendor": "NVIDIA.*", | |
| 2358 "features": [ | |
| 2359 "unpack_alignment_workaround_with_unpack_buffer" | |
| 2360 ] | |
| 2361 }, | |
| 2362 { | |
| 2363 "id": 219, | |
| 2364 "description": "Zero-copy DXGI video hangs or displays incorrect colors on
AMD drivers", | |
| 2365 "cr_bugs": [623029], | |
| 2366 "os": { | |
| 2367 "type": "win" | |
| 2368 }, | |
| 2369 "vendor_id": "0x1002", | |
| 2370 "features": [ | |
| 2371 "disable_dxgi_zero_copy_video" | |
| 2372 ] | |
| 2373 }, | |
| 2374 { | |
| 2375 "id": 220, | |
| 2376 "description": "NV12 DXGI video displays incorrect colors on older AMD dri
vers", | |
| 2377 "cr_bugs": [644293], | |
| 2378 "os": { | |
| 2379 "type": "win" | |
| 2380 }, | |
| 2381 "vendor_id": "0x1002", | |
| 2382 "driver_version": { | |
| 2383 "op": "<", | |
| 2384 "value": "21.19.519.2" | |
| 2385 }, | |
| 2386 "features": [ | |
| 2387 "disable_nv12_dxgi_video" | |
| 2388 ] | |
| 2389 }, | |
| 2390 { | |
| 2391 "id": 221, | |
| 2392 "description": "Very large instanced draw calls crash on some Adreno 3xx d
rivers", | |
| 2393 "cr_bugs": [701682], | |
| 2394 "os": { | |
| 2395 "type": "android" | |
| 2396 }, | |
| 2397 "gl_renderer": "Adreno \\(TM\\) 3.*", | |
| 2398 "features": [ | |
| 2399 "disallow_large_instanced_draw" | |
| 2400 ] | |
| 2401 }, | |
| 2402 { | |
| 2403 "id": 222, | |
| 2404 "description": "Linux AMD Catalyst drivers ignore clear if it's the only t
hing rendered to the target before the target is read", | |
| 2405 "cr_bugs": [690122], | |
| 2406 "os": { | |
| 2407 "type": "linux" | |
| 2408 }, | |
| 2409 "vendor_id": "0x1002", | |
| 2410 "driver_vendor": "AMD \\(Catalyst\\)", | |
| 2411 "features": [ | |
| 2412 "gl_clear_broken" | |
| 2413 ] | |
| 2414 } | |
| 2415 ] | |
| 2416 // Please update the version number at beginning of this file whenever you | |
| 2417 // change this file. | |
| 2418 } | |
| 2419 | |
| 2420 ); // LONG_STRING_CONST macro | |
| 2421 | |
| 2422 } // namespace gpu | |
| OLD | NEW |