@grepp/detect-gpu 5.0.79 → 5.0.81
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 +30 -17
- package/dist/benchmarks/d-geforce.json +9 -9
- package/dist/benchmarks/d-intel.json +33 -7
- package/dist/benchmarks/d-nvidia.json +27 -14
- package/dist/benchmarks/d-radeon.json +30 -17
- package/dist/benchmarks/m-apple-ipad.json +21 -7
- package/dist/benchmarks/m-apple.json +1 -1
- package/dist/benchmarks/m-mali.json +7 -1
- package/dist/detect-gpu.esm.js +1 -1
- package/dist/detect-gpu.umd.js +1 -1
- package/package.json +1 -1
@@ -2736,6 +2736,19 @@
|
|
2736
2736
|
]
|
2737
2737
|
]
|
2738
2738
|
],
|
2739
|
+
[
|
2740
|
+
"amd radeon 610m",
|
2741
|
+
"610",
|
2742
|
+
"610m amd radeon",
|
2743
|
+
0,
|
2744
|
+
[
|
2745
|
+
[
|
2746
|
+
1920,
|
2747
|
+
1080,
|
2748
|
+
55
|
2749
|
+
]
|
2750
|
+
]
|
2751
|
+
],
|
2739
2752
|
[
|
2740
2753
|
"amd radeon 620",
|
2741
2754
|
"620",
|
@@ -5542,6 +5555,11 @@
|
|
5542
5555
|
"7850 amd hd radeon",
|
5543
5556
|
0,
|
5544
5557
|
[
|
5558
|
+
[
|
5559
|
+
1680,
|
5560
|
+
1050,
|
5561
|
+
60
|
5562
|
+
],
|
5545
5563
|
[
|
5546
5564
|
1920,
|
5547
5565
|
1080,
|
@@ -6696,7 +6714,7 @@
|
|
6696
6714
|
[
|
6697
6715
|
1280,
|
6698
6716
|
1024,
|
6699
|
-
|
6717
|
+
31
|
6700
6718
|
],
|
6701
6719
|
[
|
6702
6720
|
1920,
|
@@ -7473,11 +7491,6 @@
|
|
7473
7491
|
3584,
|
7474
7492
|
2240,
|
7475
7493
|
139
|
7476
|
-
],
|
7477
|
-
[
|
7478
|
-
4096,
|
7479
|
-
2560,
|
7480
|
-
60
|
7481
7494
|
]
|
7482
7495
|
]
|
7483
7496
|
],
|
@@ -11478,6 +11491,11 @@
|
|
11478
11491
|
"6500 amd radeon rx xt",
|
11479
11492
|
0,
|
11480
11493
|
[
|
11494
|
+
[
|
11495
|
+
1680,
|
11496
|
+
1050,
|
11497
|
+
60
|
11498
|
+
],
|
11481
11499
|
[
|
11482
11500
|
1920,
|
11483
11501
|
1080,
|
@@ -11587,7 +11605,7 @@
|
|
11587
11605
|
[
|
11588
11606
|
1920,
|
11589
11607
|
1080,
|
11590
|
-
|
11608
|
+
60
|
11591
11609
|
],
|
11592
11610
|
[
|
11593
11611
|
5120,
|
@@ -11926,14 +11944,14 @@
|
|
11926
11944
|
0,
|
11927
11945
|
[
|
11928
11946
|
[
|
11929
|
-
|
11930
|
-
|
11931
|
-
|
11947
|
+
1920,
|
11948
|
+
1080,
|
11949
|
+
1093
|
11932
11950
|
],
|
11933
11951
|
[
|
11934
|
-
|
11952
|
+
3840,
|
11935
11953
|
2160,
|
11936
|
-
|
11954
|
+
60
|
11937
11955
|
]
|
11938
11956
|
]
|
11939
11957
|
],
|
@@ -12182,11 +12200,6 @@
|
|
12182
12200
|
3440,
|
12183
12201
|
1440,
|
12184
12202
|
60
|
12185
|
-
],
|
12186
|
-
[
|
12187
|
-
3360,
|
12188
|
-
2100,
|
12189
|
-
60
|
12190
12203
|
]
|
12191
12204
|
]
|
12192
12205
|
],
|
@@ -5675,7 +5675,7 @@
|
|
5675
5675
|
[
|
5676
5676
|
1920,
|
5677
5677
|
1080,
|
5678
|
-
|
5678
|
+
165
|
5679
5679
|
]
|
5680
5680
|
]
|
5681
5681
|
],
|
@@ -5934,7 +5934,7 @@
|
|
5934
5934
|
[
|
5935
5935
|
1920,
|
5936
5936
|
1080,
|
5937
|
-
|
5937
|
+
165
|
5938
5938
|
]
|
5939
5939
|
]
|
5940
5940
|
],
|
@@ -6117,6 +6117,11 @@
|
|
6117
6117
|
"5060 geforce nvidia rtx",
|
6118
6118
|
0,
|
6119
6119
|
[
|
6120
|
+
[
|
6121
|
+
1360,
|
6122
|
+
768,
|
6123
|
+
60
|
6124
|
+
],
|
6120
6125
|
[
|
6121
6126
|
2560,
|
6122
6127
|
1440,
|
@@ -6130,15 +6135,10 @@
|
|
6130
6135
|
"5060 geforce gpu laptop nvidia rtx",
|
6131
6136
|
0,
|
6132
6137
|
[
|
6133
|
-
[
|
6134
|
-
1920,
|
6135
|
-
1080,
|
6136
|
-
60
|
6137
|
-
],
|
6138
6138
|
[
|
6139
6139
|
2560,
|
6140
6140
|
1600,
|
6141
|
-
|
6141
|
+
165
|
6142
6142
|
]
|
6143
6143
|
]
|
6144
6144
|
],
|
@@ -6231,7 +6231,7 @@
|
|
6231
6231
|
[
|
6232
6232
|
1920,
|
6233
6233
|
1080,
|
6234
|
-
|
6234
|
+
240
|
6235
6235
|
],
|
6236
6236
|
[
|
6237
6237
|
3840,
|
@@ -49,6 +49,19 @@
|
|
49
49
|
]
|
50
50
|
]
|
51
51
|
],
|
52
|
+
[
|
53
|
+
"intel arc [3] gpu ri",
|
54
|
+
"3",
|
55
|
+
" 3 arc gpu intel ri",
|
56
|
+
0,
|
57
|
+
[
|
58
|
+
[
|
59
|
+
2880,
|
60
|
+
1800,
|
61
|
+
188
|
62
|
+
]
|
63
|
+
]
|
64
|
+
],
|
52
65
|
[
|
53
66
|
"intel arc 130v gpu",
|
54
67
|
"130",
|
@@ -68,10 +81,15 @@
|
|
68
81
|
"140t arc gpu intel",
|
69
82
|
0,
|
70
83
|
[
|
84
|
+
[
|
85
|
+
1920,
|
86
|
+
1200,
|
87
|
+
60
|
88
|
+
],
|
71
89
|
[
|
72
90
|
2880,
|
73
91
|
1800,
|
74
|
-
|
92
|
+
116
|
75
93
|
],
|
76
94
|
[
|
77
95
|
3200,
|
@@ -416,6 +434,19 @@
|
|
416
434
|
]
|
417
435
|
]
|
418
436
|
],
|
437
|
+
[
|
438
|
+
"intel arc pro b50",
|
439
|
+
"50",
|
440
|
+
"arc b50 intel pro",
|
441
|
+
0,
|
442
|
+
[
|
443
|
+
[
|
444
|
+
3840,
|
445
|
+
2160,
|
446
|
+
231
|
447
|
+
]
|
448
|
+
]
|
449
|
+
],
|
419
450
|
[
|
420
451
|
"intel broxton-p hd",
|
421
452
|
"p",
|
@@ -3362,11 +3393,6 @@
|
|
3362
3393
|
1080,
|
3363
3394
|
50
|
3364
3395
|
],
|
3365
|
-
[
|
3366
|
-
2560,
|
3367
|
-
1440,
|
3368
|
-
26
|
3369
|
-
],
|
3370
3396
|
[
|
3371
3397
|
2736,
|
3372
3398
|
1824,
|
@@ -3418,7 +3444,7 @@
|
|
3418
3444
|
[
|
3419
3445
|
3584,
|
3420
3446
|
2240,
|
3421
|
-
|
3447
|
+
15
|
3422
3448
|
],
|
3423
3449
|
[
|
3424
3450
|
3840,
|
@@ -5914,7 +5914,7 @@
|
|
5914
5914
|
[
|
5915
5915
|
1920,
|
5916
5916
|
1080,
|
5917
|
-
|
5917
|
+
165
|
5918
5918
|
]
|
5919
5919
|
]
|
5920
5920
|
],
|
@@ -6173,7 +6173,7 @@
|
|
6173
6173
|
[
|
6174
6174
|
1920,
|
6175
6175
|
1080,
|
6176
|
-
|
6176
|
+
165
|
6177
6177
|
]
|
6178
6178
|
]
|
6179
6179
|
],
|
@@ -6356,6 +6356,11 @@
|
|
6356
6356
|
"5060 geforce nvidia rtx",
|
6357
6357
|
0,
|
6358
6358
|
[
|
6359
|
+
[
|
6360
|
+
1360,
|
6361
|
+
768,
|
6362
|
+
60
|
6363
|
+
],
|
6359
6364
|
[
|
6360
6365
|
2560,
|
6361
6366
|
1440,
|
@@ -6369,15 +6374,10 @@
|
|
6369
6374
|
"5060 geforce gpu laptop nvidia rtx",
|
6370
6375
|
0,
|
6371
6376
|
[
|
6372
|
-
[
|
6373
|
-
1920,
|
6374
|
-
1080,
|
6375
|
-
60
|
6376
|
-
],
|
6377
6377
|
[
|
6378
6378
|
2560,
|
6379
6379
|
1600,
|
6380
|
-
|
6380
|
+
165
|
6381
6381
|
]
|
6382
6382
|
]
|
6383
6383
|
],
|
@@ -6470,7 +6470,7 @@
|
|
6470
6470
|
[
|
6471
6471
|
1920,
|
6472
6472
|
1080,
|
6473
|
-
|
6473
|
+
240
|
6474
6474
|
],
|
6475
6475
|
[
|
6476
6476
|
3840,
|
@@ -10772,6 +10772,19 @@
|
|
10772
10772
|
]
|
10773
10773
|
]
|
10774
10774
|
],
|
10775
|
+
[
|
10776
|
+
"nvidia rtx 1000 ada generation laptop gpu",
|
10777
|
+
"1000",
|
10778
|
+
"1000 ada generation gpu laptop nvidia rtx",
|
10779
|
+
0,
|
10780
|
+
[
|
10781
|
+
[
|
10782
|
+
2560,
|
10783
|
+
1600,
|
10784
|
+
164
|
10785
|
+
]
|
10786
|
+
]
|
10787
|
+
],
|
10775
10788
|
[
|
10776
10789
|
"nvidia rtx 2000 ada generation",
|
10777
10790
|
"2000",
|
@@ -10972,6 +10985,11 @@
|
|
10972
10985
|
1080,
|
10973
10986
|
60
|
10974
10987
|
],
|
10988
|
+
[
|
10989
|
+
1920,
|
10990
|
+
1200,
|
10991
|
+
60
|
10992
|
+
],
|
10975
10993
|
[
|
10976
10994
|
3840,
|
10977
10995
|
2160,
|
@@ -11235,11 +11253,6 @@
|
|
11235
11253
|
1920,
|
11236
11254
|
1080,
|
11237
11255
|
56
|
11238
|
-
],
|
11239
|
-
[
|
11240
|
-
3840,
|
11241
|
-
2160,
|
11242
|
-
44
|
11243
11256
|
]
|
11244
11257
|
]
|
11245
11258
|
],
|
@@ -774,6 +774,19 @@
|
|
774
774
|
]
|
775
775
|
]
|
776
776
|
],
|
777
|
+
[
|
778
|
+
"amd radeon 610m",
|
779
|
+
"610",
|
780
|
+
"610m amd radeon",
|
781
|
+
0,
|
782
|
+
[
|
783
|
+
[
|
784
|
+
1920,
|
785
|
+
1080,
|
786
|
+
55
|
787
|
+
]
|
788
|
+
]
|
789
|
+
],
|
777
790
|
[
|
778
791
|
"amd radeon 620",
|
779
792
|
"620",
|
@@ -3580,6 +3593,11 @@
|
|
3580
3593
|
"7850 amd hd radeon",
|
3581
3594
|
0,
|
3582
3595
|
[
|
3596
|
+
[
|
3597
|
+
1680,
|
3598
|
+
1050,
|
3599
|
+
60
|
3600
|
+
],
|
3583
3601
|
[
|
3584
3602
|
1920,
|
3585
3603
|
1080,
|
@@ -4734,7 +4752,7 @@
|
|
4734
4752
|
[
|
4735
4753
|
1280,
|
4736
4754
|
1024,
|
4737
|
-
|
4755
|
+
31
|
4738
4756
|
],
|
4739
4757
|
[
|
4740
4758
|
1920,
|
@@ -5511,11 +5529,6 @@
|
|
5511
5529
|
3584,
|
5512
5530
|
2240,
|
5513
5531
|
139
|
5514
|
-
],
|
5515
|
-
[
|
5516
|
-
4096,
|
5517
|
-
2560,
|
5518
|
-
60
|
5519
5532
|
]
|
5520
5533
|
]
|
5521
5534
|
],
|
@@ -9516,6 +9529,11 @@
|
|
9516
9529
|
"6500 amd radeon rx xt",
|
9517
9530
|
0,
|
9518
9531
|
[
|
9532
|
+
[
|
9533
|
+
1680,
|
9534
|
+
1050,
|
9535
|
+
60
|
9536
|
+
],
|
9519
9537
|
[
|
9520
9538
|
1920,
|
9521
9539
|
1080,
|
@@ -9625,7 +9643,7 @@
|
|
9625
9643
|
[
|
9626
9644
|
1920,
|
9627
9645
|
1080,
|
9628
|
-
|
9646
|
+
60
|
9629
9647
|
],
|
9630
9648
|
[
|
9631
9649
|
5120,
|
@@ -9964,14 +9982,14 @@
|
|
9964
9982
|
0,
|
9965
9983
|
[
|
9966
9984
|
[
|
9967
|
-
|
9968
|
-
|
9969
|
-
|
9985
|
+
1920,
|
9986
|
+
1080,
|
9987
|
+
1093
|
9970
9988
|
],
|
9971
9989
|
[
|
9972
|
-
|
9990
|
+
3840,
|
9973
9991
|
2160,
|
9974
|
-
|
9992
|
+
60
|
9975
9993
|
]
|
9976
9994
|
]
|
9977
9995
|
],
|
@@ -10220,11 +10238,6 @@
|
|
10220
10238
|
3440,
|
10221
10239
|
1440,
|
10222
10240
|
60
|
10223
|
-
],
|
10224
|
-
[
|
10225
|
-
3360,
|
10226
|
-
2100,
|
10227
|
-
60
|
10228
10241
|
]
|
10229
10242
|
]
|
10230
10243
|
],
|
@@ -61,7 +61,7 @@
|
|
61
61
|
[
|
62
62
|
2160,
|
63
63
|
1620,
|
64
|
-
|
64
|
+
57,
|
65
65
|
"apple ipad 8th gen (wifi+cellular)"
|
66
66
|
],
|
67
67
|
[
|
@@ -101,7 +101,7 @@
|
|
101
101
|
[
|
102
102
|
2388,
|
103
103
|
1668,
|
104
|
-
|
104
|
+
40,
|
105
105
|
"apple ipad pro (11-inch) (2rd generation)"
|
106
106
|
],
|
107
107
|
[
|
@@ -136,7 +136,7 @@
|
|
136
136
|
2360,
|
137
137
|
1640,
|
138
138
|
60,
|
139
|
-
"apple ipad
|
139
|
+
"apple ipad (10th generation)"
|
140
140
|
],
|
141
141
|
[
|
142
142
|
2388,
|
@@ -180,6 +180,20 @@
|
|
180
180
|
]
|
181
181
|
]
|
182
182
|
],
|
183
|
+
[
|
184
|
+
"apple a17 pro gpu",
|
185
|
+
"17",
|
186
|
+
"a17 apple gpu pro",
|
187
|
+
0,
|
188
|
+
[
|
189
|
+
[
|
190
|
+
2266,
|
191
|
+
1488,
|
192
|
+
60,
|
193
|
+
"apple ipad mini 7th gen cellular (a17)"
|
194
|
+
]
|
195
|
+
]
|
196
|
+
],
|
183
197
|
[
|
184
198
|
"apple a7 gpu",
|
185
199
|
"7",
|
@@ -330,7 +344,7 @@
|
|
330
344
|
2360,
|
331
345
|
1640,
|
332
346
|
60,
|
333
|
-
"apple ipad air 11-inch 7th gen (wifi)"
|
347
|
+
"apple ipad air 11-inch 7th gen (wifi+cellular)"
|
334
348
|
],
|
335
349
|
[
|
336
350
|
2732,
|
@@ -349,13 +363,13 @@
|
|
349
363
|
[
|
350
364
|
2420,
|
351
365
|
1668,
|
352
|
-
|
353
|
-
"apple ipad pro 11
|
366
|
+
120,
|
367
|
+
"apple ipad pro 11-inch (m4)"
|
354
368
|
],
|
355
369
|
[
|
356
370
|
2752,
|
357
371
|
2064,
|
358
|
-
|
372
|
+
121,
|
359
373
|
"apple ipad pro 12.9 inch 7th gen"
|
360
374
|
]
|
361
375
|
]
|
@@ -219,7 +219,7 @@
|
|
219
219
|
[
|
220
220
|
2712,
|
221
221
|
1220,
|
222
|
-
|
222
|
+
115,
|
223
223
|
"xiaomi poco x6 pro"
|
224
224
|
]
|
225
225
|
]
|
@@ -680,6 +680,12 @@
|
|
680
680
|
"arm mali-g925-immortalis mc12",
|
681
681
|
0,
|
682
682
|
[
|
683
|
+
[
|
684
|
+
2376,
|
685
|
+
1080,
|
686
|
+
60,
|
687
|
+
"oppo find x8 pro"
|
688
|
+
],
|
683
689
|
[
|
684
690
|
2800,
|
685
691
|
1260,
|
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.81/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.81","/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