// Determines whether certain gpu-related features are blacklisted or not.
// A valid software_rendering_list.json file are in the format of
// {
//   "version": "x.y",
//   "entries": [
//     { // entry 1
//     },
//     ...
//     { // entry n
//     }
//   ]
// }
//
// Each entry contains the following fields:
// 1. "id" is an integer.  0 is reserved.  This field is mandatory.
// 2. "os" contains "type" and an optional "version". "type" could be "macosx",
//    "linux", "win", "chromeos", or "any".  "any" is the same as not specifying
//    "os".
//    "version" is a VERSION structure (defined below).
// 3. "vendor_id" is a string.  0 is reserved.
// 4. "device_id" is an array of strings.  0 is reserved.
// 5. "driver_vendor" is a STRING structure (defined below).
// 6. "driver_version" is a VERSION structure (defined below).
// 7. "driver_date" is a VERSION structure (defined below).
//    The version is interpreted as "year.month.day".
// 8. "gl_renderer" is a STRING structure (defined below).
// 9: "Exceptions" is a list of entries.
// 10. "blacklist" is a list of gpu feature strings, valid values include
//     "accelerated_2d_canvas", "accelerated_compositing", "webgl",
//     "multisampling", and "all".
//     This field is mandatory.
// 11. "description" has the description of the entry.
// 12. "webkit_bugs" is an array of associated webkit bug numbers.
// 13. "cr_bugs" is an array of associated webkit bug numbers.
// 14. "browser_version" is a VERSION structure (defined below).  If this
//     condition is not satisfied, the entry will be ignored.  If it is not
//     present, then the entry applies to all versions of the browser.
//
// VERSION includes "op" "number", and "number2".  "op" can be any of the
// following values: "=", "<", "<=", ">", ">=", "any", "between".  "number2" is
// only used if "op" is "between".  "number" is used for all "op" values except
// "any". "number" and "number2" are in the format of x, x.x, x.x.x, etc.
//
// STRING includes "op" and "value".  "op" can be any of the following values:
// "contains", "beginwith", "endwith", "=".  "value" is a string.

{
  "name": "software rendering list",
  // Please update the version number whenever you change this file.
  "version": "1.10",
  "entries": [
    {
      "id": 1,
      "description": "ATI Radeon X1900 is not compatible with WebGL on the Mac.",
      "webkit_bugs": [47028],
      "os": {
        "type": "macosx"
      },
      "vendor_id": "0x1002",
      "device_id": ["0x7249"],
      "blacklist": [
        "webgl"
      ]
    },
    {
      "id": 3,
      "description": "GL driver is software rendered. Accelerated compositing is disabled.",
      "cr_bugs": [59302],
      "os": {
        "type": "linux"
      },
      "gl_renderer": {
        "op": "contains",
        "value": "software"
      },
      "blacklist": [
        "accelerated_compositing"
      ]
    },
    {
      "id": 4,
      "description": "The Intel Mobile 945 Express family of chipsets is not compatible with WebGL.",
      "os": {
        "type": "any"
      },
      "vendor_id": "0x8086",
      "device_id": ["0x27AE"],
      "blacklist": [
        "webgl"
      ]
    },
    {
      "id": 5,
      "description": "ATI cards in Linux are crash-prone.",
      "cr_bugs": [71381, 76428, 73910],
      "os": {
        "type": "linux"
      },
      "vendor_id": "0x1002",
      "blacklist": [
        "all"
      ]
    },
    {
      "id": 8,
      "description": "NVIDIA GeForce FX Go5200 does not support WebGL or accelerated compositing.",
      "cr_bugs": [72938],
      "os": {
        "type": "any"
      },
      "vendor_id": "0x10de",
      "device_id": ["0x0324"],
      "blacklist": [
        "webgl",
        "accelerated_compositing"
      ]
    },
    {
      "id": 10,
      "description": "NVIDIA GeForce 7300 GT on Mac does not support WebGL.",
      "cr_bugs": [73794],
      "os": {
        "type": "macosx"
      },
      "vendor_id": "0x10de",
      "device_id": ["0x0393"],
      "blacklist": [
        "webgl"
      ]
    },
    {
      "id": 12,
      "description": "Drivers older than 2009-01 on Windows are assumed to be buggy.",
      "cr_bugs": [72979],
      "os": {
        "type": "win"
      },
      "driver_date": {
        "op": "<",
        "number": "2009.1"
      },
      "blacklist": [
        "all"
      ]
    },
    {
      "id": 13,
      "description": "ATI drivers older than 10.6 on Windows XP are assumed to be buggy.",
      "cr_bugs": [74212],
      "os": {
        "type": "win",
        "version": {
          "op": "=",
          "number": "5"
        }
      },
      "vendor_id": "0x1002",
      "driver_version": {
        "op": "<",
        "number": "8.741"
      },
      "blacklist": [
        "all"
      ]
    },
    {
      "id": 14,
      "description": "NVIDIA drivers older than 257.21 on Windows XP are assumed to be buggy.",
      "cr_bugs": [74212],
      "os": {
        "type": "win",
        "version": {
          "op": "=",
          "number": "5"
        }
      },
      "vendor_id": "0x10de",
      "driver_version": {
        "op": "<",
        "number": "6.14.12.5721"
      },
      "blacklist": [
        "all"
      ]
    },
    {
      "id": 15,
      "description": "Intel drivers older than 14.42.7.5294 on Windows XP are assumed to be buggy.",
      "cr_bugs": [74212],
      "os": {
        "type": "win",
        "version": {
          "op": "=",
          "number": "5"
        }
      },
      "vendor_id": "0x8086",
      "driver_version": {
        "op": "<",
        "number": "6.14.10.5294"
      },
      "blacklist": [
        "all"
      ]
    },
    {
      "id": 16,
      "description": "Multisampling is buggy in ATI Mac drivers.",
      "cr_bugs": [67752],
      "os": {
        "type": "macosx"
      },
      "vendor_id": "0x1002",
      "blacklist": [
        "multisampling"
      ]
    },
    {
      "id": 17,
      "description": "Intel mesa drivers are crash-prone.",
      "cr_bugs": [76703],
      "os": {
        "type": "linux"
      },
      "vendor_id": "0x8086",
      "blacklist": [
        "all"
      ]
    }
  ]
}