@grepp/detect-gpu 5.0.78 → 5.0.79
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-adreno.json +13 -0
- package/dist/benchmarks/d-amd.json +24 -24
- package/dist/benchmarks/d-geforce.json +9 -4
- package/dist/benchmarks/d-intel.json +13 -3
- package/dist/benchmarks/d-nvidia.json +48 -4
- package/dist/benchmarks/d-radeon.json +24 -19
- package/dist/benchmarks/m-adreno.json +12 -0
- package/dist/benchmarks/m-apple-ipad.json +11 -5
- package/dist/benchmarks/m-apple.json +6 -6
- package/dist/benchmarks/m-mali.json +14 -0
- package/dist/detect-gpu.esm.js +1 -1
- package/dist/detect-gpu.umd.js +1 -1
- package/package.json +1 -1
@@ -1055,11 +1055,6 @@
|
|
1055
1055
|
1440,
|
1056
1056
|
59
|
1057
1057
|
],
|
1058
|
-
[
|
1059
|
-
3440,
|
1060
|
-
1440,
|
1061
|
-
60
|
1062
|
-
],
|
1063
1058
|
[
|
1064
1059
|
4096,
|
1065
1060
|
2160,
|
@@ -2606,6 +2601,11 @@
|
|
2606
2601
|
1920,
|
2607
2602
|
1080,
|
2608
2603
|
30
|
2604
|
+
],
|
2605
|
+
[
|
2606
|
+
2560,
|
2607
|
+
1440,
|
2608
|
+
35
|
2609
2609
|
]
|
2610
2610
|
]
|
2611
2611
|
],
|
@@ -7428,7 +7428,7 @@
|
|
7428
7428
|
[
|
7429
7429
|
3584,
|
7430
7430
|
2240,
|
7431
|
-
|
7431
|
+
51
|
7432
7432
|
]
|
7433
7433
|
]
|
7434
7434
|
],
|
@@ -7472,6 +7472,11 @@
|
|
7472
7472
|
[
|
7473
7473
|
3584,
|
7474
7474
|
2240,
|
7475
|
+
139
|
7476
|
+
],
|
7477
|
+
[
|
7478
|
+
4096,
|
7479
|
+
2560,
|
7475
7480
|
60
|
7476
7481
|
]
|
7477
7482
|
]
|
@@ -11015,7 +11020,7 @@
|
|
11015
11020
|
[
|
11016
11021
|
1920,
|
11017
11022
|
1080,
|
11018
|
-
|
11023
|
+
144
|
11019
11024
|
],
|
11020
11025
|
[
|
11021
11026
|
3840,
|
@@ -11132,11 +11137,6 @@
|
|
11132
11137
|
1920,
|
11133
11138
|
1080,
|
11134
11139
|
75
|
11135
|
-
],
|
11136
|
-
[
|
11137
|
-
3840,
|
11138
|
-
2160,
|
11139
|
-
160
|
11140
11140
|
]
|
11141
11141
|
]
|
11142
11142
|
],
|
@@ -11353,11 +11353,6 @@
|
|
11353
11353
|
3840,
|
11354
11354
|
2160,
|
11355
11355
|
60
|
11356
|
-
],
|
11357
|
-
[
|
11358
|
-
5120,
|
11359
|
-
2880,
|
11360
|
-
34
|
11361
11356
|
]
|
11362
11357
|
]
|
11363
11358
|
],
|
@@ -11432,7 +11427,7 @@
|
|
11432
11427
|
[
|
11433
11428
|
1920,
|
11434
11429
|
1080,
|
11435
|
-
|
11430
|
+
240
|
11436
11431
|
],
|
11437
11432
|
[
|
11438
11433
|
2560,
|
@@ -11895,11 +11890,6 @@
|
|
11895
11890
|
2560,
|
11896
11891
|
1440,
|
11897
11892
|
1636
|
11898
|
-
],
|
11899
|
-
[
|
11900
|
-
5120,
|
11901
|
-
2880,
|
11902
|
-
60
|
11903
11893
|
]
|
11904
11894
|
]
|
11905
11895
|
],
|
@@ -12134,6 +12124,11 @@
|
|
12134
12124
|
"amd radeon rx vega",
|
12135
12125
|
0,
|
12136
12126
|
[
|
12127
|
+
[
|
12128
|
+
1440,
|
12129
|
+
900,
|
12130
|
+
75
|
12131
|
+
],
|
12137
12132
|
[
|
12138
12133
|
1920,
|
12139
12134
|
1080,
|
@@ -12186,7 +12181,12 @@
|
|
12186
12181
|
[
|
12187
12182
|
3440,
|
12188
12183
|
1440,
|
12189
|
-
|
12184
|
+
60
|
12185
|
+
],
|
12186
|
+
[
|
12187
|
+
3360,
|
12188
|
+
2100,
|
12189
|
+
60
|
12190
12190
|
]
|
12191
12191
|
]
|
12192
12192
|
],
|
@@ -2626,7 +2626,7 @@
|
|
2626
2626
|
[
|
2627
2627
|
1920,
|
2628
2628
|
1080,
|
2629
|
-
|
2629
|
+
60
|
2630
2630
|
],
|
2631
2631
|
[
|
2632
2632
|
2560,
|
@@ -2965,7 +2965,7 @@
|
|
2965
2965
|
[
|
2966
2966
|
1920,
|
2967
2967
|
1080,
|
2968
|
-
|
2968
|
+
392
|
2969
2969
|
]
|
2970
2970
|
]
|
2971
2971
|
],
|
@@ -5934,7 +5934,7 @@
|
|
5934
5934
|
[
|
5935
5935
|
1920,
|
5936
5936
|
1080,
|
5937
|
-
|
5937
|
+
131
|
5938
5938
|
]
|
5939
5939
|
]
|
5940
5940
|
],
|
@@ -5947,7 +5947,7 @@
|
|
5947
5947
|
[
|
5948
5948
|
1920,
|
5949
5949
|
1080,
|
5950
|
-
|
5950
|
+
144
|
5951
5951
|
]
|
5952
5952
|
]
|
5953
5953
|
],
|
@@ -6250,6 +6250,11 @@
|
|
6250
6250
|
2560,
|
6251
6251
|
1600,
|
6252
6252
|
239
|
6253
|
+
],
|
6254
|
+
[
|
6255
|
+
3840,
|
6256
|
+
2400,
|
6257
|
+
277
|
6253
6258
|
]
|
6254
6259
|
]
|
6255
6260
|
],
|
@@ -391,6 +391,11 @@
|
|
391
391
|
"a60 arc intel pro",
|
392
392
|
0,
|
393
393
|
[
|
394
|
+
[
|
395
|
+
1920,
|
396
|
+
1080,
|
397
|
+
487
|
398
|
+
],
|
394
399
|
[
|
395
400
|
3840,
|
396
401
|
2160,
|
@@ -3166,7 +3171,7 @@
|
|
3166
3171
|
[
|
3167
3172
|
1920,
|
3168
3173
|
1080,
|
3169
|
-
|
3174
|
+
58
|
3170
3175
|
],
|
3171
3176
|
[
|
3172
3177
|
2560,
|
@@ -3357,6 +3362,11 @@
|
|
3357
3362
|
1080,
|
3358
3363
|
50
|
3359
3364
|
],
|
3365
|
+
[
|
3366
|
+
2560,
|
3367
|
+
1440,
|
3368
|
+
26
|
3369
|
+
],
|
3360
3370
|
[
|
3361
3371
|
2736,
|
3362
3372
|
1824,
|
@@ -3519,12 +3529,12 @@
|
|
3519
3529
|
[
|
3520
3530
|
1920,
|
3521
3531
|
1080,
|
3522
|
-
|
3532
|
+
54
|
3523
3533
|
],
|
3524
3534
|
[
|
3525
3535
|
3840,
|
3526
3536
|
2160,
|
3527
|
-
|
3537
|
+
18
|
3528
3538
|
]
|
3529
3539
|
]
|
3530
3540
|
],
|
@@ -104,6 +104,19 @@
|
|
104
104
|
]
|
105
105
|
]
|
106
106
|
],
|
107
|
+
[
|
108
|
+
"nvidia a40-2q",
|
109
|
+
"40",
|
110
|
+
"a40-2q nvidia",
|
111
|
+
0,
|
112
|
+
[
|
113
|
+
[
|
114
|
+
1920,
|
115
|
+
1200,
|
116
|
+
30
|
117
|
+
]
|
118
|
+
]
|
119
|
+
],
|
107
120
|
[
|
108
121
|
"nvidia a40-4q",
|
109
122
|
"40",
|
@@ -2852,7 +2865,7 @@
|
|
2852
2865
|
[
|
2853
2866
|
1920,
|
2854
2867
|
1080,
|
2855
|
-
|
2868
|
+
60
|
2856
2869
|
],
|
2857
2870
|
[
|
2858
2871
|
2560,
|
@@ -3191,7 +3204,7 @@
|
|
3191
3204
|
[
|
3192
3205
|
1920,
|
3193
3206
|
1080,
|
3194
|
-
|
3207
|
+
392
|
3195
3208
|
]
|
3196
3209
|
]
|
3197
3210
|
],
|
@@ -6160,7 +6173,7 @@
|
|
6160
6173
|
[
|
6161
6174
|
1920,
|
6162
6175
|
1080,
|
6163
|
-
|
6176
|
+
131
|
6164
6177
|
]
|
6165
6178
|
]
|
6166
6179
|
],
|
@@ -6173,7 +6186,7 @@
|
|
6173
6186
|
[
|
6174
6187
|
1920,
|
6175
6188
|
1080,
|
6176
|
-
|
6189
|
+
144
|
6177
6190
|
]
|
6178
6191
|
]
|
6179
6192
|
],
|
@@ -6476,6 +6489,11 @@
|
|
6476
6489
|
2560,
|
6477
6490
|
1600,
|
6478
6491
|
239
|
6492
|
+
],
|
6493
|
+
[
|
6494
|
+
3840,
|
6495
|
+
2400,
|
6496
|
+
277
|
6479
6497
|
]
|
6480
6498
|
]
|
6481
6499
|
],
|
@@ -7462,6 +7480,19 @@
|
|
7462
7480
|
]
|
7463
7481
|
]
|
7464
7482
|
],
|
7483
|
+
[
|
7484
|
+
"nvidia grid rtx6000-1q",
|
7485
|
+
"6000",
|
7486
|
+
"grid nvidia rtx6000-1q",
|
7487
|
+
0,
|
7488
|
+
[
|
7489
|
+
[
|
7490
|
+
1920,
|
7491
|
+
1080,
|
7492
|
+
60
|
7493
|
+
]
|
7494
|
+
]
|
7495
|
+
],
|
7465
7496
|
[
|
7466
7497
|
"nvidia grid rtx6000-2q",
|
7467
7498
|
"6000",
|
@@ -10953,6 +10984,19 @@
|
|
10953
10984
|
]
|
10954
10985
|
]
|
10955
10986
|
],
|
10987
|
+
[
|
10988
|
+
"nvidia rtx a400",
|
10989
|
+
"400",
|
10990
|
+
"a400 nvidia rtx",
|
10991
|
+
0,
|
10992
|
+
[
|
10993
|
+
[
|
10994
|
+
2560,
|
10995
|
+
1440,
|
10996
|
+
75
|
10997
|
+
]
|
10998
|
+
]
|
10999
|
+
],
|
10956
11000
|
[
|
10957
11001
|
"nvidia rtx a4000",
|
10958
11002
|
"4000",
|
@@ -639,6 +639,11 @@
|
|
639
639
|
1920,
|
640
640
|
1080,
|
641
641
|
30
|
642
|
+
],
|
643
|
+
[
|
644
|
+
2560,
|
645
|
+
1440,
|
646
|
+
35
|
642
647
|
]
|
643
648
|
]
|
644
649
|
],
|
@@ -5461,7 +5466,7 @@
|
|
5461
5466
|
[
|
5462
5467
|
3584,
|
5463
5468
|
2240,
|
5464
|
-
|
5469
|
+
51
|
5465
5470
|
]
|
5466
5471
|
]
|
5467
5472
|
],
|
@@ -5505,6 +5510,11 @@
|
|
5505
5510
|
[
|
5506
5511
|
3584,
|
5507
5512
|
2240,
|
5513
|
+
139
|
5514
|
+
],
|
5515
|
+
[
|
5516
|
+
4096,
|
5517
|
+
2560,
|
5508
5518
|
60
|
5509
5519
|
]
|
5510
5520
|
]
|
@@ -9048,7 +9058,7 @@
|
|
9048
9058
|
[
|
9049
9059
|
1920,
|
9050
9060
|
1080,
|
9051
|
-
|
9061
|
+
144
|
9052
9062
|
],
|
9053
9063
|
[
|
9054
9064
|
3840,
|
@@ -9165,11 +9175,6 @@
|
|
9165
9175
|
1920,
|
9166
9176
|
1080,
|
9167
9177
|
75
|
9168
|
-
],
|
9169
|
-
[
|
9170
|
-
3840,
|
9171
|
-
2160,
|
9172
|
-
160
|
9173
9178
|
]
|
9174
9179
|
]
|
9175
9180
|
],
|
@@ -9386,11 +9391,6 @@
|
|
9386
9391
|
3840,
|
9387
9392
|
2160,
|
9388
9393
|
60
|
9389
|
-
],
|
9390
|
-
[
|
9391
|
-
5120,
|
9392
|
-
2880,
|
9393
|
-
34
|
9394
9394
|
]
|
9395
9395
|
]
|
9396
9396
|
],
|
@@ -9465,7 +9465,7 @@
|
|
9465
9465
|
[
|
9466
9466
|
1920,
|
9467
9467
|
1080,
|
9468
|
-
|
9468
|
+
240
|
9469
9469
|
],
|
9470
9470
|
[
|
9471
9471
|
2560,
|
@@ -9928,11 +9928,6 @@
|
|
9928
9928
|
2560,
|
9929
9929
|
1440,
|
9930
9930
|
1636
|
9931
|
-
],
|
9932
|
-
[
|
9933
|
-
5120,
|
9934
|
-
2880,
|
9935
|
-
60
|
9936
9931
|
]
|
9937
9932
|
]
|
9938
9933
|
],
|
@@ -10167,6 +10162,11 @@
|
|
10167
10162
|
"amd radeon rx vega",
|
10168
10163
|
0,
|
10169
10164
|
[
|
10165
|
+
[
|
10166
|
+
1440,
|
10167
|
+
900,
|
10168
|
+
75
|
10169
|
+
],
|
10170
10170
|
[
|
10171
10171
|
1920,
|
10172
10172
|
1080,
|
@@ -10219,7 +10219,12 @@
|
|
10219
10219
|
[
|
10220
10220
|
3440,
|
10221
10221
|
1440,
|
10222
|
-
|
10222
|
+
60
|
10223
|
+
],
|
10224
|
+
[
|
10225
|
+
3360,
|
10226
|
+
2100,
|
10227
|
+
60
|
10223
10228
|
]
|
10224
10229
|
]
|
10225
10230
|
],
|
@@ -2276,6 +2276,12 @@
|
|
2276
2276
|
90,
|
2277
2277
|
"asus zenfone 7"
|
2278
2278
|
],
|
2279
|
+
[
|
2280
|
+
2320,
|
2281
|
+
1080,
|
2282
|
+
89,
|
2283
|
+
"xiaomi redmi k40"
|
2284
|
+
],
|
2279
2285
|
[
|
2280
2286
|
2400,
|
2281
2287
|
1080,
|
@@ -2471,6 +2477,12 @@
|
|
2471
2477
|
1152,
|
2472
2478
|
121,
|
2473
2479
|
"xiaomi 14"
|
2480
|
+
],
|
2481
|
+
[
|
2482
|
+
2680,
|
2483
|
+
1260,
|
2484
|
+
120,
|
2485
|
+
"vivo iqoo 12"
|
2474
2486
|
]
|
2475
2487
|
]
|
2476
2488
|
],
|
@@ -101,7 +101,7 @@
|
|
101
101
|
[
|
102
102
|
2388,
|
103
103
|
1668,
|
104
|
-
|
104
|
+
109,
|
105
105
|
"apple ipad pro (11-inch) (2rd generation)"
|
106
106
|
],
|
107
107
|
[
|
@@ -271,8 +271,8 @@
|
|
271
271
|
[
|
272
272
|
2388,
|
273
273
|
1668,
|
274
|
-
|
275
|
-
"apple ipad
|
274
|
+
120,
|
275
|
+
"apple ipad pro (11-inch) (3rd generation)"
|
276
276
|
],
|
277
277
|
[
|
278
278
|
2732,
|
@@ -330,7 +330,13 @@
|
|
330
330
|
2360,
|
331
331
|
1640,
|
332
332
|
60,
|
333
|
-
"apple ipad air 11-inch 7th gen (wifi
|
333
|
+
"apple ipad air 11-inch 7th gen (wifi)"
|
334
|
+
],
|
335
|
+
[
|
336
|
+
2732,
|
337
|
+
2048,
|
338
|
+
60,
|
339
|
+
"apple ipad air 13-inch 7th gen (wifi)"
|
334
340
|
]
|
335
341
|
]
|
336
342
|
],
|
@@ -349,7 +355,7 @@
|
|
349
355
|
[
|
350
356
|
2752,
|
351
357
|
2064,
|
352
|
-
|
358
|
+
119,
|
353
359
|
"apple ipad pro 12.9 inch 7th gen"
|
354
360
|
]
|
355
361
|
]
|
@@ -87,7 +87,7 @@
|
|
87
87
|
[
|
88
88
|
1334,
|
89
89
|
750,
|
90
|
-
|
90
|
+
60,
|
91
91
|
"apple iphone se (2nd gen)"
|
92
92
|
],
|
93
93
|
[
|
@@ -105,7 +105,7 @@
|
|
105
105
|
[
|
106
106
|
2688,
|
107
107
|
1242,
|
108
|
-
|
108
|
+
57,
|
109
109
|
"apple iphone 11 pro max"
|
110
110
|
]
|
111
111
|
]
|
@@ -157,14 +157,14 @@
|
|
157
157
|
[
|
158
158
|
2338,
|
159
159
|
1080,
|
160
|
-
|
160
|
+
62,
|
161
161
|
"apple iphone 13 mini"
|
162
162
|
],
|
163
163
|
[
|
164
164
|
2532,
|
165
165
|
1170,
|
166
166
|
60,
|
167
|
-
"apple iphone
|
167
|
+
"apple iphone 13 pro"
|
168
168
|
],
|
169
169
|
[
|
170
170
|
2778,
|
@@ -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
|
+
60,
|
213
213
|
"apple iphone 15 pro max"
|
214
214
|
]
|
215
215
|
]
|
@@ -674,6 +674,20 @@
|
|
674
674
|
]
|
675
675
|
]
|
676
676
|
],
|
677
|
+
[
|
678
|
+
"arm mali-g925-immortalis mc12",
|
679
|
+
"925",
|
680
|
+
"arm mali-g925-immortalis mc12",
|
681
|
+
0,
|
682
|
+
[
|
683
|
+
[
|
684
|
+
2800,
|
685
|
+
1260,
|
686
|
+
118,
|
687
|
+
"vivo x200 pro"
|
688
|
+
]
|
689
|
+
]
|
690
|
+
],
|
677
691
|
[
|
678
692
|
"arm mali-t604 mp4",
|
679
693
|
"604",
|
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.79/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.79","/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