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