@grepp/detect-gpu 5.0.77 → 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.
@@ -114,6 +114,19 @@
114
114
  ]
115
115
  ]
116
116
  ],
117
+ [
118
+ "qualcomm adreno 7c gen 3 gpu",
119
+ "7",
120
+ "3 7c adreno gen gpu qualcomm",
121
+ 0,
122
+ [
123
+ [
124
+ 1920,
125
+ 1080,
126
+ 49
127
+ ]
128
+ ]
129
+ ],
117
130
  [
118
131
  "qualcomm adreno 7c+ gen 3",
119
132
  "7",
@@ -2524,6 +2524,19 @@
2524
2524
  ]
2525
2525
  ]
2526
2526
  ],
2527
+ [
2528
+ "amd radeo rx 6650 ti",
2529
+ "6650",
2530
+ "6650 amd radeo rx ti",
2531
+ 0,
2532
+ [
2533
+ [
2534
+ 3840,
2535
+ 2160,
2536
+ 60
2537
+ ]
2538
+ ]
2539
+ ],
2527
2540
  [
2528
2541
  "amd radeon",
2529
2542
  "",
@@ -2588,6 +2601,11 @@
2588
2601
  1920,
2589
2602
  1080,
2590
2603
  30
2604
+ ],
2605
+ [
2606
+ 2560,
2607
+ 1440,
2608
+ 35
2591
2609
  ]
2592
2610
  ]
2593
2611
  ],
@@ -4126,6 +4144,11 @@
4126
4144
  1920,
4127
4145
  1080,
4128
4146
  60
4147
+ ],
4148
+ [
4149
+ 1920,
4150
+ 1200,
4151
+ 55
4129
4152
  ]
4130
4153
  ]
4131
4154
  ],
@@ -5519,11 +5542,6 @@
5519
5542
  "7850 amd hd radeon",
5520
5543
  0,
5521
5544
  [
5522
- [
5523
- 1680,
5524
- 1050,
5525
- 59
5526
- ],
5527
5545
  [
5528
5546
  1920,
5529
5547
  1080,
@@ -7410,7 +7428,7 @@
7410
7428
  [
7411
7429
  3584,
7412
7430
  2240,
7413
- 130
7431
+ 51
7414
7432
  ]
7415
7433
  ]
7416
7434
  ],
@@ -7455,6 +7473,11 @@
7455
7473
  3584,
7456
7474
  2240,
7457
7475
  139
7476
+ ],
7477
+ [
7478
+ 4096,
7479
+ 2560,
7480
+ 60
7458
7481
  ]
7459
7482
  ]
7460
7483
  ],
@@ -10486,7 +10509,7 @@
10486
10509
  [
10487
10510
  1920,
10488
10511
  1080,
10489
- 50
10512
+ 85
10490
10513
  ],
10491
10514
  [
10492
10515
  3840,
@@ -10997,7 +11020,7 @@
10997
11020
  [
10998
11021
  1920,
10999
11022
  1080,
11000
- 141
11023
+ 144
11001
11024
  ],
11002
11025
  [
11003
11026
  3840,
@@ -11046,7 +11069,7 @@
11046
11069
  [
11047
11070
  1920,
11048
11071
  1080,
11049
- 59
11072
+ 60
11050
11073
  ],
11051
11074
  [
11052
11075
  1920,
@@ -11242,7 +11265,7 @@
11242
11265
  [
11243
11266
  1920,
11244
11267
  1080,
11245
- 239
11268
+ 350
11246
11269
  ],
11247
11270
  [
11248
11271
  3840,
@@ -11404,7 +11427,7 @@
11404
11427
  [
11405
11428
  1920,
11406
11429
  1080,
11407
- 30
11430
+ 240
11408
11431
  ],
11409
11432
  [
11410
11433
  2560,
@@ -11867,11 +11890,6 @@
11867
11890
  2560,
11868
11891
  1440,
11869
11892
  1636
11870
- ],
11871
- [
11872
- 5120,
11873
- 2880,
11874
- 60
11875
11893
  ]
11876
11894
  ]
11877
11895
  ],
@@ -12106,6 +12124,11 @@
12106
12124
  "amd radeon rx vega",
12107
12125
  0,
12108
12126
  [
12127
+ [
12128
+ 1440,
12129
+ 900,
12130
+ 75
12131
+ ],
12109
12132
  [
12110
12133
  1920,
12111
12134
  1080,
@@ -12158,7 +12181,12 @@
12158
12181
  [
12159
12182
  3440,
12160
12183
  1440,
12161
- 23
12184
+ 60
12185
+ ],
12186
+ [
12187
+ 3360,
12188
+ 2100,
12189
+ 60
12162
12190
  ]
12163
12191
  ]
12164
12192
  ],
@@ -12413,6 +12441,11 @@
12413
12441
  1920,
12414
12442
  1080,
12415
12443
  505
12444
+ ],
12445
+ [
12446
+ 1920,
12447
+ 1200,
12448
+ 60
12416
12449
  ]
12417
12450
  ]
12418
12451
  ],
@@ -2626,7 +2626,7 @@
2626
2626
  [
2627
2627
  1920,
2628
2628
  1080,
2629
- 268
2629
+ 60
2630
2630
  ],
2631
2631
  [
2632
2632
  2560,
@@ -5618,7 +5618,7 @@
5618
5618
  [
5619
5619
  1920,
5620
5620
  1080,
5621
- 621
5621
+ 626
5622
5622
  ]
5623
5623
  ]
5624
5624
  ],
@@ -5934,7 +5934,7 @@
5934
5934
  [
5935
5935
  1920,
5936
5936
  1080,
5937
- 165
5937
+ 131
5938
5938
  ]
5939
5939
  ]
5940
5940
  ],
@@ -5947,7 +5947,7 @@
5947
5947
  [
5948
5948
  1920,
5949
5949
  1080,
5950
- 970
5950
+ 144
5951
5951
  ]
5952
5952
  ]
5953
5953
  ],
@@ -5961,11 +5961,6 @@
5961
5961
  1920,
5962
5962
  1080,
5963
5963
  239
5964
- ],
5965
- [
5966
- 2560,
5967
- 1080,
5968
- 100
5969
5964
  ]
5970
5965
  ]
5971
5966
  ],
@@ -6175,6 +6170,11 @@
6175
6170
  1920,
6176
6171
  1080,
6177
6172
  144
6173
+ ],
6174
+ [
6175
+ 2560,
6176
+ 1440,
6177
+ 144
6178
6178
  ]
6179
6179
  ]
6180
6180
  ],
@@ -6198,9 +6198,9 @@
6198
6198
  0,
6199
6199
  [
6200
6200
  [
6201
- 1920,
6202
- 1080,
6203
- 60
6201
+ 2560,
6202
+ 1440,
6203
+ 300
6204
6204
  ],
6205
6205
  [
6206
6206
  3840,
@@ -6240,6 +6240,24 @@
6240
6240
  ]
6241
6241
  ]
6242
6242
  ],
6243
+ [
6244
+ "nvidia geforce rtx 5080 laptop gpu",
6245
+ "5080",
6246
+ "5080 geforce gpu laptop nvidia rtx",
6247
+ 0,
6248
+ [
6249
+ [
6250
+ 2560,
6251
+ 1600,
6252
+ 239
6253
+ ],
6254
+ [
6255
+ 3840,
6256
+ 2400,
6257
+ 277
6258
+ ]
6259
+ ]
6260
+ ],
6243
6261
  [
6244
6262
  "nvidia geforce rtx 5090",
6245
6263
  "5090",
@@ -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,
@@ -1889,11 +1894,6 @@
1889
1894
  1080,
1890
1895
  37
1891
1896
  ],
1892
- [
1893
- 2256,
1894
- 1504,
1895
- 28
1896
- ],
1897
1897
  [
1898
1898
  2736,
1899
1899
  1824,
@@ -3362,6 +3362,11 @@
3362
3362
  1080,
3363
3363
  50
3364
3364
  ],
3365
+ [
3366
+ 2560,
3367
+ 1440,
3368
+ 26
3369
+ ],
3365
3370
  [
3366
3371
  2736,
3367
3372
  1824,
@@ -3524,12 +3529,12 @@
3524
3529
  [
3525
3530
  1920,
3526
3531
  1080,
3527
- 39
3532
+ 54
3528
3533
  ],
3529
3534
  [
3530
3535
  3840,
3531
3536
  2160,
3532
- 21
3537
+ 18
3533
3538
  ]
3534
3539
  ]
3535
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
- 268
2868
+ 60
2856
2869
  ],
2857
2870
  [
2858
2871
  2560,
@@ -5844,7 +5857,7 @@
5844
5857
  [
5845
5858
  1920,
5846
5859
  1080,
5847
- 621
5860
+ 626
5848
5861
  ]
5849
5862
  ]
5850
5863
  ],
@@ -6160,7 +6173,7 @@
6160
6173
  [
6161
6174
  1920,
6162
6175
  1080,
6163
- 165
6176
+ 131
6164
6177
  ]
6165
6178
  ]
6166
6179
  ],
@@ -6173,7 +6186,7 @@
6173
6186
  [
6174
6187
  1920,
6175
6188
  1080,
6176
- 970
6189
+ 144
6177
6190
  ]
6178
6191
  ]
6179
6192
  ],
@@ -6187,11 +6200,6 @@
6187
6200
  1920,
6188
6201
  1080,
6189
6202
  239
6190
- ],
6191
- [
6192
- 2560,
6193
- 1080,
6194
- 100
6195
6203
  ]
6196
6204
  ]
6197
6205
  ],
@@ -6401,6 +6409,11 @@
6401
6409
  1920,
6402
6410
  1080,
6403
6411
  144
6412
+ ],
6413
+ [
6414
+ 2560,
6415
+ 1440,
6416
+ 144
6404
6417
  ]
6405
6418
  ]
6406
6419
  ],
@@ -6424,9 +6437,9 @@
6424
6437
  0,
6425
6438
  [
6426
6439
  [
6427
- 1920,
6428
- 1080,
6429
- 60
6440
+ 2560,
6441
+ 1440,
6442
+ 300
6430
6443
  ],
6431
6444
  [
6432
6445
  3840,
@@ -6466,6 +6479,24 @@
6466
6479
  ]
6467
6480
  ]
6468
6481
  ],
6482
+ [
6483
+ "nvidia geforce rtx 5080 laptop gpu",
6484
+ "5080",
6485
+ "5080 geforce gpu laptop nvidia rtx",
6486
+ 0,
6487
+ [
6488
+ [
6489
+ 2560,
6490
+ 1600,
6491
+ 239
6492
+ ],
6493
+ [
6494
+ 3840,
6495
+ 2400,
6496
+ 277
6497
+ ]
6498
+ ]
6499
+ ],
6469
6500
  [
6470
6501
  "nvidia geforce rtx 5090",
6471
6502
  "5090",
@@ -7449,6 +7480,19 @@
7449
7480
  ]
7450
7481
  ]
7451
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
+ ],
7452
7496
  [
7453
7497
  "nvidia grid rtx6000-2q",
7454
7498
  "6000",
@@ -10565,11 +10609,6 @@
10565
10609
  1920,
10566
10610
  1080,
10567
10611
  443
10568
- ],
10569
- [
10570
- 5120,
10571
- 2160,
10572
- 72
10573
10612
  ]
10574
10613
  ]
10575
10614
  ],
@@ -10756,6 +10795,11 @@
10756
10795
  1920,
10757
10796
  1200,
10758
10797
  60
10798
+ ],
10799
+ [
10800
+ 2400,
10801
+ 1600,
10802
+ 120
10759
10803
  ]
10760
10804
  ]
10761
10805
  ],
@@ -10940,6 +10984,19 @@
10940
10984
  ]
10941
10985
  ]
10942
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
+ ],
10943
11000
  [
10944
11001
  "nvidia rtx a4000",
10945
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
  ],
@@ -2177,6 +2182,11 @@
2177
2182
  1920,
2178
2183
  1080,
2179
2184
  60
2185
+ ],
2186
+ [
2187
+ 1920,
2188
+ 1200,
2189
+ 55
2180
2190
  ]
2181
2191
  ]
2182
2192
  ],
@@ -3570,11 +3580,6 @@
3570
3580
  "7850 amd hd radeon",
3571
3581
  0,
3572
3582
  [
3573
- [
3574
- 1680,
3575
- 1050,
3576
- 59
3577
- ],
3578
3583
  [
3579
3584
  1920,
3580
3585
  1080,
@@ -5461,7 +5466,7 @@
5461
5466
  [
5462
5467
  3584,
5463
5468
  2240,
5464
- 130
5469
+ 51
5465
5470
  ]
5466
5471
  ]
5467
5472
  ],
@@ -5506,6 +5511,11 @@
5506
5511
  3584,
5507
5512
  2240,
5508
5513
  139
5514
+ ],
5515
+ [
5516
+ 4096,
5517
+ 2560,
5518
+ 60
5509
5519
  ]
5510
5520
  ]
5511
5521
  ],
@@ -8537,7 +8547,7 @@
8537
8547
  [
8538
8548
  1920,
8539
8549
  1080,
8540
- 50
8550
+ 85
8541
8551
  ],
8542
8552
  [
8543
8553
  3840,
@@ -9048,7 +9058,7 @@
9048
9058
  [
9049
9059
  1920,
9050
9060
  1080,
9051
- 141
9061
+ 144
9052
9062
  ],
9053
9063
  [
9054
9064
  3840,
@@ -9097,7 +9107,7 @@
9097
9107
  [
9098
9108
  1920,
9099
9109
  1080,
9100
- 59
9110
+ 60
9101
9111
  ],
9102
9112
  [
9103
9113
  1920,
@@ -9293,7 +9303,7 @@
9293
9303
  [
9294
9304
  1920,
9295
9305
  1080,
9296
- 239
9306
+ 350
9297
9307
  ],
9298
9308
  [
9299
9309
  3840,
@@ -9455,7 +9465,7 @@
9455
9465
  [
9456
9466
  1920,
9457
9467
  1080,
9458
- 30
9468
+ 240
9459
9469
  ],
9460
9470
  [
9461
9471
  2560,
@@ -9918,11 +9928,6 @@
9918
9928
  2560,
9919
9929
  1440,
9920
9930
  1636
9921
- ],
9922
- [
9923
- 5120,
9924
- 2880,
9925
- 60
9926
9931
  ]
9927
9932
  ]
9928
9933
  ],
@@ -10157,6 +10162,11 @@
10157
10162
  "amd radeon rx vega",
10158
10163
  0,
10159
10164
  [
10165
+ [
10166
+ 1440,
10167
+ 900,
10168
+ 75
10169
+ ],
10160
10170
  [
10161
10171
  1920,
10162
10172
  1080,
@@ -10209,7 +10219,12 @@
10209
10219
  [
10210
10220
  3440,
10211
10221
  1440,
10212
- 23
10222
+ 60
10223
+ ],
10224
+ [
10225
+ 3360,
10226
+ 2100,
10227
+ 60
10213
10228
  ]
10214
10229
  ]
10215
10230
  ],
@@ -10464,6 +10479,11 @@
10464
10479
  1920,
10465
10480
  1080,
10466
10481
  505
10482
+ ],
10483
+ [
10484
+ 1920,
10485
+ 1200,
10486
+ 60
10467
10487
  ]
10468
10488
  ]
10469
10489
  ],
@@ -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,
@@ -2314,6 +2320,12 @@
2314
2320
  "660 adreno qualcomm",
2315
2321
  0,
2316
2322
  [
2323
+ [
2324
+ 2186,
2325
+ 1080,
2326
+ 60,
2327
+ "xiaomi 11t pro"
2328
+ ],
2317
2329
  [
2318
2330
  2190,
2319
2331
  1080,
@@ -2369,7 +2381,7 @@
2369
2381
  [
2370
2382
  2183,
2371
2383
  1080,
2372
- 103,
2384
+ 121,
2373
2385
  "xiaomi 12"
2374
2386
  ],
2375
2387
  [
@@ -2448,6 +2460,12 @@
2448
2460
  120,
2449
2461
  "samsung galaxy s24 ultra"
2450
2462
  ],
2463
+ [
2464
+ 2253,
2465
+ 1035,
2466
+ 118,
2467
+ "samsung s24 (adreno)"
2468
+ ],
2451
2469
  [
2452
2470
  2290,
2453
2471
  1038,
@@ -2459,6 +2477,12 @@
2459
2477
  1152,
2460
2478
  121,
2461
2479
  "xiaomi 14"
2480
+ ],
2481
+ [
2482
+ 2680,
2483
+ 1260,
2484
+ 120,
2485
+ "vivo iqoo 12"
2462
2486
  ]
2463
2487
  ]
2464
2488
  ],
@@ -101,7 +101,7 @@
101
101
  [
102
102
  2388,
103
103
  1668,
104
- 113,
104
+ 109,
105
105
  "apple ipad pro (11-inch) (2rd generation)"
106
106
  ],
107
107
  [
@@ -121,7 +121,7 @@
121
121
  [
122
122
  2160,
123
123
  1620,
124
- 59,
124
+ 60,
125
125
  "apple ipad 9th gen"
126
126
  ]
127
127
  ]
@@ -311,6 +311,12 @@
311
311
  2048,
312
312
  60,
313
313
  "apple ipad air 13-inch (m2)"
314
+ ],
315
+ [
316
+ 2752,
317
+ 2064,
318
+ 120,
319
+ "apple ipad pro 12.9 inch (6th gen)"
314
320
  ]
315
321
  ]
316
322
  ],
@@ -324,7 +330,13 @@
324
330
  2360,
325
331
  1640,
326
332
  60,
327
- "apple ipad air 11-inch 7th gen (wifi+cellular)"
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)"
328
340
  ]
329
341
  ]
330
342
  ],
@@ -337,13 +349,13 @@
337
349
  [
338
350
  2420,
339
351
  1668,
340
- 120,
341
- "apple ipad pro 11-inch (m4)"
352
+ 61,
353
+ "apple ipad pro 11 inch 5th gen"
342
354
  ],
343
355
  [
344
356
  2752,
345
357
  2064,
346
- 121,
358
+ 119,
347
359
  "apple ipad pro 12.9 inch 7th gen"
348
360
  ]
349
361
  ]
@@ -87,7 +87,7 @@
87
87
  [
88
88
  1334,
89
89
  750,
90
- 75,
90
+ 60,
91
91
  "apple iphone se (2nd gen)"
92
92
  ],
93
93
  [
@@ -99,13 +99,13 @@
99
99
  [
100
100
  2436,
101
101
  1125,
102
- 31,
102
+ 60,
103
103
  "apple iphone 11 pro"
104
104
  ],
105
105
  [
106
106
  2688,
107
107
  1242,
108
- 70,
108
+ 57,
109
109
  "apple iphone 11 pro max"
110
110
  ]
111
111
  ]
@@ -128,6 +128,12 @@
128
128
  61,
129
129
  "apple iphone 12"
130
130
  ],
131
+ [
132
+ 2532,
133
+ 1170,
134
+ 97,
135
+ "apple iphone 12 pro"
136
+ ],
131
137
  [
132
138
  2778,
133
139
  1284,
@@ -151,7 +157,7 @@
151
157
  [
152
158
  2338,
153
159
  1080,
154
- 32,
160
+ 62,
155
161
  "apple iphone 13 mini"
156
162
  ],
157
163
  [
@@ -184,7 +190,7 @@
184
190
  2778,
185
191
  1284,
186
192
  60,
187
- "apple iphone 15 plus"
193
+ "apple iphone 14 pro max"
188
194
  ]
189
195
  ]
190
196
  ],
@@ -203,7 +209,7 @@
203
209
  [
204
210
  2778,
205
211
  1284,
206
- 122,
212
+ 60,
207
213
  "apple iphone 15 pro max"
208
214
  ]
209
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",
@@ -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.77/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};
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
@@ -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.77","/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)]}})})}});
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@grepp/detect-gpu",
3
- "version": "5.0.77",
3
+ "version": "5.0.79",
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",