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