1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
|
// Determines whether certain gpu-related features are blacklisted or not.
// A valid gpu_blacklist.json file are in the format of
// {
// "version": "x.y",
// "entries": [
// { // entry 1
// },
// ...
// { // entry n
// }
// ]
// }
//
// Each entry contains the following fields:
// "os", "vendor_id", "device_id", "driver_version", and "blacklist".
// Only "blacklist" is mandatory.
// 1. "os" contains "type" and an optional "version". "type" could be "macosx",
// "linux", "win", or "any". "any" is the same as not specifying "os".
// "version" is a VERSION structure (defined below).
// 2. "vendor_id" has the value of a string.
// 3. "device_id" has the value of a string.
// 4. "driver_vendor" is a STRING structure (defined below).
// 5. "driver_version" is a VERSION structure (defined below).
// 6. "gl_renderer" is a STRING structure (defined below).
// 7. "blacklist" is a list of gpu feature strings, valid values include
// "accelerated_2d_canvas", "accelerated_compositing", "webgl", and "all".
// Currently whatever feature is selected, the effect is the same as "all",
// i.e., it's not supported to turn off one GPU feature and not the others.
//
// 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, ect.
//
// STRING includes "op" and "value". "op" can be any of the following values:
// "contains", "beginwith", "endwith", "=". "value" is a string.
{
"name": "gpu blacklist",
// Please update the version number whenever you change this file.
"version": "0.6",
"entries": [
{ // ATI Radeon X1900 on Mac, BUGWEBKIT=47028
"id": "1",
"os": {
"type": "macosx"
},
"vendor_id": "0x1002",
"device_id": "0x7249",
"blacklist": [
"webgl"
]
},
{ // Intel cards with Mesa driver earlier than 7.9, BUG=66718,67345,67939
"id": "2",
"os": {
"type": "linux"
},
"vendor_id": "0x8086",
"driver_vendor": {
"op": "=",
"value": "mesa"
},
"driver_version": {
"op": "<",
"number": "7.9"
},
"blacklist": [
"webgl"
]
},
{ // In linux, don't allow GPU compositing if it's software rendering, BUG=59302
"id": "3",
"os": {
"type": "linux"
},
"gl_renderer": {
"op": "contains",
"value": "software"
},
"blacklist": [
"accelerated_compositing"
]
},
{ // Intel Mobile 945 Express Chipset Family
"id": "4",
"os": {
"type": "any"
},
"vendor_id": "0x8086",
"device_id": "0x27AE",
"blacklist": [
"webgl"
]
},
{ // All ATI cards in linux, BUG=71381
"id": "5",
"os": {
"type": "linux"
},
"vendor_id": "0x1002",
"blacklist": [
"webgl"
]
},
{ // ATI Radeon HD2600 on Mac, BUG=68859
"id": "6",
"os": {
"type": "macosx"
},
"vendor_id": "0x1002",
"device_id": "0x9583",
"blacklist": [
"webgl",
"accelerated_compositing"
]
}
]
}
|