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 certain gpu-related features are blacklisted or not. 6 // A valid software_rendering_list.json file are in the format of 7 // { 8 // "version": "x.y", 9 // "entries": [ 10 // { // entry 1 11 // }, 12 // ... 13 // { // entry n 14 // } 15 // ] 16 // } 17 // 18 // Each entry contains the following fields (fields are optional unless 19 // specifically described as mandatory below): 20 // 1. "id" is an integer. 0 is reserved. This field is mandatory. 21 // 2. "os" contains "type" and an optional "version". "type" could be "macosx", 22 // "linux", "win", "chromeos", or "any". "any" is the same as not specifying 23 // "os". 24 // "version" is a VERSION structure (defined below). 25 // 3. "vendor_id" is a string. 0 is reserved. 26 // 4. "device_id" is an array of strings. 0 is reserved. 27 // 5. "multi_gpu_style" is a string, valid values include "optimus", and 28 // "amd_switchable". 29 // 6. "multi_gpu_category" is a string, valid values include "any", "primary", 30 // and "secondary". If unspecified, the default value is "primary". 31 // 7. "driver_vendor" is a STRING structure (defined below). 32 // 8. "driver_version" is a VERSION structure (defined below). 33 // 9. "driver_date" is a VERSION structure (defined below). 34 // The version is interpreted as "year.month.day". 35 // 10. "gl_vendor" is a STRING structure (defined below). 36 // 11. "gl_renderer" is a STRING structure (defined below). 37 // 12. "gl_extensions" is a STRING structure (defined below). 38 // 13. "gl_reset_notification_strategy" is an INT structure (defined below). 39 // 14. "perf_graphics" is a FLOAT structure (defined below). 40 // 15. "perf_gaming" is a FLOAT structure (defined below). 41 // 16. "perf_overall" is a FLOAT structure (defined below). 42 // 17. "machine_model" contais "name" and an optional "version". "name" is a 43 // STRING structure and "version" is a VERSION structure (defined below). 44 // 18. "gpu_count" is a INT structure (defined below). 45 // 19 "cpu_info" is a STRING structure (defined below). 46 // 20. "exceptions" is a list of entries. 47 // 21. "features" is a list of gpu feature strings, valid values include 48 // "accelerated_2d_canvas", "accelerated_compositing", "webgl", 49 // "multisampling", "flash_3d", "flash_stage3d", "texture_sharing", 50 // "accelerated_video", "accelerated_video_decode", "panel_fitting", 51 // "force_compositing_mode", and "all". 52 // This field is mandatory. 53 // 22. "description" has the description of the entry. 54 // 23. "webkit_bugs" is an array of associated webkit bug numbers. 55 // 24. "cr_bugs" is an array of associated webkit bug numbers. 56 // 25. "browser_version" is a VERSION structure (defined below). If this 57 // condition is not satisfied, the entry will be ignored. If it is not 58 // present, then the entry applies to all versions of the browser. 59 // 26. "disabled" is a boolean. If it is present, the entry will be skipped. 60 // This can not be used in exceptions. 61 // 62 // VERSION includes "op", "style", "number", and "number2". "op" can be any of 63 // the following values: "=", "<", "<=", ">", ">=", "any", "between". "style" 64 // is optional and can be "lexical" or "numerical"; if it's not specified, it 65 // defaults to "numerical". "number2" is only used if "op" is "between". 66 // "between" is "number <= * <= number2". 67 // "number" is used for all "op" values except "any". "number" and "number2" 68 // are in the format of x, x.x, x.x.x, etc. 69 // Only "driver_version" supports lexical style if the format is major.minor; 70 // in that case, major is still numerical, but minor is lexical. 71 // 72 // STRING includes "op" and "value". "op" can be any of the following values: 73 // "contains", "beginwith", "endwith", "=". "value" is a string. 74 // 75 // FLOAT includes "op" "value", and "value2". "op" can be any of the 76 // following values: "=", "<", "<=", ">", ">=", "any", "between". "value2" is 77 // only used if "op" is "between". "value" is used for all "op" values except 78 // "any". "value" and "value2" are valid float numbers. 79 // INT is very much like FLOAT, except that the values need to be integers. 80 81 #include "gpu/config/gpu_control_list_jsons.h" 82 83 #define LONG_STRING_CONST(...) #__VA_ARGS__ 84 85 namespace gpu { 86 87 const char kSoftwareRenderingListJson[] = LONG_STRING_CONST( 88 89 { 90 "name": "software rendering list", 91 // Please update the version number whenever you change this file. 92 "version": "6.5", 93 "entries": [ 94 { 95 "id": 1, 96 "description": "ATI Radeon X1900 is not compatible with WebGL on the Mac.", 97 "webkit_bugs": [47028], 98 "os": { 99 "type": "macosx" 100 }, 101 "vendor_id": "0x1002", 102 "device_id": ["0x7249"], 103 "features": [ 104 "webgl", 105 "flash_3d", 106 "flash_stage3d" 107 ] 108 }, 109 { 110 "id": 3, 111 "description": "GL driver is software rendered. Accelerated compositing is disabled.", 112 "cr_bugs": [59302], 113 "os": { 114 "type": "linux" 115 }, 116 "gl_renderer": { 117 "op": "contains", 118 "value": "software" 119 }, 120 "features": [ 121 "accelerated_compositing" 122 ] 123 }, 124 { 125 "id": 4, 126 "description": "The Intel Mobile 945 Express family of chipsets is not compatible with WebGL.", 127 "cr_bugs": [232035], 128 "os": { 129 "type": "any" 130 }, 131 "vendor_id": "0x8086", 132 "device_id": ["0x27AE", "0x27A2"], 133 "features": [ 134 "webgl", 135 "flash_3d", 136 "flash_stage3d", 137 "accelerated_2d_canvas" 138 ] 139 }, 140 { 141 "id": 5, 142 "description": "ATI/AMD cards with older or third-party drivers in Linux are crash-prone.", 143 "cr_bugs": [71381, 76428, 73910, 101225, 136240], 144 "os": { 145 "type": "linux" 146 }, 147 "vendor_id": "0x1002", 148 "exceptions": [ 149 { 150 "driver_vendor": { 151 "op": "contains", 152 "value": "AMD" 153 }, 154 "driver_version": { 155 "op": ">=", 156 "style": "lexical", 157 "number": "8.98" 158 } 159 } 160 ], 161 "features": [ 162 "all" 163 ] 164 }, 165 { 166 "id": 8, 167 "description": "NVIDIA GeForce FX Go5200 is assumed to be buggy.", 168 "cr_bugs": [72938], 169 "os": { 170 "type": "any" 171 }, 172 "vendor_id": "0x10de", 173 "device_id": ["0x0324"], 174 "features": [ 175 "all" 176 ] 177 }, 178 { 179 "id": 10, 180 "description": "NVIDIA GeForce 7300 GT on Mac does not support WebGL.", 181 "cr_bugs": [73794], 182 "os": { 183 "type": "macosx" 184 }, 185 "vendor_id": "0x10de", 186 "device_id": ["0x0393"], 187 "features": [ 188 "webgl", 189 "flash_3d", 190 "flash_stage3d" 191 ] 192 }, 193 { 194 "id": 12, 195 "description": "Drivers older than 2009-01 on Windows are possibly unreliable.", 196 "cr_bugs": [72979, 89802], 197 "os": { 198 "type": "win" 199 }, 200 "driver_date": { 201 "op": "<", 202 "number": "2009.1" 203 }, 204 "exceptions": [ 205 { 206 "vendor_id": "0x8086", 207 "device_id": ["0x29a2"], 208 "driver_version": { 209 "op": ">=", 210 "number": "7.15.10.1624" 211 } 212 } 213 ], 214 "features": [ 215 "accelerated_2d_canvas", 216 "accelerated_video", 217 "accelerated_video_decode", 218 "3d_css", 219 "multisampling", 220 "flash_3d", 221 "force_compositing_mode" 222 ] 223 }, 224 { 225 "id": 13, 226 "description": "ATI drivers older than 10.6 on Windows XP are possibly unreliable.", 227 "cr_bugs": [74212], 228 "os": { 229 "type": "win", 230 "version": { 231 "op": "=", 232 "number": "5" 233 } 234 }, 235 "vendor_id": "0x1002", 236 "driver_version": { 237 "op": "<", 238 "number": "8.741" 239 }, 240 "features": [ 241 "accelerated_video", 242 "accelerated_video_decode", 243 "3d_css", 244 "multisampling", 245 "flash_3d", 246 "force_compositing_mode" 247 ] 248 }, 249 { 250 "id": 14, 251 "description": "NVIDIA drivers older than 257.21 on Windows XP are possibly unreliable.", 252 "cr_bugs": [74212], 253 "os": { 254 "type": "win", 255 "version": { 256 "op": "=", 257 "number": "5" 258 } 259 }, 260 "vendor_id": "0x10de", 261 "driver_version": { 262 "op": "<", 263 "number": "6.14.12.5721" 264 }, 265 "features": [ 266 "accelerated_video", 267 "accelerated_video_decode", 268 "3d_css", 269 "multisampling", 270 "flash_3d", 271 "force_compositing_mode" 272 ] 273 }, 274 { 275 "id": 15, 276 "description": "Intel drivers older than 14.42.7.5294 on Windows XP are possibly unreliable.", 277 "cr_bugs": [74212], 278 "os": { 279 "type": "win", 280 "version": { 281 "op": "=", 282 "number": "5" 283 } 284 }, 285 "vendor_id": "0x8086", 286 "driver_version": { 287 "op": "<", 288 "number": "6.14.10.5294" 289 }, 290 "features": [ 291 "accelerated_video", 292 "accelerated_video_decode", 293 "3d_css", 294 "multisampling", 295 "flash_3d", 296 "force_compositing_mode" 297 ] 298 }, 299 { 300 "id": 16, 301 "description": "Multisampling is buggy in ATI cards on older MacOSX.", 302 "cr_bugs": [67752, 83153], 303 "os": { 304 "type": "macosx", 305 "version": { 306 "op": "<", 307 "number": "10.7.2" 308 } 309 }, 310 "vendor_id": "0x1002", 311 "features": [ 312 "multisampling" 313 ] 314 }, 315 { 316 "id": 17, 317 "description": "Intel mesa drivers are crash-prone.", 318 "cr_bugs": [76703, 164555, 225200], 319 "os": { 320 "type": "linux" 321 }, 322 "vendor_id": "0x8086", 323 "exceptions": [ 324 { 325 "device_id": ["0x0102", "0x0106", "0x0112", "0x0116", "0x0122", "0x0126", "0x010a", "0x0152", "0x0156", "0x015a", "0x0162", "0x0166"], 326 "driver_version": { 327 "op": ">=", 328 "number": "8.0" 329 } 330 }, 331 { 332 "device_id": ["0xa001", "0xa002", "0xa011", "0xa012", "0x29a2", "0x2992", "0x2982", "0x2972", "0x2a12", "0x2a42", "0x2e02", "0x2e12", "0x2e22", "0x2e32", "0x2e42", "0x2e92"], 333 "driver_version": { 334 "op": ">", 335 "number": "8.0.2" 336 } 337 }, 338 { 339 "device_id": ["0x0042", "0x0046"], 340 "driver_version": { 341 "op": ">", 342 "number": "8.0.4" 343 } 344 }, 345 { 346 "device_id": ["0x2a02"], 347 "driver_version": { 348 "op": ">=", 349 "number": "9.1" 350 } 351 } 352 ], 353 "features": [ 354 "all" 355 ] 356 }, 357 { 358 "id": 18, 359 "description": "NVIDIA Quadro FX 1500 is buggy.", 360 "cr_bugs": [84701], 361 "os": { 362 "type": "linux" 363 }, 364 "vendor_id": "0x10de", 365 "device_id": ["0x029e"], 366 "features": [ 367 "all" 368 ] 369 }, 370 { 371 "id": 19, 372 "description": "GPU acceleration is no longer supported in Leopard.", 373 "cr_bugs": [87157, 130495], 374 "os": { 375 "type": "macosx", 376 "version": { 377 "op": "=", 378 "number": "10.5" 379 } 380 }, 381 "features": [ 382 "all" 383 ] 384 }, 385 { 386 "id": 23, 387 "description": "Mesa drivers in linux older than 7.11 are assumed to be buggy.", 388 "os": { 389 "type": "linux" 390 }, 391 "driver_vendor": { 392 "op": "=", 393 "value": "Mesa" 394 }, 395 "driver_version": { 396 "op": "<", 397 "number": "7.11" 398 }, 399 "features": [ 400 "all" 401 ] 402 }, 403 { 404 "id": 24, 405 "description": "Accelerated 2d canvas is unstable in Linux at the moment.", 406 "os": { 407 "type": "linux" 408 }, 409 "features": [ 410 "accelerated_2d_canvas" 411 ] 412 }, 413 { 414 "id": 27, 415 "description": "ATI/AMD cards with older drivers in Linux are crash-prone.", 416 "cr_bugs": [95934, 94973, 136240], 417 "os": { 418 "type": "linux" 419 }, 420 "gl_vendor": { 421 "op": "beginwith", 422 "value": "ATI" 423 }, 424 "exceptions": [ 425 { 426 "driver_vendor": { 427 "op": "contains", 428 "value": "AMD" 429 }, 430 "driver_version": { 431 "op": ">=", 432 "style": "lexical", 433 "number": "8.98" 434 } 435 } 436 ], 437 "features": [ 438 "all" 439 ] 440 }, 441 { 442 "id": 28, 443 "description": "ATI/AMD cards with third-party drivers in Linux are crash-prone.", 444 "cr_bugs": [95934, 94973], 445 "os": { 446 "type": "linux" 447 }, 448 "gl_vendor": { 449 "op": "beginwith", 450 "value": "X.Org" 451 }, 452 "gl_renderer": { 453 "op": "contains", 454 "value": "AMD" 455 }, 456 "features": [ 457 "all" 458 ] 459 }, 460 { 461 "id": 29, 462 "description": "ATI/AMD cards with third-party drivers in Linux are crash-prone.", 463 "cr_bugs": [95934, 94973], 464 "os": { 465 "type": "linux" 466 }, 467 "gl_vendor": { 468 "op": "beginwith", 469 "value": "X.Org" 470 }, 471 "gl_renderer": { 472 "op": "contains", 473 "value": "ATI" 474 }, 475 "features": [ 476 "all" 477 ] 478 }, 479 { 480 "id": 30, 481 "description": "NVIDIA cards with nouveau drivers in Linux are crash-prone.", 482 "cr_bugs": [94103], 483 "os": { 484 "type": "linux" 485 }, 486 "vendor_id": "0x10de", 487 "gl_vendor": { 488 "op": "beginwith", 489 "value": "nouveau" 490 }, 491 "features": [ 492 "all" 493 ] 494 }, 495 { 496 "id": 32, 497 "description": "Accelerated 2d canvas is disabled on Windows systems with low perf stats.", 498 "cr_bugs": [116350, 151500], 499 "os": { 500 "type": "win" 501 }, 502 "perf_overall": { 503 "op": "<", 504 "value": "3.5" 505 }, 506 "exceptions": [ 507 { 508 "perf_gaming": { 509 "op": ">", 510 "value": "3.5" 511 } 512 }, 513 { 514 "cpu_info": { 515 "op": "contains", 516 "value": "Atom" 517 } 518 } 519 ], 520 "features": [ 521 "accelerated_2d_canvas" 522 ] 523 }, 524 { 525 "id": 33, 526 "description": "Multisampling is buggy in Intel IvyBridge.", 527 "cr_bugs": [116370], 528 "os": { 529 "type": "linux" 530 }, 531 "vendor_id": "0x8086", 532 "device_id": ["0x0152", "0x0156", "0x015a", "0x0162", "0x0166"], 533 "features": [ 534 "multisampling" 535 ] 536 }, 537 { 538 "id": 34, 539 "description": "S3 Trio (used in Virtual PC) is not compatible.", 540 "cr_bugs": [119948], 541 "os": { 542 "type": "win" 543 }, 544 "vendor_id": "0x5333", 545 "device_id": ["0x8811"], 546 "features": [ 547 "all" 548 ] 549 }, 550 { 551 "id": 35, 552 "description": "Stage3D is not supported on Linux.", 553 "cr_bugs": [129848], 554 "os": { 555 "type": "linux" 556 }, 557 "features": [ 558 "flash_stage3d" 559 ] 560 }, 561 { 562 "id": 37, 563 "description": "Drivers are unreliable for Optimus on Linux.", 564 "cr_bugs": [131308], 565 "os": { 566 "type": "linux" 567 }, 568 "multi_gpu_style": "optimus", 569 "features": [ 570 "all" 571 ] 572 }, 573 { 574 "id": 38, 575 "description": "Accelerated 2D canvas is unstable for NVidia GeForce 9400M on Lion.", 576 "cr_bugs": [130495], 577 "os": { 578 "type": "macosx", 579 "version": { 580 "op": "=", 581 "number": "10.7" 582 } 583 }, 584 "vendor_id": "0x10de", 585 "device_id": ["0x0863"], 586 "features": [ 587 "accelerated_2d_canvas" 588 ] 589 }, 590 { 591 "id": 41, 592 "description": "Disable 3D (but not Stage3D) in Flash on XP", 593 "cr_bugs": [134885], 594 "os": { 595 "type": "win", 596 "version": { 597 "op": "=", 598 "number": "5" 599 } 600 }, 601 "features": [ 602 "flash_3d" 603 ] 604 }, 605 { 606 "id": 42, 607 "description": "AMD Radeon HD 6490M on Snow Leopard is buggy.", 608 "cr_bugs": [137307], 609 "os": { 610 "type": "macosx", 611 "version": { 612 "op": "=", 613 "number": "10.6" 614 } 615 }, 616 "vendor_id": "0x1002", 617 "device_id": ["0x6760"], 618 "features": [ 619 "webgl" 620 ] 621 }, 622 { 623 "id": 43, 624 "description": "Intel driver version 8.15.10.1749 has problems sharing textures.", 625 "cr_bugs": [133924], 626 "os": { 627 "type": "win" 628 }, 629 "vendor_id": "0x8086", 630 "driver_version": { 631 "op": "=", 632 "number": "8.15.10.1749" 633 }, 634 "features": [ 635 "texture_sharing" 636 ] 637 }, 638 { 639 "id": 44, 640 "description": "Intel HD 4000 causes kernel panic on Lion.", 641 "cr_bugs": [134015], 642 "os": { 643 "type": "macosx", 644 "version": { 645 "op": "between", 646 "number": "10.7.0", 647 "number2": "10.7.4" 648 } 649 }, 650 "vendor_id": "0x8086", 651 "device_id": ["0x0166"], 652 "multi_gpu_category": "any", 653 "features": [ 654 "all" 655 ] 656 }, 657 { 658 "id": 45, 659 "description": "Parallels drivers older than 7 are buggy.", 660 "cr_bugs": [138105], 661 "os": { 662 "type": "win" 663 }, 664 "vendor_id": "0x1ab8", 665 "driver_version": { 666 "op": "<", 667 "number": "7" 668 }, 669 "features": [ 670 "all" 671 ] 672 }, 673 { 674 "id": 46, 675 "description": "ATI FireMV 2400 cards on Windows are buggy.", 676 "cr_bugs": [124152], 677 "os": { 678 "type": "win" 679 }, 680 "vendor_id": "0x1002", 681 "device_id": ["0x3151"], 682 "features": [ 683 "all" 684 ] 685 }, 686 { 687 "id": 47, 688 "description": "NVIDIA linux drivers older than 295.* are assumed to be buggy.", 689 "cr_bugs": [78497], 690 "os": { 691 "type": "linux" 692 }, 693 "vendor_id": "0x10de", 694 "driver_vendor": { 695 "op": "=", 696 "value": "NVIDIA" 697 }, 698 "driver_version": { 699 "op": "<", 700 "number": "295" 701 }, 702 "features": [ 703 "all" 704 ] 705 }, 706 { 707 "id": 48, 708 // Please keep in sync with content/test/content_browser_test.cc. 709 "description": "Accelerated video decode is unavailable on Mac and Linux.", 710 "cr_bugs": [137247, 133828], 711 "exceptions": [ 712 { 713 "os": { 714 "type": "chromeos" 715 } 716 }, 717 { 718 "os": { 719 "type": "win" 720 } 721 } 722 ], 723 "features": [ 724 "accelerated_video_decode" 725 ] 726 }, 727 { 728 "id": 49, 729 "description": "NVidia GeForce GT 650M can cause the system to hang with flash 3D.", 730 "cr_bugs": [140175], 731 "os": { 732 "type": "macosx", 733 "version": { 734 "op": "between", 735 "number": "10.8.0", 736 "number2": "10.8.1" 737 } 738 }, 739 "multi_gpu_style": "optimus", 740 "vendor_id": "0x10de", 741 "device_id": ["0x0fd5"], 742 "features": [ 743 "flash_3d", 744 "flash_stage3d" 745 ] 746 }, 747 { 748 "id": 50, 749 "description": "Disable VMware software renderer.", 750 "cr_bugs": [145531], 751 "os": { 752 "type": "linux" 753 }, 754 "gl_vendor": { 755 "op": "beginwith", 756 "value": "VMware" 757 }, 758 "features": [ 759 "all" 760 ] 761 }, 762 { 763 "id": 51, 764 "description": "NVIDIA drivers 6.14.11.9621 is buggy on Windows XP.", 765 "cr_bugs": [152096], 766 "os": { 767 "type": "win", 768 "version": { 769 "op": "=", 770 "number": "5" 771 } 772 }, 773 "vendor_id": "0x10de", 774 "driver_version": { 775 "op": "=", 776 "number": "6.14.11.9621" 777 }, 778 "features": [ 779 "all" 780 ] 781 }, 782 { 783 "id": 52, 784 "description": "NVIDIA drivers 6.14.11.8267 is buggy on Windows XP.", 785 "cr_bugs": [152096], 786 "os": { 787 "type": "win", 788 "version": { 789 "op": "=", 790 "number": "5" 791 } 792 }, 793 "vendor_id": "0x10de", 794 "driver_version": { 795 "op": "=", 796 "number": "6.14.11.8267" 797 }, 798 "features": [ 799 "all" 800 ] 801 }, 802 { 803 "id": 53, 804 "description": "The Intel GMA500 is too slow for Stage3D.", 805 "cr_bugs": [152096], 806 "vendor_id": "0x8086", 807 "device_id": ["0x8108", "0x8109"], 808 "features": [ 809 "flash_stage3d" 810 ] 811 }, 812 { 813 "id": 55, 814 "description": "Drivers older than 2007-01 on Windows are assumed to be buggy.", 815 "cr_bugs": [72979, 89802], 816 "os": { 817 "type": "win" 818 }, 819 "driver_date": { 820 "op": "<", 821 "number": "2007.1" 822 }, 823 "exceptions": [ 824 { 825 "vendor_id": "0x8086", 826 "device_id": ["0x29a2"], 827 "driver_version": { 828 "op": ">=", 829 "number": "7.15.10.1624" 830 } 831 } 832 ], 833 "features": [ 834 "all" 835 ] 836 }, 837 { 838 "id": 56, 839 "description": "NVIDIA linux drivers are unstable when using multiple Open GL contexts and with low memory.", 840 "cr_bugs": [145600], 841 "os": { 842 "type": "linux" 843 }, 844 "vendor_id": "0x10de", 845 "driver_vendor": { 846 "op": "=", 847 "value": "NVIDIA" 848 }, 849 "features": [ 850 "accelerated_video", 851 "accelerated_video_decode", 852 "flash_3d", 853 "flash_stage3d" 854 ] 855 }, 856 { 857 // Panel fitting is only used with OS_CHROMEOS. To avoid displaying an 858 // error in chrome:gpu on every other platform, this blacklist entry needs 859 // to only match on chromeos. The drawback is that panel_fitting will not 860 // appear to be blacklisted if accidentally queried on non-chromeos. 861 "id": 57, 862 "description": "Chrome OS panel fitting is only supported for Intel IVB and SNB Graphics Controllers.", 863 "os": { 864 "type": "chromeos" 865 }, 866 "exceptions": [ 867 { 868 "vendor_id": "0x8086", 869 "device_id": ["0x0106", "0x0116", "0x0166"] 870 } 871 ], 872 "features": [ 873 "panel_fitting" 874 ] 875 }, 876 { 877 "id": 59, 878 "description": "NVidia driver 8.15.11.8593 is crashy on Windows.", 879 "cr_bugs": [155749], 880 "os": { 881 "type": "win" 882 }, 883 "vendor_id": "0x10de", 884 "driver_version": { 885 "op": "=", 886 "number": "8.15.11.8593" 887 }, 888 "features": [ 889 "accelerated_video_decode" 890 ] 891 }, 892 { 893 "id": 60, 894 "description": "Multisampling is buggy on Mac with NVIDIA gpu prior to 10.8.3.", 895 "cr_bugs": [137303], 896 "os": { 897 "type": "macosx", 898 "version": { 899 "op": "<", 900 "number": "10.8.3" 901 } 902 }, 903 "vendor_id": "0x10de", 904 "features": [ 905 "multisampling" 906 ] 907 }, 908 { 909 "id": 61, 910 "description": "Multisampling is buggy on Mac with Intel gpu prior to 10.8.3.", 911 "cr_bugs": [137303], 912 "os": { 913 "type": "macosx", 914 "version": { 915 "op": "<", 916 "number": "10.8.3" 917 } 918 }, 919 "vendor_id": "0x8086", 920 "features": [ 921 "multisampling" 922 ] 923 }, 924 { 925 "id": 62, 926 "description": "Accelerated 2D canvas buggy on old Qualcomm Adreno.", 927 "cr_bugs": [161575], 928 "os": { 929 "type": "android" 930 }, 931 "gl_renderer": { 932 "op": "contains", 933 "value": "Adreno" 934 }, 935 "driver_version": { 936 "op": "<", 937 "number": "4.1" 938 }, 939 "features": [ 940 "accelerated_2d_canvas" 941 ] 942 }, 943 { 944 "id": 63, 945 "description": "Multisampling is buggy on Mac with AMD gpu prior to 10.8.3.", 946 "cr_bugs": [162466], 947 "os": { 948 "type": "macosx", 949 "version": { 950 "op": "<", 951 "number": "10.8.3" 952 } 953 }, 954 "vendor_id": "0x1002", 955 "features": [ 956 "multisampling" 957 ] 958 }, 959 { 960 "id": 64, 961 "description": "Hardware video decode is only supported in win7+.", 962 "cr_bugs": [159458], 963 "os": { 964 "type": "win", 965 "version": { 966 "op": "<", 967 "number": "6.1" 968 } 969 }, 970 "features": [ 971 "accelerated_video_decode" 972 ] 973 }, 974 { 975 "id": 65, 976 "description": "Force compositing mode is unstable in Win Vista.", 977 "cr_bugs": [170421], 978 "os": { 979 "type": "win", 980 "version": { 981 "op": "=", 982 "number": "6.0" 983 } 984 }, 985 "features": [ 986 "force_compositing_mode" 987 ] 988 }, 989 { 990 "id": 66, 991 "description": "Force compositing mode is unstable in MacOSX earlier than 10.8.", 992 "cr_bugs": [174101], 993 "os": { 994 "type": "macosx", 995 "version": { 996 "op": "<", 997 "number": "10.8" 998 } 999 }, 1000 "features": [ 1001 "force_compositing_mode" 1002 ] 1003 }, 1004 { 1005 "id": 67, 1006 "description": "Accelerated 2D Canvas is not supported on WinXP.", 1007 "cr_bugs": [175149], 1008 "os": { 1009 "type": "win", 1010 "version": { 1011 "op": "=", 1012 "number": "5" 1013 } 1014 }, 1015 "features": [ 1016 "accelerated_2d_canvas" 1017 ] 1018 }, 1019 { 1020 "id": 68, 1021 "description": "VMware Fusion 4 has corrupt rendering with Win Vista+.", 1022 "cr_bugs": [169470], 1023 "os": { 1024 "type": "win", 1025 "version": { 1026 "op": ">=", 1027 "number": "6.0" 1028 } 1029 }, 1030 "vendor_id": "0x15ad", 1031 "driver_version": { 1032 "op": "<=", 1033 "number": "7.14.1.1134" 1034 }, 1035 "features": [ 1036 "all" 1037 ] 1038 }, 1039 { 1040 "id": 69, 1041 "description": "NVIDIA driver 8.17.11.9621 is buggy with Stage3D baseline mode.", 1042 "cr_bugs": [172771], 1043 "os": { 1044 "type": "win" 1045 }, 1046 "vendor_id": "0x10de", 1047 "driver_version": { 1048 "op": "=", 1049 "number": "8.17.11.9621" 1050 }, 1051 "features": [ 1052 "flash_stage3d_baseline" 1053 ] 1054 }, 1055 { 1056 "id": 70, 1057 "description": "NVIDIA driver 8.17.11.8267 is buggy with Stage3D baseline mode.", 1058 "cr_bugs": [172771], 1059 "os": { 1060 "type": "win" 1061 }, 1062 "vendor_id": "0x10de", 1063 "driver_version": { 1064 "op": "=", 1065 "number": "8.17.11.8267" 1066 }, 1067 "features": [ 1068 "flash_stage3d_baseline" 1069 ] 1070 }, 1071 { 1072 "id": 71, 1073 "description": "All Intel drivers before 8.15.10.2021 are buggy with Stage3D baseline mode.", 1074 "cr_bugs": [172771], 1075 "os": { 1076 "type": "win" 1077 }, 1078 "vendor_id": "0x8086", 1079 "driver_version": { 1080 "op": "<", 1081 "number": "8.15.10.2021" 1082 }, 1083 "features": [ 1084 "flash_stage3d_baseline" 1085 ] 1086 }, 1087 { 1088 "id": 72, 1089 "description": "NVIDIA GeForce 6200 LE is buggy with WebGL.", 1090 "cr_bugs": [232529], 1091 "os": { 1092 "type": "win" 1093 }, 1094 "vendor_id": "0x10de", 1095 "device_id": ["0x0163"], 1096 "features": [ 1097 "webgl" 1098 ] 1099 }, 1100 { 1101 "id": 73, 1102 "description": "WebGL is buggy with the NVIDIA GeForce GT 330M, 9400, and 9400M on MacOSX earlier than 10.8", 1103 "cr_bugs": [233523], 1104 "os": { 1105 "type": "macosx", 1106 "version": { 1107 "op": "<", 1108 "number": "10.8" 1109 } 1110 }, 1111 "vendor_id": "0x10de", 1112 "device_id": ["0x0a29", "0x0861", "0x0863"], 1113 "features": [ 1114 "webgl" 1115 ] 1116 }, 1117 { 1118 "id": 74, 1119 "description": "GPU access is blocked if users don't have proper graphics driver installed after Windows installation", 1120 "cr_bugs": [248178], 1121 "os": { 1122 "type": "win" 1123 }, 1124 "driver_vendor": { 1125 "op": "=", 1126 "value": "Microsoft" 1127 }, 1128 "features": [ 1129 "all" 1130 ] 1131 }, 1132 { 1133 "id": 75, 1134 "description": "Texture sharing not supported on AMD Switchable GPUs due to driver issues", 1135 "cr_bugs": [117371], 1136 "os": { 1137 "type": "win" 1138 }, 1139 "multi_gpu_style": "amd_switchable", 1140 "features": [ 1141 "texture_sharing" 1142 ] 1143 }, 1144 ) // String split to avoid MSVC char limit. 1145 LONG_STRING_CONST( 1146 { 1147 "id": 76, 1148 "description": "WebGL is disabled on Android unless GPU reset notification is supported", 1149 "os": { 1150 "type": "android" 1151 }, 1152 "exceptions": [ 1153 { 1154 "gl_reset_notification_strategy": { 1155 "op": "=", 1156 "value": "33362" 1157 } 1158 } 1159 ], 1160 "features": [ 1161 "webgl" 1162 ] 1163 } 1164 ] 1165 } 1166 1167 ); // LONG_STRING_CONST macro 1168 1169 } // namespace gpu 1170 1171