@grepp/detect-gpu 5.0.86 → 5.0.88
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/dist/benchmarks/d-amd.json +18 -28
- package/dist/benchmarks/d-apple.json +13 -0
- package/dist/benchmarks/d-geforce.json +15 -10
- package/dist/benchmarks/d-intel.json +5 -0
- package/dist/benchmarks/d-nvidia.json +15 -10
- package/dist/benchmarks/d-radeon.json +18 -28
- package/dist/benchmarks/m-adreno.json +6 -6
- package/dist/benchmarks/m-apple-ipad.json +25 -5
- package/dist/benchmarks/m-apple.json +4 -4
- package/dist/detect-gpu.esm.js +1 -1
- package/dist/detect-gpu.umd.js +1 -1
- package/package.json +4 -4
|
@@ -776,12 +776,7 @@
|
|
|
776
776
|
[
|
|
777
777
|
1920,
|
|
778
778
|
1080,
|
|
779
|
-
|
|
780
|
-
],
|
|
781
|
-
[
|
|
782
|
-
2560,
|
|
783
|
-
1080,
|
|
784
|
-
60
|
|
779
|
+
89
|
|
785
780
|
]
|
|
786
781
|
]
|
|
787
782
|
],
|
|
@@ -2546,7 +2541,7 @@
|
|
|
2546
2541
|
[
|
|
2547
2542
|
1920,
|
|
2548
2543
|
1080,
|
|
2549
|
-
|
|
2544
|
+
52
|
|
2550
2545
|
],
|
|
2551
2546
|
[
|
|
2552
2547
|
1920,
|
|
@@ -2905,11 +2900,6 @@
|
|
|
2905
2900
|
"780m amd radeon",
|
|
2906
2901
|
0,
|
|
2907
2902
|
[
|
|
2908
|
-
[
|
|
2909
|
-
1920,
|
|
2910
|
-
1080,
|
|
2911
|
-
332
|
|
2912
|
-
],
|
|
2913
2903
|
[
|
|
2914
2904
|
1920,
|
|
2915
2905
|
1200,
|
|
@@ -2970,7 +2960,12 @@
|
|
|
2970
2960
|
[
|
|
2971
2961
|
1920,
|
|
2972
2962
|
1200,
|
|
2973
|
-
|
|
2963
|
+
59
|
|
2964
|
+
],
|
|
2965
|
+
[
|
|
2966
|
+
2880,
|
|
2967
|
+
1800,
|
|
2968
|
+
137
|
|
2974
2969
|
],
|
|
2975
2970
|
[
|
|
2976
2971
|
2880,
|
|
@@ -4188,11 +4183,6 @@
|
|
|
4188
4183
|
1920,
|
|
4189
4184
|
1080,
|
|
4190
4185
|
60
|
|
4191
|
-
],
|
|
4192
|
-
[
|
|
4193
|
-
1920,
|
|
4194
|
-
1200,
|
|
4195
|
-
55
|
|
4196
4186
|
]
|
|
4197
4187
|
]
|
|
4198
4188
|
],
|
|
@@ -7521,7 +7511,7 @@
|
|
|
7521
7511
|
[
|
|
7522
7512
|
3584,
|
|
7523
7513
|
2240,
|
|
7524
|
-
|
|
7514
|
+
60
|
|
7525
7515
|
]
|
|
7526
7516
|
]
|
|
7527
7517
|
],
|
|
@@ -7563,6 +7553,11 @@
|
|
|
7563
7553
|
3360,
|
|
7564
7554
|
2100,
|
|
7565
7555
|
39
|
|
7556
|
+
],
|
|
7557
|
+
[
|
|
7558
|
+
4096,
|
|
7559
|
+
2304,
|
|
7560
|
+
40
|
|
7566
7561
|
]
|
|
7567
7562
|
]
|
|
7568
7563
|
],
|
|
@@ -8234,8 +8229,8 @@
|
|
|
8234
8229
|
0,
|
|
8235
8230
|
[
|
|
8236
8231
|
[
|
|
8237
|
-
|
|
8238
|
-
|
|
8232
|
+
5120,
|
|
8233
|
+
2880,
|
|
8239
8234
|
60
|
|
8240
8235
|
]
|
|
8241
8236
|
]
|
|
@@ -11549,11 +11544,6 @@
|
|
|
11549
11544
|
1920,
|
|
11550
11545
|
1080,
|
|
11551
11546
|
75
|
|
11552
|
-
],
|
|
11553
|
-
[
|
|
11554
|
-
3840,
|
|
11555
|
-
2160,
|
|
11556
|
-
59
|
|
11557
11547
|
]
|
|
11558
11548
|
]
|
|
11559
11549
|
],
|
|
@@ -11579,7 +11569,7 @@
|
|
|
11579
11569
|
[
|
|
11580
11570
|
1920,
|
|
11581
11571
|
1080,
|
|
11582
|
-
|
|
11572
|
+
170
|
|
11583
11573
|
]
|
|
11584
11574
|
]
|
|
11585
11575
|
],
|
|
@@ -12085,7 +12075,7 @@
|
|
|
12085
12075
|
[
|
|
12086
12076
|
1920,
|
|
12087
12077
|
1080,
|
|
12088
|
-
|
|
12078
|
+
60
|
|
12089
12079
|
],
|
|
12090
12080
|
[
|
|
12091
12081
|
3840,
|
|
@@ -2664,6 +2664,11 @@
|
|
|
2664
2664
|
"1060 geforce gtx nvidia",
|
|
2665
2665
|
0,
|
|
2666
2666
|
[
|
|
2667
|
+
[
|
|
2668
|
+
1280,
|
|
2669
|
+
720,
|
|
2670
|
+
60
|
|
2671
|
+
],
|
|
2667
2672
|
[
|
|
2668
2673
|
1920,
|
|
2669
2674
|
1080,
|
|
@@ -5361,7 +5366,7 @@
|
|
|
5361
5366
|
[
|
|
5362
5367
|
2560,
|
|
5363
5368
|
1440,
|
|
5364
|
-
|
|
5369
|
+
143
|
|
5365
5370
|
]
|
|
5366
5371
|
]
|
|
5367
5372
|
],
|
|
@@ -5709,7 +5714,7 @@
|
|
|
5709
5714
|
[
|
|
5710
5715
|
1920,
|
|
5711
5716
|
1080,
|
|
5712
|
-
|
|
5717
|
+
837
|
|
5713
5718
|
]
|
|
5714
5719
|
]
|
|
5715
5720
|
],
|
|
@@ -5916,7 +5921,7 @@
|
|
|
5916
5921
|
[
|
|
5917
5922
|
1920,
|
|
5918
5923
|
1080,
|
|
5919
|
-
|
|
5924
|
+
611
|
|
5920
5925
|
]
|
|
5921
5926
|
]
|
|
5922
5927
|
],
|
|
@@ -5982,6 +5987,11 @@
|
|
|
5982
5987
|
1920,
|
|
5983
5988
|
1080,
|
|
5984
5989
|
164
|
|
5990
|
+
],
|
|
5991
|
+
[
|
|
5992
|
+
2560,
|
|
5993
|
+
1440,
|
|
5994
|
+
179
|
|
5985
5995
|
]
|
|
5986
5996
|
]
|
|
5987
5997
|
],
|
|
@@ -6149,12 +6159,7 @@
|
|
|
6149
6159
|
[
|
|
6150
6160
|
1920,
|
|
6151
6161
|
1080,
|
|
6152
|
-
|
|
6153
|
-
],
|
|
6154
|
-
[
|
|
6155
|
-
2560,
|
|
6156
|
-
1600,
|
|
6157
|
-
165
|
|
6162
|
+
144
|
|
6158
6163
|
]
|
|
6159
6164
|
]
|
|
6160
6165
|
],
|
|
@@ -6301,7 +6306,7 @@
|
|
|
6301
6306
|
[
|
|
6302
6307
|
2560,
|
|
6303
6308
|
1600,
|
|
6304
|
-
|
|
6309
|
+
240
|
|
6305
6310
|
]
|
|
6306
6311
|
]
|
|
6307
6312
|
],
|
|
@@ -2903,6 +2903,11 @@
|
|
|
2903
2903
|
"1060 geforce gtx nvidia",
|
|
2904
2904
|
0,
|
|
2905
2905
|
[
|
|
2906
|
+
[
|
|
2907
|
+
1280,
|
|
2908
|
+
720,
|
|
2909
|
+
60
|
|
2910
|
+
],
|
|
2906
2911
|
[
|
|
2907
2912
|
1920,
|
|
2908
2913
|
1080,
|
|
@@ -5600,7 +5605,7 @@
|
|
|
5600
5605
|
[
|
|
5601
5606
|
2560,
|
|
5602
5607
|
1440,
|
|
5603
|
-
|
|
5608
|
+
143
|
|
5604
5609
|
]
|
|
5605
5610
|
]
|
|
5606
5611
|
],
|
|
@@ -5948,7 +5953,7 @@
|
|
|
5948
5953
|
[
|
|
5949
5954
|
1920,
|
|
5950
5955
|
1080,
|
|
5951
|
-
|
|
5956
|
+
837
|
|
5952
5957
|
]
|
|
5953
5958
|
]
|
|
5954
5959
|
],
|
|
@@ -6155,7 +6160,7 @@
|
|
|
6155
6160
|
[
|
|
6156
6161
|
1920,
|
|
6157
6162
|
1080,
|
|
6158
|
-
|
|
6163
|
+
611
|
|
6159
6164
|
]
|
|
6160
6165
|
]
|
|
6161
6166
|
],
|
|
@@ -6221,6 +6226,11 @@
|
|
|
6221
6226
|
1920,
|
|
6222
6227
|
1080,
|
|
6223
6228
|
164
|
|
6229
|
+
],
|
|
6230
|
+
[
|
|
6231
|
+
2560,
|
|
6232
|
+
1440,
|
|
6233
|
+
179
|
|
6224
6234
|
]
|
|
6225
6235
|
]
|
|
6226
6236
|
],
|
|
@@ -6388,12 +6398,7 @@
|
|
|
6388
6398
|
[
|
|
6389
6399
|
1920,
|
|
6390
6400
|
1080,
|
|
6391
|
-
|
|
6392
|
-
],
|
|
6393
|
-
[
|
|
6394
|
-
2560,
|
|
6395
|
-
1600,
|
|
6396
|
-
165
|
|
6401
|
+
144
|
|
6397
6402
|
]
|
|
6398
6403
|
]
|
|
6399
6404
|
],
|
|
@@ -6540,7 +6545,7 @@
|
|
|
6540
6545
|
[
|
|
6541
6546
|
2560,
|
|
6542
6547
|
1600,
|
|
6543
|
-
|
|
6548
|
+
240
|
|
6544
6549
|
]
|
|
6545
6550
|
]
|
|
6546
6551
|
],
|
|
@@ -239,12 +239,7 @@
|
|
|
239
239
|
[
|
|
240
240
|
1920,
|
|
241
241
|
1080,
|
|
242
|
-
|
|
243
|
-
],
|
|
244
|
-
[
|
|
245
|
-
2560,
|
|
246
|
-
1080,
|
|
247
|
-
60
|
|
242
|
+
89
|
|
248
243
|
]
|
|
249
244
|
]
|
|
250
245
|
],
|
|
@@ -584,7 +579,7 @@
|
|
|
584
579
|
[
|
|
585
580
|
1920,
|
|
586
581
|
1080,
|
|
587
|
-
|
|
582
|
+
52
|
|
588
583
|
],
|
|
589
584
|
[
|
|
590
585
|
1920,
|
|
@@ -943,11 +938,6 @@
|
|
|
943
938
|
"780m amd radeon",
|
|
944
939
|
0,
|
|
945
940
|
[
|
|
946
|
-
[
|
|
947
|
-
1920,
|
|
948
|
-
1080,
|
|
949
|
-
332
|
|
950
|
-
],
|
|
951
941
|
[
|
|
952
942
|
1920,
|
|
953
943
|
1200,
|
|
@@ -1008,7 +998,12 @@
|
|
|
1008
998
|
[
|
|
1009
999
|
1920,
|
|
1010
1000
|
1200,
|
|
1011
|
-
|
|
1001
|
+
59
|
|
1002
|
+
],
|
|
1003
|
+
[
|
|
1004
|
+
2880,
|
|
1005
|
+
1800,
|
|
1006
|
+
137
|
|
1012
1007
|
],
|
|
1013
1008
|
[
|
|
1014
1009
|
2880,
|
|
@@ -2226,11 +2221,6 @@
|
|
|
2226
2221
|
1920,
|
|
2227
2222
|
1080,
|
|
2228
2223
|
60
|
|
2229
|
-
],
|
|
2230
|
-
[
|
|
2231
|
-
1920,
|
|
2232
|
-
1200,
|
|
2233
|
-
55
|
|
2234
2224
|
]
|
|
2235
2225
|
]
|
|
2236
2226
|
],
|
|
@@ -5559,7 +5549,7 @@
|
|
|
5559
5549
|
[
|
|
5560
5550
|
3584,
|
|
5561
5551
|
2240,
|
|
5562
|
-
|
|
5552
|
+
60
|
|
5563
5553
|
]
|
|
5564
5554
|
]
|
|
5565
5555
|
],
|
|
@@ -5601,6 +5591,11 @@
|
|
|
5601
5591
|
3360,
|
|
5602
5592
|
2100,
|
|
5603
5593
|
39
|
|
5594
|
+
],
|
|
5595
|
+
[
|
|
5596
|
+
4096,
|
|
5597
|
+
2304,
|
|
5598
|
+
40
|
|
5604
5599
|
]
|
|
5605
5600
|
]
|
|
5606
5601
|
],
|
|
@@ -6272,8 +6267,8 @@
|
|
|
6272
6267
|
0,
|
|
6273
6268
|
[
|
|
6274
6269
|
[
|
|
6275
|
-
|
|
6276
|
-
|
|
6270
|
+
5120,
|
|
6271
|
+
2880,
|
|
6277
6272
|
60
|
|
6278
6273
|
]
|
|
6279
6274
|
]
|
|
@@ -9587,11 +9582,6 @@
|
|
|
9587
9582
|
1920,
|
|
9588
9583
|
1080,
|
|
9589
9584
|
75
|
|
9590
|
-
],
|
|
9591
|
-
[
|
|
9592
|
-
3840,
|
|
9593
|
-
2160,
|
|
9594
|
-
59
|
|
9595
9585
|
]
|
|
9596
9586
|
]
|
|
9597
9587
|
],
|
|
@@ -9617,7 +9607,7 @@
|
|
|
9617
9607
|
[
|
|
9618
9608
|
1920,
|
|
9619
9609
|
1080,
|
|
9620
|
-
|
|
9610
|
+
170
|
|
9621
9611
|
]
|
|
9622
9612
|
]
|
|
9623
9613
|
],
|
|
@@ -10123,7 +10113,7 @@
|
|
|
10123
10113
|
[
|
|
10124
10114
|
1920,
|
|
10125
10115
|
1080,
|
|
10126
|
-
|
|
10116
|
+
60
|
|
10127
10117
|
],
|
|
10128
10118
|
[
|
|
10129
10119
|
3840,
|
|
@@ -2492,12 +2492,6 @@
|
|
|
2492
2492
|
"830 adreno qualcomm",
|
|
2493
2493
|
0,
|
|
2494
2494
|
[
|
|
2495
|
-
[
|
|
2496
|
-
2122,
|
|
2497
|
-
1080,
|
|
2498
|
-
120,
|
|
2499
|
-
"samsung galaxy s25+"
|
|
2500
|
-
],
|
|
2501
2495
|
[
|
|
2502
2496
|
2256,
|
|
2503
2497
|
1032,
|
|
@@ -2510,6 +2504,12 @@
|
|
|
2510
2504
|
120,
|
|
2511
2505
|
"samsung galaxy s25 ultra"
|
|
2512
2506
|
],
|
|
2507
|
+
[
|
|
2508
|
+
2340,
|
|
2509
|
+
1080,
|
|
2510
|
+
120,
|
|
2511
|
+
"samsung galaxy s25+"
|
|
2512
|
+
],
|
|
2513
2513
|
[
|
|
2514
2514
|
3200,
|
|
2515
2515
|
1440,
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
[
|
|
42
42
|
2732,
|
|
43
43
|
2048,
|
|
44
|
-
|
|
44
|
+
41,
|
|
45
45
|
"apple ipad pro (12.9-inch, 2nd gen)"
|
|
46
46
|
]
|
|
47
47
|
]
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
[
|
|
62
62
|
2160,
|
|
63
63
|
1620,
|
|
64
|
-
|
|
64
|
+
59,
|
|
65
65
|
"apple ipad 8th gen (wifi+cellular)"
|
|
66
66
|
],
|
|
67
67
|
[
|
|
@@ -190,7 +190,7 @@
|
|
|
190
190
|
2266,
|
|
191
191
|
1488,
|
|
192
192
|
60,
|
|
193
|
-
"apple ipad mini (a17)"
|
|
193
|
+
"apple ipad mini 7th gen cellular (a17)"
|
|
194
194
|
]
|
|
195
195
|
]
|
|
196
196
|
],
|
|
@@ -285,7 +285,7 @@
|
|
|
285
285
|
[
|
|
286
286
|
2388,
|
|
287
287
|
1668,
|
|
288
|
-
|
|
288
|
+
118,
|
|
289
289
|
"apple ipad pro (11-inch) (3rd generation)"
|
|
290
290
|
],
|
|
291
291
|
[
|
|
@@ -338,7 +338,7 @@
|
|
|
338
338
|
2360,
|
|
339
339
|
1640,
|
|
340
340
|
60,
|
|
341
|
-
"apple ipad air 11-inch 7th gen (wifi)"
|
|
341
|
+
"apple ipad air 11-inch 7th gen (wifi+cellular)"
|
|
342
342
|
],
|
|
343
343
|
[
|
|
344
344
|
2732,
|
|
@@ -367,5 +367,25 @@
|
|
|
367
367
|
"apple ipad pro 12.9 inch 7th gen"
|
|
368
368
|
]
|
|
369
369
|
]
|
|
370
|
+
],
|
|
371
|
+
[
|
|
372
|
+
"apple m5 gpu",
|
|
373
|
+
"5",
|
|
374
|
+
"apple gpu m5",
|
|
375
|
+
0,
|
|
376
|
+
[
|
|
377
|
+
[
|
|
378
|
+
2420,
|
|
379
|
+
1668,
|
|
380
|
+
120,
|
|
381
|
+
"apple ipad pro m5 11 inch"
|
|
382
|
+
],
|
|
383
|
+
[
|
|
384
|
+
2752,
|
|
385
|
+
2064,
|
|
386
|
+
120,
|
|
387
|
+
"apple ipad pro m5 13 inch"
|
|
388
|
+
]
|
|
389
|
+
]
|
|
370
390
|
]
|
|
371
391
|
]
|
|
@@ -93,7 +93,7 @@
|
|
|
93
93
|
[
|
|
94
94
|
1334,
|
|
95
95
|
750,
|
|
96
|
-
|
|
96
|
+
75,
|
|
97
97
|
"apple iphone se (2nd gen)"
|
|
98
98
|
],
|
|
99
99
|
[
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
[
|
|
152
152
|
1334,
|
|
153
153
|
750,
|
|
154
|
-
|
|
154
|
+
60,
|
|
155
155
|
"apple iphone se (2022)"
|
|
156
156
|
],
|
|
157
157
|
[
|
|
@@ -190,7 +190,7 @@
|
|
|
190
190
|
2778,
|
|
191
191
|
1284,
|
|
192
192
|
60,
|
|
193
|
-
"apple iphone
|
|
193
|
+
"apple iphone 14 pro max"
|
|
194
194
|
]
|
|
195
195
|
]
|
|
196
196
|
],
|
|
@@ -209,7 +209,7 @@
|
|
|
209
209
|
[
|
|
210
210
|
2778,
|
|
211
211
|
1284,
|
|
212
|
-
|
|
212
|
+
122,
|
|
213
213
|
"apple iphone 15 pro max"
|
|
214
214
|
]
|
|
215
215
|
]
|
package/dist/detect-gpu.esm.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
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/@grepp/detect-gpu@5.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/@grepp/detect-gpu@5.0.88/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
2
|
//# sourceMappingURL=detect-gpu.esm.js.map
|
package/dist/detect-gpu.umd.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).DetectGPU={})}(this,function(e){"use strict";var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])},r(e,t)};function t(e,r,t,n){return new(t||(t=Promise))(function(o,a){function i(e){try{u(n.next(e))}catch(e){a(e)}}function c(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t(function(e){e(r)})).then(i,c)}u((n=n.apply(e,r||[])).next())})}function n(e,r){var t,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=c(0),i.throw=c(1),i.return=c(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(u){return function(c){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(t=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=r.call(e,a)}catch(e){c=[6,e],n=0}finally{t=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}}"function"==typeof SuppressedError&&SuppressedError;var o=["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 a(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 i=34962;var c="undefined"==typeof window,u=function(){if(!c){var e=window.navigator,r=e.userAgent,t=e.platform,n=e.maxTouchPoints,o=/(iphone|ipod|ipad)/i.test(r),a="iPad"===t||"MacIntel"===t&&n>0&&!window.MSStream;return{isIpad:a,isMobile:/android/i.test(r)||o||a,isSafari12:/Version\/12.+Safari/.test(r),isFirefox:/Firefox/.test(r)}}}();function l(e,r,t){if(!t)return[r];var n,o=function(e){var r="\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 ",t="\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 ",n=e.createShader(35633),o=e.createShader(35632),a=e.createProgram();if(!(o&&n&&a))return;e.shaderSource(n,r),e.shaderSource(o,t),e.compileShader(n),e.compileShader(o),e.attachShader(a,n),e.attachShader(a,o),e.linkProgram(a),e.detachShader(a,n),e.detachShader(a,o),e.deleteShader(n),e.deleteShader(o),e.useProgram(a);var c=e.createBuffer();e.bindBuffer(i,c),e.bufferData(i,new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),35044);var u=e.getAttribLocation(a,"aPosition");e.vertexAttribPointer(u,3,5126,!1,0,0),e.enableVertexAttribArray(u),e.clearColor(1,1,1,1),e.clear(16384),e.viewport(0,0,1,1),e.drawArrays(4,0,3);var l=new Uint8Array(4);return e.readPixels(0,0,1,1,6408,5121,l),e.deleteProgram(a),e.deleteBuffer(c),l.join("")}(e),a="801621810",c="8016218135",l="80162181161",f=(null==u?void 0:u.isIpad)?[["a7",l,12],["a8",c,15],["a8x",c,15],["a9",c,15],["a9x",c,15],["a10",c,15],["a10x",c,15],["a12",a,15],["a12x",a,15],["a12z",a,15],["a14",a,15],["a15",a,15],["m1",a,15],["m2",a,15]]:[["a7",l,12],["a8",c,12],["a9",c,15],["a10",c,15],["a11",a,15],["a12",a,15],["a13",a,15],["a14",a,15],["a15",a,15],["a16",a,15],["a17",a,15]];return"80162181255"===o?n=f.filter(function(e){return e[2]>=14}):(n=f.filter(function(e){return e[1]===o})).length||(n=f),n.map(function(e){var r=e[0];return"apple ".concat(r," gpu")})}var f=function(e){function t(r){var t=this.constructor,n=e.call(this,r)||this;return Object.setPrototypeOf(n,t.prototype),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(Error);var d=[],s=[];function h(e,r){if(e===r)return 0;var t=e;e.length>r.length&&(e=r,r=t);for(var n=e.length,o=r.length;n>0&&e.charCodeAt(~-n)===r.charCodeAt(~-o);)n--,o--;for(var a,i=0;i<n&&e.charCodeAt(i)===r.charCodeAt(i);)i++;if(o-=i,0===(n-=i))return o;for(var c,u,l=0,f=0,h=0;f<n;)s[f]=e.charCodeAt(i+f),d[f]=++f;for(;h<o;)for(a=r.charCodeAt(i+h),c=h++,l=h,f=0;f<n;f++)u=a===s[f]?c:c+1,c=d[f],l=d[f]=c>l?u>l?l+1:u:u>c?c+1:u;return l}function p(e){return null!=e}e.getGPUTier=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return t(void 0,function(e,r,t){if(t||2===arguments.length)for(var n,o=0,a=r.length;o<a;o++)!n&&o in r||(n||(n=Array.prototype.slice.call(r,0,o)),n[o]=r[o]);return e.concat(n||Array.prototype.slice.call(r))}([],e,!0),void 0,function(e){function r(e){return t(this,void 0,void 0,function(){var r,t,o,a,c,u,l,d,p,v,m,y,x,P,S,E,C,_,L,j,M,k,B,I,O,R,T;return n(this,function(n){switch(n.label){case 0:if(!(r=A(e)))return[2];t="".concat(g?"m":"d","-").concat(r).concat(s?"-ipad":"",".json"),o=i[t]=null!==(T=i[t])&&void 0!==T?T:w(t),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,o];case 2:return a=n.sent(),[3,4];case 3:if((c=n.sent())instanceof f)throw c;return[2];case 4:if(u=function(e){var r,t=(e=e.replace(/\([^)]+\)/,"")).match(/\d+/)||e.match(/(\W|^)([A-Za-z]{1,3})(\W|$)/g);return null!==(r=null==t?void 0:t.join("").replace(/\W|amd/g,""))&&void 0!==r?r:""}(e),l=a.filter(function(e){return e[1]===u}),l.length||(l=a.filter(function(r){return r[0].includes(e)})),0===(d=l.length))return[2];for(p=e.split(/[.,()\[\]/\s]/g).sort().filter(function(e,r,t){return 0===r||e!==t[r-1]}).join(" "),v=d>1?l.map(function(e){return[e,h(p,e[2])]}).sort(function(e,r){return e[1]-r[1]})[0][0]:l[0],m=v[0],y=v[4],x=Number.MAX_VALUE,S=window.devicePixelRatio,E=b.width*S*b.height*S,C=0,_=y;C<_.length;C++)L=_[C],j=L[0],M=L[1],k=j*M,(B=Math.abs(E-k))<x&&(x=B,P=L);return P?(O=(I=P)[2],R=I[3],[2,[x,O,m,R]]):[2]}})})}var i,d,s,v,g,m,b,y,w,x,A,P,S,E,C,_,L,j,M,k,B,I,O,R,T,U=void 0===e?{}:e,D=U.mobileTiers,N=void 0===D?[0,15,30,60]:D,F=U.desktopTiers,G=void 0===F?[0,15,30,60]:F,K=U.override,W=void 0===K?{}:K,$=U.glContext,V=U.failIfMajorPerformanceCaveat,q=void 0!==V&&V,z=U.benchmarksURL,X=void 0===z?"https://unpkg.com/@grepp/detect-gpu@".concat("5.0.
|
|
1
|
+
!function(e,r){"object"==typeof exports&&"undefined"!=typeof module?r(exports):"function"==typeof define&&define.amd?define(["exports"],r):r((e="undefined"!=typeof globalThis?globalThis:e||self).DetectGPU={})}(this,function(e){"use strict";var r=function(e,t){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,r){e.__proto__=r}||function(e,r){for(var t in r)Object.prototype.hasOwnProperty.call(r,t)&&(e[t]=r[t])},r(e,t)};function t(e,r,t,n){return new(t||(t=Promise))(function(o,a){function i(e){try{u(n.next(e))}catch(e){a(e)}}function c(e){try{u(n.throw(e))}catch(e){a(e)}}function u(e){var r;e.done?o(e.value):(r=e.value,r instanceof t?r:new t(function(e){e(r)})).then(i,c)}u((n=n.apply(e,r||[])).next())})}function n(e,r){var t,n,o,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},i=Object.create(("function"==typeof Iterator?Iterator:Object).prototype);return i.next=c(0),i.throw=c(1),i.return=c(2),"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(c){return function(u){return function(c){if(t)throw new TypeError("Generator is already executing.");for(;i&&(i=0,c[0]&&(a=0)),a;)try{if(t=1,n&&(o=2&c[0]?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;switch(n=0,o&&(c=[2&c[0],o.value]),c[0]){case 0:case 1:o=c;break;case 4:return a.label++,{value:c[1],done:!1};case 5:a.label++,n=c[1],c=[0];continue;case 7:c=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==c[0]&&2!==c[0])){a=0;continue}if(3===c[0]&&(!o||c[1]>o[0]&&c[1]<o[3])){a.label=c[1];break}if(6===c[0]&&a.label<o[1]){a.label=o[1],o=c;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(c);break}o[2]&&a.ops.pop(),a.trys.pop();continue}c=r.call(e,a)}catch(e){c=[6,e],n=0}finally{t=o=0}if(5&c[0])throw c[1];return{value:c[0]?c[1]:void 0,done:!0}}([c,u])}}}"function"==typeof SuppressedError&&SuppressedError;var o=["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 a(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 i=34962;var c="undefined"==typeof window,u=function(){if(!c){var e=window.navigator,r=e.userAgent,t=e.platform,n=e.maxTouchPoints,o=/(iphone|ipod|ipad)/i.test(r),a="iPad"===t||"MacIntel"===t&&n>0&&!window.MSStream;return{isIpad:a,isMobile:/android/i.test(r)||o||a,isSafari12:/Version\/12.+Safari/.test(r),isFirefox:/Firefox/.test(r)}}}();function l(e,r,t){if(!t)return[r];var n,o=function(e){var r="\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 ",t="\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 ",n=e.createShader(35633),o=e.createShader(35632),a=e.createProgram();if(!(o&&n&&a))return;e.shaderSource(n,r),e.shaderSource(o,t),e.compileShader(n),e.compileShader(o),e.attachShader(a,n),e.attachShader(a,o),e.linkProgram(a),e.detachShader(a,n),e.detachShader(a,o),e.deleteShader(n),e.deleteShader(o),e.useProgram(a);var c=e.createBuffer();e.bindBuffer(i,c),e.bufferData(i,new Float32Array([-1,-1,0,3,-1,0,-1,3,0]),35044);var u=e.getAttribLocation(a,"aPosition");e.vertexAttribPointer(u,3,5126,!1,0,0),e.enableVertexAttribArray(u),e.clearColor(1,1,1,1),e.clear(16384),e.viewport(0,0,1,1),e.drawArrays(4,0,3);var l=new Uint8Array(4);return e.readPixels(0,0,1,1,6408,5121,l),e.deleteProgram(a),e.deleteBuffer(c),l.join("")}(e),a="801621810",c="8016218135",l="80162181161",f=(null==u?void 0:u.isIpad)?[["a7",l,12],["a8",c,15],["a8x",c,15],["a9",c,15],["a9x",c,15],["a10",c,15],["a10x",c,15],["a12",a,15],["a12x",a,15],["a12z",a,15],["a14",a,15],["a15",a,15],["m1",a,15],["m2",a,15]]:[["a7",l,12],["a8",c,12],["a9",c,15],["a10",c,15],["a11",a,15],["a12",a,15],["a13",a,15],["a14",a,15],["a15",a,15],["a16",a,15],["a17",a,15]];return"80162181255"===o?n=f.filter(function(e){return e[2]>=14}):(n=f.filter(function(e){return e[1]===o})).length||(n=f),n.map(function(e){var r=e[0];return"apple ".concat(r," gpu")})}var f=function(e){function t(r){var t=this.constructor,n=e.call(this,r)||this;return Object.setPrototypeOf(n,t.prototype),n}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}(t,e),t}(Error);var d=[],s=[];function h(e,r){if(e===r)return 0;var t=e;e.length>r.length&&(e=r,r=t);for(var n=e.length,o=r.length;n>0&&e.charCodeAt(~-n)===r.charCodeAt(~-o);)n--,o--;for(var a,i=0;i<n&&e.charCodeAt(i)===r.charCodeAt(i);)i++;if(o-=i,0===(n-=i))return o;for(var c,u,l=0,f=0,h=0;f<n;)s[f]=e.charCodeAt(i+f),d[f]=++f;for(;h<o;)for(a=r.charCodeAt(i+h),c=h++,l=h,f=0;f<n;f++)u=a===s[f]?c:c+1,c=d[f],l=d[f]=c>l?u>l?l+1:u:u>c?c+1:u;return l}function p(e){return null!=e}e.getGPUTier=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return t(void 0,function(e,r,t){if(t||2===arguments.length)for(var n,o=0,a=r.length;o<a;o++)!n&&o in r||(n||(n=Array.prototype.slice.call(r,0,o)),n[o]=r[o]);return e.concat(n||Array.prototype.slice.call(r))}([],e,!0),void 0,function(e){function r(e){return t(this,void 0,void 0,function(){var r,t,o,a,c,u,l,d,p,v,m,y,x,P,S,E,C,_,L,j,M,k,B,I,O,R,T;return n(this,function(n){switch(n.label){case 0:if(!(r=A(e)))return[2];t="".concat(g?"m":"d","-").concat(r).concat(s?"-ipad":"",".json"),o=i[t]=null!==(T=i[t])&&void 0!==T?T:w(t),n.label=1;case 1:return n.trys.push([1,3,,4]),[4,o];case 2:return a=n.sent(),[3,4];case 3:if((c=n.sent())instanceof f)throw c;return[2];case 4:if(u=function(e){var r,t=(e=e.replace(/\([^)]+\)/,"")).match(/\d+/)||e.match(/(\W|^)([A-Za-z]{1,3})(\W|$)/g);return null!==(r=null==t?void 0:t.join("").replace(/\W|amd/g,""))&&void 0!==r?r:""}(e),l=a.filter(function(e){return e[1]===u}),l.length||(l=a.filter(function(r){return r[0].includes(e)})),0===(d=l.length))return[2];for(p=e.split(/[.,()\[\]/\s]/g).sort().filter(function(e,r,t){return 0===r||e!==t[r-1]}).join(" "),v=d>1?l.map(function(e){return[e,h(p,e[2])]}).sort(function(e,r){return e[1]-r[1]})[0][0]:l[0],m=v[0],y=v[4],x=Number.MAX_VALUE,S=window.devicePixelRatio,E=b.width*S*b.height*S,C=0,_=y;C<_.length;C++)L=_[C],j=L[0],M=L[1],k=j*M,(B=Math.abs(E-k))<x&&(x=B,P=L);return P?(O=(I=P)[2],R=I[3],[2,[x,O,m,R]]):[2]}})})}var i,d,s,v,g,m,b,y,w,x,A,P,S,E,C,_,L,j,M,k,B,I,O,R,T,U=void 0===e?{}:e,D=U.mobileTiers,N=void 0===D?[0,15,30,60]:D,F=U.desktopTiers,G=void 0===F?[0,15,30,60]:F,K=U.override,W=void 0===K?{}:K,$=U.glContext,V=U.failIfMajorPerformanceCaveat,q=void 0!==V&&V,z=U.benchmarksURL,X=void 0===z?"https://unpkg.com/@grepp/detect-gpu@".concat("5.0.88","/dist/benchmarks"):z;return n(this,function(e){switch(e.label){case 0:if(i={},c)return[2,{tier:0,type:"SSR"}];if(d=W.isIpad,s=void 0===d?!!(null==u?void 0:u.isIpad):d,v=W.isMobile,g=void 0===v?!!(null==u?void 0:u.isMobile):v,m=W.screenSize,b=void 0===m?window.screen:m,y=W.loadBenchmarks,w=void 0===y?function(e){return t(void 0,void 0,void 0,function(){var r;return n(this,function(t){switch(t.label){case 0:return[4,fetch("".concat(X,"/").concat(e)).then(function(e){return e.json()})];case 1:if(r=t.sent(),parseInt(r.shift().split(".")[0],10)<4)throw new f("Detect GPU benchmark data is out of date. Please update to version 4x");return[2,r]}})})}:y,x=W.renderer,A=function(e){for(var r=0,t=g?["adreno","apple","mali-t","mali","nvidia","powervr","samsung"]:["intel","apple","amd","radeon","nvidia","geforce","adreno"];r<t.length;r++){var n=t[r];if(e.includes(n))return n}},P=function(e,r,t,n,o){return{device:o,fps:n,gpu:t,isMobile:g,tier:e,type:r}},E="",x)x=a(x),S=[x];else{if(C=$||function(e,r){void 0===r&&(r=!1);var t={alpha:!1,antialias:!1,depth:!1,failIfMajorPerformanceCaveat:r,powerPreference:"high-performance",stencil:!1};e&&delete t.powerPreference;var n=window.document.createElement("canvas"),o=n.getContext("webgl",t)||n.getContext("experimental-webgl",t);return null!=o?o:void 0}(null==u?void 0:u.isSafari12,q),!C)return[2,P(0,"WEBGL_UNSUPPORTED")];if(_=(null==u?void 0:u.isFirefox)?null:C.getExtension("WEBGL_debug_renderer_info"),!(x=_?C.getParameter(_.UNMASKED_RENDERER_WEBGL):C.getParameter(C.RENDERER)))return[2,P(1,"FALLBACK")];E=x,x=a(x),S=function(e,r,t){return"apple gpu"===r?l(e,r,t):[r]}(C,x,g)}return[4,Promise.all(S.map(r))];case 1:if(L=e.sent().filter(p).sort(function(e,r){var t=e[0],n=void 0===t?Number.MAX_VALUE:t,o=e[1],a=r[0],i=void 0===a?Number.MAX_VALUE:a,c=r[1];return n===i?o-c:n-i}),!L.length)return[2,(j=o.find(function(e){return x.includes(e)}))?P(0,"BLOCKLISTED",j):P(1,"FALLBACK","".concat(x," (").concat(E,")"))];if(M=L[0],k=M[1],B=M[2],I=M[3],-1===k)return[2,P(0,"BLOCKLISTED",B,k,I)];for(O=g?N:G,R=0,T=0;T<O.length;T++)k>=O[T]&&(R=T);return[2,P(R,"BENCHMARK",B,k,I)]}})})}});
|
|
2
2
|
//# sourceMappingURL=detect-gpu.umd.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@grepp/detect-gpu",
|
|
3
|
-
"version": "5.0.
|
|
3
|
+
"version": "5.0.88",
|
|
4
4
|
"description": "Classify GPU's based on their benchmark score in order to provide an adaptive experience.",
|
|
5
5
|
"author": "Tim van Scherpenzeel",
|
|
6
6
|
"license": "MIT",
|
|
@@ -53,15 +53,15 @@
|
|
|
53
53
|
"@types/jest": "^29.5.3",
|
|
54
54
|
"@typescript-eslint/eslint-plugin": "^6.4.0",
|
|
55
55
|
"@typescript-eslint/parser": "^6.4.0",
|
|
56
|
-
"csvtojson": "^2.0.
|
|
56
|
+
"csvtojson": "^2.0.13",
|
|
57
57
|
"eslint": "^8.4.1",
|
|
58
58
|
"eslint-config-prettier": "^9.0.0",
|
|
59
59
|
"eslint-plugin-prettier": "^5.0.0",
|
|
60
60
|
"jest": "^29.6.2",
|
|
61
|
-
"jest-environment-jsdom": "^29.
|
|
61
|
+
"jest-environment-jsdom": "^29.7.0",
|
|
62
62
|
"moment": "^2.29.1",
|
|
63
63
|
"prettier": "^3.0.1",
|
|
64
|
-
"puppeteer": "^24.
|
|
64
|
+
"puppeteer": "^24.26.1",
|
|
65
65
|
"rimraf": "^5.0.1",
|
|
66
66
|
"rollup": "^3.28.0",
|
|
67
67
|
"rollup-plugin-commonjs": "^10.1.0",
|