@grepp/detect-gpu 5.0.71 → 5.0.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/package.json +3 -2
- package/dist/benchmarks/d-adreno.json +0 -244
- package/dist/benchmarks/d-amd.json +0 -13292
- package/dist/benchmarks/d-apple.json +0 -264
- package/dist/benchmarks/d-geforce.json +0 -7459
- package/dist/benchmarks/d-intel.json +0 -3627
- package/dist/benchmarks/d-nvidia.json +0 -11963
- package/dist/benchmarks/d-radeon.json +0 -11951
- package/dist/benchmarks/m-adreno.json +0 -2497
- package/dist/benchmarks/m-apple-ipad.json +0 -351
- package/dist/benchmarks/m-apple.json +0 -311
- package/dist/benchmarks/m-intel.json +0 -517
- package/dist/benchmarks/m-mali-t.json +0 -1301
- package/dist/benchmarks/m-mali.json +0 -1971
- package/dist/benchmarks/m-nvidia.json +0 -81
- package/dist/benchmarks/m-powervr.json +0 -499
- package/dist/benchmarks/m-samsung.json +0 -43
- package/dist/detect-gpu.esm.js +0 -2
- package/dist/detect-gpu.esm.js.map +0 -1
- package/dist/detect-gpu.umd.js +0 -2
- package/dist/detect-gpu.umd.js.map +0 -1
- package/dist/example/index.d.ts +0 -1
- package/dist/rollup/config.dev.d.ts +0 -10
- package/dist/rollup/config.lib.d.ts +0 -3
- package/dist/src/index.d.ts +0 -69
- package/dist/src/internal/blocklistedGPUS.d.ts +0 -1
- package/dist/src/internal/cleanRenderer.d.ts +0 -1
- package/dist/src/internal/deobfuscateAppleGPU.d.ts +0 -1
- package/dist/src/internal/deobfuscateRenderer.d.ts +0 -1
- package/dist/src/internal/deviceInfo.d.ts +0 -6
- package/dist/src/internal/error.d.ts +0 -3
- package/dist/src/internal/getGPUVersion.d.ts +0 -1
- package/dist/src/internal/getLevenshteinDistance.d.ts +0 -2
- package/dist/src/internal/getWebGLContext.d.ts +0 -1
- package/dist/src/internal/ssr.d.ts +0 -1
- package/dist/src/internal/util.d.ts +0 -1
@@ -1,81 +0,0 @@
|
|
1
|
-
[
|
2
|
-
"5",
|
3
|
-
[
|
4
|
-
"nvidia tegra",
|
5
|
-
"",
|
6
|
-
"nvidia tegra",
|
7
|
-
0,
|
8
|
-
[
|
9
|
-
[
|
10
|
-
2048,
|
11
|
-
1440,
|
12
|
-
23,
|
13
|
-
"google nexus 9"
|
14
|
-
]
|
15
|
-
]
|
16
|
-
],
|
17
|
-
[
|
18
|
-
"nvidia tegra k1",
|
19
|
-
"1",
|
20
|
-
"k1 nvidia tegra",
|
21
|
-
0,
|
22
|
-
[
|
23
|
-
[
|
24
|
-
1920,
|
25
|
-
1008,
|
26
|
-
32,
|
27
|
-
"nvidia jetson tk1 (pm375, development board)"
|
28
|
-
],
|
29
|
-
[
|
30
|
-
1920,
|
31
|
-
1032,
|
32
|
-
12,
|
33
|
-
"lenovo k1 hd (2014)"
|
34
|
-
],
|
35
|
-
[
|
36
|
-
1920,
|
37
|
-
1080,
|
38
|
-
28,
|
39
|
-
"nvidia tegra gk20a (ardbeg, development board)"
|
40
|
-
],
|
41
|
-
[
|
42
|
-
1920,
|
43
|
-
1104,
|
44
|
-
29,
|
45
|
-
"google project tango"
|
46
|
-
],
|
47
|
-
[
|
48
|
-
2048,
|
49
|
-
1536,
|
50
|
-
21,
|
51
|
-
"xiaomi mi pad"
|
52
|
-
],
|
53
|
-
[
|
54
|
-
3840,
|
55
|
-
2088,
|
56
|
-
8,
|
57
|
-
"lenovo thinkvision 28"
|
58
|
-
]
|
59
|
-
]
|
60
|
-
],
|
61
|
-
[
|
62
|
-
"nvidia tegra x1",
|
63
|
-
"1",
|
64
|
-
"nvidia tegra x1",
|
65
|
-
0,
|
66
|
-
[
|
67
|
-
[
|
68
|
-
1920,
|
69
|
-
1080,
|
70
|
-
60,
|
71
|
-
"nvidia shield android tv"
|
72
|
-
],
|
73
|
-
[
|
74
|
-
2560,
|
75
|
-
1688,
|
76
|
-
33,
|
77
|
-
"google pixel c"
|
78
|
-
]
|
79
|
-
]
|
80
|
-
]
|
81
|
-
]
|
@@ -1,499 +0,0 @@
|
|
1
|
-
[
|
2
|
-
"5",
|
3
|
-
[
|
4
|
-
"powervr rogue g6110",
|
5
|
-
"6110",
|
6
|
-
"g6110 powervr rogue",
|
7
|
-
0,
|
8
|
-
[
|
9
|
-
[
|
10
|
-
1024,
|
11
|
-
600,
|
12
|
-
11,
|
13
|
-
"dasaita mtcd px5 head unit"
|
14
|
-
],
|
15
|
-
[
|
16
|
-
1280,
|
17
|
-
752,
|
18
|
-
8,
|
19
|
-
"visual land prestige prime 10se"
|
20
|
-
],
|
21
|
-
[
|
22
|
-
1366,
|
23
|
-
720,
|
24
|
-
7,
|
25
|
-
"ditecma m1092r"
|
26
|
-
],
|
27
|
-
[
|
28
|
-
1920,
|
29
|
-
1008,
|
30
|
-
6,
|
31
|
-
"vensmile t051 tv box"
|
32
|
-
],
|
33
|
-
[
|
34
|
-
1920,
|
35
|
-
1016,
|
36
|
-
5,
|
37
|
-
"geekbuying geekbox tv box"
|
38
|
-
],
|
39
|
-
[
|
40
|
-
1920,
|
41
|
-
1032,
|
42
|
-
4,
|
43
|
-
"hannspree hsg1351"
|
44
|
-
],
|
45
|
-
[
|
46
|
-
1920,
|
47
|
-
1080,
|
48
|
-
5,
|
49
|
-
"10moons tv box (rogue g6110)"
|
50
|
-
],
|
51
|
-
[
|
52
|
-
1920,
|
53
|
-
1128,
|
54
|
-
5,
|
55
|
-
"teclast p10"
|
56
|
-
]
|
57
|
-
]
|
58
|
-
],
|
59
|
-
[
|
60
|
-
"powervr rogue g6200",
|
61
|
-
"6200",
|
62
|
-
"g6200 powervr rogue",
|
63
|
-
0,
|
64
|
-
[
|
65
|
-
[
|
66
|
-
1280,
|
67
|
-
720,
|
68
|
-
15,
|
69
|
-
"infocus m530"
|
70
|
-
],
|
71
|
-
[
|
72
|
-
1280,
|
73
|
-
736,
|
74
|
-
12,
|
75
|
-
"amazon kindle fire hd 8 (5th gen, kfmewi)"
|
76
|
-
],
|
77
|
-
[
|
78
|
-
1280,
|
79
|
-
752,
|
80
|
-
12,
|
81
|
-
"amazon kindle fire hd 10 (5th gen, kftbwi)"
|
82
|
-
],
|
83
|
-
[
|
84
|
-
1280,
|
85
|
-
800,
|
86
|
-
9,
|
87
|
-
"amazon kindle fire hd 7 (4th gen, kfaswi)"
|
88
|
-
],
|
89
|
-
[
|
90
|
-
1794,
|
91
|
-
1080,
|
92
|
-
5,
|
93
|
-
"ubik uno"
|
94
|
-
],
|
95
|
-
[
|
96
|
-
1920,
|
97
|
-
1080,
|
98
|
-
6,
|
99
|
-
"cherry mobile x220 cosmos one plus"
|
100
|
-
],
|
101
|
-
[
|
102
|
-
1920,
|
103
|
-
1152,
|
104
|
-
8,
|
105
|
-
"meizu mx4 (m460, m460a, m461)"
|
106
|
-
],
|
107
|
-
[
|
108
|
-
2392,
|
109
|
-
1440,
|
110
|
-
6,
|
111
|
-
"hasee hl9916004"
|
112
|
-
],
|
113
|
-
[
|
114
|
-
2560,
|
115
|
-
1440,
|
116
|
-
6,
|
117
|
-
"condor allure a100 pgn-607"
|
118
|
-
]
|
119
|
-
]
|
120
|
-
],
|
121
|
-
[
|
122
|
-
"powervr rogue g6230",
|
123
|
-
"6230",
|
124
|
-
"g6230 powervr rogue",
|
125
|
-
0,
|
126
|
-
[
|
127
|
-
[
|
128
|
-
1920,
|
129
|
-
1008,
|
130
|
-
8,
|
131
|
-
"rikomagic mk80 tv box (tronsmart draco aw80, fantasy a80)"
|
132
|
-
],
|
133
|
-
[
|
134
|
-
1920,
|
135
|
-
1016,
|
136
|
-
7,
|
137
|
-
"cubietech cubieboard 4 (cc-a80, hansen-a80, development board)"
|
138
|
-
],
|
139
|
-
[
|
140
|
-
2048,
|
141
|
-
1440,
|
142
|
-
5,
|
143
|
-
"teclast p98air"
|
144
|
-
],
|
145
|
-
[
|
146
|
-
2048,
|
147
|
-
1464,
|
148
|
-
7,
|
149
|
-
"actions gs900a (development board)"
|
150
|
-
]
|
151
|
-
]
|
152
|
-
],
|
153
|
-
[
|
154
|
-
"powervr rogue g6400",
|
155
|
-
"6400",
|
156
|
-
"g6400 powervr rogue",
|
157
|
-
0,
|
158
|
-
[
|
159
|
-
[
|
160
|
-
1794,
|
161
|
-
1080,
|
162
|
-
8,
|
163
|
-
"lg f490 liger (g6400)"
|
164
|
-
],
|
165
|
-
[
|
166
|
-
1920,
|
167
|
-
1032,
|
168
|
-
8,
|
169
|
-
"renesas lager"
|
170
|
-
]
|
171
|
-
]
|
172
|
-
],
|
173
|
-
[
|
174
|
-
"powervr rogue g6430",
|
175
|
-
"6430",
|
176
|
-
"g6430 powervr rogue",
|
177
|
-
0,
|
178
|
-
[
|
179
|
-
[
|
180
|
-
1024,
|
181
|
-
552,
|
182
|
-
26,
|
183
|
-
"asus fonepad 7 (k01f fe171mg)"
|
184
|
-
],
|
185
|
-
[
|
186
|
-
1280,
|
187
|
-
720,
|
188
|
-
27,
|
189
|
-
"asus zenfone 2 (z008 ze550ml)"
|
190
|
-
],
|
191
|
-
[
|
192
|
-
1280,
|
193
|
-
736,
|
194
|
-
20,
|
195
|
-
"asus fonepad 7 (k019 fe375cg)"
|
196
|
-
],
|
197
|
-
[
|
198
|
-
1280,
|
199
|
-
752,
|
200
|
-
27,
|
201
|
-
"asus zenpad 10 (p01t z300cl)"
|
202
|
-
],
|
203
|
-
[
|
204
|
-
1788,
|
205
|
-
1080,
|
206
|
-
8,
|
207
|
-
"lg f490 liger (g6430)"
|
208
|
-
],
|
209
|
-
[
|
210
|
-
1920,
|
211
|
-
1080,
|
212
|
-
15,
|
213
|
-
"asus zenfone zoom (intel z3560, z00xsb zx551ml)"
|
214
|
-
],
|
215
|
-
[
|
216
|
-
1920,
|
217
|
-
1104,
|
218
|
-
11,
|
219
|
-
"asus memo pad 8 ast21 (intel z3580, k015 me581cl)"
|
220
|
-
],
|
221
|
-
[
|
222
|
-
2048,
|
223
|
-
1440,
|
224
|
-
11,
|
225
|
-
"asus zenpad s 8.0 (p01m z580c)"
|
226
|
-
],
|
227
|
-
[
|
228
|
-
2560,
|
229
|
-
1504,
|
230
|
-
9,
|
231
|
-
"dell venue 10 7040"
|
232
|
-
]
|
233
|
-
]
|
234
|
-
],
|
235
|
-
[
|
236
|
-
"powervr rogue ge8100",
|
237
|
-
"8100",
|
238
|
-
"ge8100 powervr rogue",
|
239
|
-
0,
|
240
|
-
[
|
241
|
-
[
|
242
|
-
906,
|
243
|
-
480,
|
244
|
-
8,
|
245
|
-
"tinno k600"
|
246
|
-
],
|
247
|
-
[
|
248
|
-
1184,
|
249
|
-
720,
|
250
|
-
5,
|
251
|
-
"mediatek mt6739 (development board, rogue ge8100)"
|
252
|
-
],
|
253
|
-
[
|
254
|
-
1339,
|
255
|
-
720,
|
256
|
-
5,
|
257
|
-
"vodafone vfd 720"
|
258
|
-
],
|
259
|
-
[
|
260
|
-
1344,
|
261
|
-
720,
|
262
|
-
6,
|
263
|
-
"gionee f205"
|
264
|
-
]
|
265
|
-
]
|
266
|
-
],
|
267
|
-
[
|
268
|
-
"powervr rogue ge8300",
|
269
|
-
"8300",
|
270
|
-
"ge8300 powervr rogue",
|
271
|
-
0,
|
272
|
-
[
|
273
|
-
[
|
274
|
-
1280,
|
275
|
-
752,
|
276
|
-
9,
|
277
|
-
"acer b3-a40 iconia one 10"
|
278
|
-
],
|
279
|
-
[
|
280
|
-
1208,
|
281
|
-
800,
|
282
|
-
8,
|
283
|
-
"verizon qtaki1"
|
284
|
-
],
|
285
|
-
[
|
286
|
-
1920,
|
287
|
-
1128,
|
288
|
-
5,
|
289
|
-
"acer b3-a40 fhd iconia one 10"
|
290
|
-
]
|
291
|
-
]
|
292
|
-
],
|
293
|
-
[
|
294
|
-
"powervr rogue ge8320",
|
295
|
-
"8320",
|
296
|
-
"ge8320 powervr rogue",
|
297
|
-
0,
|
298
|
-
[
|
299
|
-
[
|
300
|
-
1465,
|
301
|
-
720,
|
302
|
-
21,
|
303
|
-
"samsung galaxy a12"
|
304
|
-
]
|
305
|
-
]
|
306
|
-
],
|
307
|
-
[
|
308
|
-
"powervr rogue gx6250",
|
309
|
-
"6250",
|
310
|
-
"gx6250 powervr rogue",
|
311
|
-
0,
|
312
|
-
[
|
313
|
-
[
|
314
|
-
688,
|
315
|
-
412,
|
316
|
-
16,
|
317
|
-
"lenovo n23 yoga / flex 11 chromebook"
|
318
|
-
],
|
319
|
-
[
|
320
|
-
1280,
|
321
|
-
672,
|
322
|
-
25,
|
323
|
-
"renesas salvator-x-r8a7796"
|
324
|
-
],
|
325
|
-
[
|
326
|
-
1280,
|
327
|
-
736,
|
328
|
-
25,
|
329
|
-
"mediatek mt8173 (development board)"
|
330
|
-
],
|
331
|
-
[
|
332
|
-
1920,
|
333
|
-
980,
|
334
|
-
10,
|
335
|
-
"google chromebook pixel (2015, rogue gx6250)"
|
336
|
-
],
|
337
|
-
[
|
338
|
-
1920,
|
339
|
-
1016,
|
340
|
-
14,
|
341
|
-
"peloton ruby"
|
342
|
-
],
|
343
|
-
[
|
344
|
-
1920,
|
345
|
-
1020,
|
346
|
-
8,
|
347
|
-
"acer chromebook r13"
|
348
|
-
],
|
349
|
-
[
|
350
|
-
1920,
|
351
|
-
1032,
|
352
|
-
13,
|
353
|
-
"renesas salvator-x-m3"
|
354
|
-
],
|
355
|
-
[
|
356
|
-
1920,
|
357
|
-
1080,
|
358
|
-
12,
|
359
|
-
"xiaomi mibox 3 pro tv box"
|
360
|
-
],
|
361
|
-
[
|
362
|
-
1920,
|
363
|
-
1128,
|
364
|
-
10,
|
365
|
-
"amazon kindle fire hd 10 (2017, kfsuwi)"
|
366
|
-
],
|
367
|
-
[
|
368
|
-
2048,
|
369
|
-
1536,
|
370
|
-
7,
|
371
|
-
"alps jdtab j01"
|
372
|
-
],
|
373
|
-
[
|
374
|
-
2560,
|
375
|
-
1504,
|
376
|
-
7,
|
377
|
-
"onda f109"
|
378
|
-
]
|
379
|
-
]
|
380
|
-
],
|
381
|
-
[
|
382
|
-
"powervr rogue gx6650",
|
383
|
-
"6650",
|
384
|
-
"gx6650 powervr rogue",
|
385
|
-
0,
|
386
|
-
[
|
387
|
-
[
|
388
|
-
1280,
|
389
|
-
672,
|
390
|
-
52,
|
391
|
-
"renesas salvator-x"
|
392
|
-
],
|
393
|
-
[
|
394
|
-
1920,
|
395
|
-
1024,
|
396
|
-
33,
|
397
|
-
"renesas salvator-x-r8a7795"
|
398
|
-
],
|
399
|
-
[
|
400
|
-
1920,
|
401
|
-
1032,
|
402
|
-
24,
|
403
|
-
"renesas salvator-x (octa core)"
|
404
|
-
]
|
405
|
-
]
|
406
|
-
],
|
407
|
-
[
|
408
|
-
"powervr rogue han",
|
409
|
-
"han",
|
410
|
-
"han powervr rogue",
|
411
|
-
0,
|
412
|
-
[
|
413
|
-
[
|
414
|
-
1794,
|
415
|
-
1080,
|
416
|
-
6,
|
417
|
-
"ireadygo w3d"
|
418
|
-
],
|
419
|
-
[
|
420
|
-
1920,
|
421
|
-
1080,
|
422
|
-
6,
|
423
|
-
"changhong x6"
|
424
|
-
],
|
425
|
-
[
|
426
|
-
2392,
|
427
|
-
1440,
|
428
|
-
5,
|
429
|
-
"alcatel one touch d820"
|
430
|
-
],
|
431
|
-
[
|
432
|
-
2560,
|
433
|
-
1440,
|
434
|
-
4,
|
435
|
-
"alcatel 6071y phantom"
|
436
|
-
]
|
437
|
-
]
|
438
|
-
],
|
439
|
-
[
|
440
|
-
"powervr rogue hood",
|
441
|
-
"",
|
442
|
-
"hood powervr rogue",
|
443
|
-
0,
|
444
|
-
[
|
445
|
-
[
|
446
|
-
1280,
|
447
|
-
736,
|
448
|
-
16,
|
449
|
-
"dell venue 7 3740"
|
450
|
-
],
|
451
|
-
[
|
452
|
-
1920,
|
453
|
-
1080,
|
454
|
-
12,
|
455
|
-
"lenovo p90"
|
456
|
-
],
|
457
|
-
[
|
458
|
-
1920,
|
459
|
-
1104,
|
460
|
-
9,
|
461
|
-
"dell venue 8 3840"
|
462
|
-
]
|
463
|
-
]
|
464
|
-
],
|
465
|
-
[
|
466
|
-
"powervr rogue lando",
|
467
|
-
"",
|
468
|
-
"lando powervr rogue",
|
469
|
-
0,
|
470
|
-
[
|
471
|
-
[
|
472
|
-
1920,
|
473
|
-
1080,
|
474
|
-
13,
|
475
|
-
"spreadtrum sp9861e (development board, rogue lando)"
|
476
|
-
]
|
477
|
-
]
|
478
|
-
],
|
479
|
-
[
|
480
|
-
"powervr rogue marlowe",
|
481
|
-
"",
|
482
|
-
"marlowe powervr rogue",
|
483
|
-
0,
|
484
|
-
[
|
485
|
-
[
|
486
|
-
1920,
|
487
|
-
1080,
|
488
|
-
39,
|
489
|
-
"meitu v6 mp1605"
|
490
|
-
],
|
491
|
-
[
|
492
|
-
2560,
|
493
|
-
1440,
|
494
|
-
25,
|
495
|
-
"meizu pro 7 plus"
|
496
|
-
]
|
497
|
-
]
|
498
|
-
]
|
499
|
-
]
|
@@ -1,43 +0,0 @@
|
|
1
|
-
[
|
2
|
-
"5",
|
3
|
-
[
|
4
|
-
"samsung xclipse 920",
|
5
|
-
"920",
|
6
|
-
"920 samsung xclipse",
|
7
|
-
0,
|
8
|
-
[
|
9
|
-
[
|
10
|
-
2115,
|
11
|
-
1080,
|
12
|
-
119,
|
13
|
-
"samsung galaxy s22 5g (sm-s901b)"
|
14
|
-
],
|
15
|
-
[
|
16
|
-
2808,
|
17
|
-
1440,
|
18
|
-
99,
|
19
|
-
"samsung galaxy s22 ultra (sm-s908b)"
|
20
|
-
],
|
21
|
-
[
|
22
|
-
3088,
|
23
|
-
1440,
|
24
|
-
44,
|
25
|
-
"samsung galaxy s22 ultra 5g"
|
26
|
-
]
|
27
|
-
]
|
28
|
-
],
|
29
|
-
[
|
30
|
-
"samsung xclipse 940",
|
31
|
-
"940",
|
32
|
-
"940 samsung xclipse",
|
33
|
-
0,
|
34
|
-
[
|
35
|
-
[
|
36
|
-
2340,
|
37
|
-
1080,
|
38
|
-
117,
|
39
|
-
"samsung galaxy s24 fe"
|
40
|
-
]
|
41
|
-
]
|
42
|
-
]
|
43
|
-
]
|
package/dist/detect-gpu.esm.js
DELETED
@@ -1,2 +0,0 @@
|
|
1
|
-
function e(e,t,r,n){return new(r||(r=Promise))(function(o,a){function i(e){try{d(n.next(e))}catch(e){a(e)}}function c(e){try{d(n.throw(e))}catch(e){a(e)}}function d(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r(function(e){e(t)})).then(i,c)}d((n=n.apply(e,t||[])).next())})}"function"==typeof SuppressedError&&SuppressedError;const t=["geforce 320m","geforce 8600","geforce 8600m gt","geforce 8800 gs","geforce 8800 gt","geforce 9400","geforce 9400m g","geforce 9400m","geforce 9600m gt","geforce 9600m","geforce fx go5200","geforce gt 120","geforce gt 130","geforce gt 330m","geforce gtx 285","google swiftshader","intel g41","intel g45","intel gma 4500mhd","intel gma x3100","intel hd 3000","intel q45","legacy","mali-2","mali-3","mali-4","quadro fx 1500","quadro fx 4","quadro fx 5","radeon hd 2400","radeon hd 2600","radeon hd 4670","radeon hd 4850","radeon hd 4870","radeon hd 5670","radeon hd 5750","radeon hd 6290","radeon hd 6300","radeon hd 6310","radeon hd 6320","radeon hd 6490m","radeon hd 6630m","radeon hd 6750m","radeon hd 6770m","radeon hd 6970m","sgx 543","sgx543"];function r(e){return e=e.toLowerCase().replace(/.*angle ?\((.+)\)(?: on vulkan [0-9.]+)?$/i,"$1").replace(/\s(\d{1,2}gb|direct3d.+$)|\(r\)| \([^)]+\)$/g,"").replace(/(?:vulkan|opengl) \d+\.\d+(?:\.\d+)?(?: \((.*)\))?/,"$1")}const n=34962,o="undefined"==typeof window,a=(()=>{if(o)return;const{userAgent:e,platform:t,maxTouchPoints:r}=window.navigator,n=/(iphone|ipod|ipad)/i.test(e),a="iPad"===t||"MacIntel"===t&&r>0&&!window.MSStream;return{isIpad:a,isMobile:/android/i.test(e)||n||a,isSafari12:/Version\/12.+Safari/.test(e),isFirefox:/Firefox/.test(e)}})();function i(e,t,r){if(!r)return[t];const o=function(e){const t="\n precision highp float;\n attribute vec3 aPosition;\n varying float vvv;\n void main() {\n vvv = 0.31622776601683794;\n gl_Position = vec4(aPosition, 1.0);\n }\n ",r="\n precision highp float;\n varying float vvv;\n void main() {\n vec4 enc = vec4(1.0, 255.0, 65025.0, 16581375.0) * vvv;\n enc = fract(enc);\n enc -= enc.yzww * vec4(1.0 / 255.0, 1.0 / 255.0, 1.0 / 255.0, 0.0);\n gl_FragColor = enc;\n }\n ",o=e.createShader(35633),a=e.createShader(35632),i=e.createProgram();if(!(a&&o&&i))return;e.shaderSource(o,t),e.shaderSource(a,r),e.compileShader(o),e.compileShader(a),e.attachShader(i,o),e.attachShader(i,a),e.linkProgram(i),e.detachShader(i,o),e.detachShader(i,a),e.deleteShader(o),e.deleteShader(a),e.useProgram(i);const c=e.createBuffer();e.bindBuffer(n,c),e.bufferData(n,new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),35044);const d=e.getAttribLocation(i,"aPosition");e.vertexAttribPointer(d,3,5126,!1,0,0),e.enableVertexAttribArray(d),e.clearColor(1,1,1,1),e.clear(16384),e.viewport(0,0,1,1),e.drawArrays(4,0,3);const l=new Uint8Array(4);return e.readPixels(0,0,1,1,6408,5121,l),e.deleteProgram(i),e.deleteBuffer(c),l.join("")}(e),i="801621810",c="8016218135",d="80162181161",l=(null==a?void 0:a.isIpad)?[["a7",d,12],["a8",c,15],["a8x",c,15],["a9",c,15],["a9x",c,15],["a10",c,15],["a10x",c,15],["a12",i,15],["a12x",i,15],["a12z",i,15],["a14",i,15],["a15",i,15],["m1",i,15],["m2",i,15]]:[["a7",d,12],["a8",c,12],["a9",c,15],["a10",c,15],["a11",i,15],["a12",i,15],["a13",i,15],["a14",i,15],["a15",i,15],["a16",i,15],["a17",i,15]];let s;"80162181255"===o?s=l.filter(([,,e])=>e>=14):(s=l.filter(([,e])=>e===o),s.length||(s=l));return s.map(([e])=>`apple ${e} gpu`)}class c extends Error{constructor(e){super(e),Object.setPrototypeOf(this,new.target.prototype)}}const d=[],l=[];function s(e,t){if(e===t)return 0;const r=e;e.length>t.length&&(e=t,t=r);let n=e.length,o=t.length;for(;n>0&&e.charCodeAt(~-n)===t.charCodeAt(~-o);)n--,o--;let a,i=0;for(;i<n&&e.charCodeAt(i)===t.charCodeAt(i);)i++;if(n-=i,o-=i,0===n)return o;let c,s,f=0,u=0,g=0;for(;u<n;)l[u]=e.charCodeAt(i+u),d[u]=++u;for(;g<o;)for(a=t.charCodeAt(i+g),c=g++,f=g,u=0;u<n;u++)s=a===l[u]?c:c+1,c=d[u],f=d[u]=c>f?s>f?f+1:s:s>c?c+1:s;return f}function f(e){return null!=e}const u=(...n)=>e(void 0,[...n],void 0,function*({mobileTiers:n=[0,15,30,60],desktopTiers:d=[0,15,30,60],override:l={},glContext:u,failIfMajorPerformanceCaveat:g=!1,benchmarksURL:h="https://unpkg.com/detect-gpu@5.0.71/dist/benchmarks"}={}){const p={};if(o)return{tier:0,type:"SSR"};const{isIpad:m=!!(null==a?void 0:a.isIpad),isMobile:v=!!(null==a?void 0:a.isMobile),screenSize:w=window.screen,loadBenchmarks:x=t=>e(void 0,void 0,void 0,function*(){const e=yield fetch(`${h}/${t}`).then(e=>e.json());if(parseInt(e.shift().split(".")[0],10)<4)throw new c("Detect GPU benchmark data is out of date. Please update to version 4x");return e})}=l;let{renderer:A}=l;const P=(e,t,r,n,o)=>({device:o,fps:n,gpu:r,isMobile:v,tier:e,type:t});let S,b="";if(A)A=r(A),S=[A];else{const e=u||function(e,t=!1){const r={alpha:!1,antialias:!1,depth:!1,failIfMajorPerformanceCaveat:t,powerPreference:"high-performance",stencil:!1};e&&delete r.powerPreference;const n=window.document.createElement("canvas"),o=n.getContext("webgl",r)||n.getContext("experimental-webgl",r);return null!=o?o:void 0}(null==a?void 0:a.isSafari12,g);if(!e)return P(0,"WEBGL_UNSUPPORTED");const t=(null==a?void 0:a.isFirefox)?null:e.getExtension("WEBGL_debug_renderer_info");if(A=t?e.getParameter(t.UNMASKED_RENDERER_WEBGL):e.getParameter(e.RENDERER),!A)return P(1,"FALLBACK");b=A,A=r(A),S=function(e,t,r){return"apple gpu"===t?i(e,t,r):[t]}(e,A,v)}const E=(yield Promise.all(S.map(function(t){return e(this,void 0,void 0,function*(){var e;const r=(e=>{const t=v?["adreno","apple","mali-t","mali","nvidia","powervr","samsung"]:["intel","apple","amd","radeon","nvidia","geforce","adreno"];for(const r of t)if(e.includes(r))return r})(t);if(!r)return;const n=`${v?"m":"d"}-${r}${m?"-ipad":""}.json`,o=p[n]=null!==(e=p[n])&&void 0!==e?e:x(n);let a;try{a=yield o}catch(e){if(e instanceof c)throw e;return}const i=function(e){var t;const r=(e=e.replace(/\([^)]+\)/,"")).match(/\d+/)||e.match(/(\W|^)([A-Za-z]{1,3})(\W|$)/g);return null!==(t=null==r?void 0:r.join("").replace(/\W|amd/g,""))&&void 0!==t?t:""}(t);let d=a.filter(([,e])=>e===i);d.length||(d=a.filter(([e])=>e.includes(t)));const l=d.length;if(0===l)return;const f=t.split(/[.,()\[\]/\s]/g).sort().filter((e,t,r)=>0===t||e!==r[t-1]).join(" ");let u,[g,,,,h]=l>1?d.map(e=>[e,s(f,e[2])]).sort(([,e],[,t])=>e-t)[0][0]:d[0],A=Number.MAX_VALUE;const{devicePixelRatio:P}=window,S=w.width*P*w.height*P;for(const e of h){const[t,r]=e,n=t*r,o=Math.abs(S-n);o<A&&(A=o,u=e)}if(!u)return;const[,,b,E]=u;return[A,b,g,E]})}))).filter(f).sort(([e=Number.MAX_VALUE,t],[r=Number.MAX_VALUE,n])=>e===r?t-n:e-r);if(!E.length){const e=t.find(e=>A.includes(e));return e?P(0,"BLOCKLISTED",e):P(1,"FALLBACK",`${A} (${b})`)}const[,y,C,L]=E[0];if(-1===y)return P(0,"BLOCKLISTED",C,y,L);const M=v?n:d;let $=0;for(let e=0;e<M.length;e++)y>=M[e]&&($=e);return P($,"BENCHMARK",C,y,L)});export{u as getGPUTier};
|
2
|
-
//# sourceMappingURL=detect-gpu.esm.js.map
|