@grepp/detect-gpu 5.0.92 → 5.0.94
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 +21 -16
- package/dist/benchmarks/d-geforce.json +14 -19
- package/dist/benchmarks/d-intel.json +2 -7
- package/dist/benchmarks/d-nvidia.json +14 -19
- package/dist/benchmarks/d-radeon.json +16 -16
- package/dist/benchmarks/m-adreno.json +6 -6
- package/dist/benchmarks/m-apple-ipad.json +3 -9
- package/dist/benchmarks/m-apple.json +1 -1
- package/dist/detect-gpu.esm.js +1 -1
- package/dist/detect-gpu.umd.js +1 -1
- package/package.json +1 -1
|
@@ -1077,6 +1077,11 @@
|
|
|
1077
1077
|
2560,
|
|
1078
1078
|
1440,
|
|
1079
1079
|
59
|
|
1080
|
+
],
|
|
1081
|
+
[
|
|
1082
|
+
3440,
|
|
1083
|
+
1440,
|
|
1084
|
+
60
|
|
1080
1085
|
]
|
|
1081
1086
|
]
|
|
1082
1087
|
],
|
|
@@ -2886,11 +2891,6 @@
|
|
|
2886
2891
|
1920,
|
|
2887
2892
|
1080,
|
|
2888
2893
|
199
|
|
2889
|
-
],
|
|
2890
|
-
[
|
|
2891
|
-
2880,
|
|
2892
|
-
1800,
|
|
2893
|
-
116
|
|
2894
2894
|
]
|
|
2895
2895
|
]
|
|
2896
2896
|
],
|
|
@@ -7405,7 +7405,7 @@
|
|
|
7405
7405
|
[
|
|
7406
7406
|
3360,
|
|
7407
7407
|
2100,
|
|
7408
|
-
|
|
7408
|
+
42
|
|
7409
7409
|
]
|
|
7410
7410
|
]
|
|
7411
7411
|
],
|
|
@@ -7524,7 +7524,7 @@
|
|
|
7524
7524
|
[
|
|
7525
7525
|
3584,
|
|
7526
7526
|
2240,
|
|
7527
|
-
|
|
7527
|
+
139
|
|
7528
7528
|
]
|
|
7529
7529
|
]
|
|
7530
7530
|
],
|
|
@@ -7670,11 +7670,6 @@
|
|
|
7670
7670
|
"5700 amd pro radeon",
|
|
7671
7671
|
0,
|
|
7672
7672
|
[
|
|
7673
|
-
[
|
|
7674
|
-
3200,
|
|
7675
|
-
1800,
|
|
7676
|
-
60
|
|
7677
|
-
],
|
|
7678
7673
|
[
|
|
7679
7674
|
5120,
|
|
7680
7675
|
2880,
|
|
@@ -11078,6 +11073,11 @@
|
|
|
11078
11073
|
1920,
|
|
11079
11074
|
1080,
|
|
11080
11075
|
239
|
|
11076
|
+
],
|
|
11077
|
+
[
|
|
11078
|
+
2560,
|
|
11079
|
+
1080,
|
|
11080
|
+
144
|
|
11081
11081
|
]
|
|
11082
11082
|
]
|
|
11083
11083
|
],
|
|
@@ -11794,6 +11794,11 @@
|
|
|
11794
11794
|
"6800 amd radeon rx",
|
|
11795
11795
|
0,
|
|
11796
11796
|
[
|
|
11797
|
+
[
|
|
11798
|
+
1920,
|
|
11799
|
+
1080,
|
|
11800
|
+
60
|
|
11801
|
+
],
|
|
11797
11802
|
[
|
|
11798
11803
|
2560,
|
|
11799
11804
|
1440,
|
|
@@ -11825,7 +11830,7 @@
|
|
|
11825
11830
|
[
|
|
11826
11831
|
2560,
|
|
11827
11832
|
1440,
|
|
11828
|
-
|
|
11833
|
+
120
|
|
11829
11834
|
],
|
|
11830
11835
|
[
|
|
11831
11836
|
3840,
|
|
@@ -12130,7 +12135,7 @@
|
|
|
12130
12135
|
[
|
|
12131
12136
|
1920,
|
|
12132
12137
|
1080,
|
|
12133
|
-
|
|
12138
|
+
1429
|
|
12134
12139
|
],
|
|
12135
12140
|
[
|
|
12136
12141
|
3840,
|
|
@@ -12146,9 +12151,9 @@
|
|
|
12146
12151
|
0,
|
|
12147
12152
|
[
|
|
12148
12153
|
[
|
|
12149
|
-
|
|
12154
|
+
2560,
|
|
12150
12155
|
1440,
|
|
12151
|
-
|
|
12156
|
+
1410
|
|
12152
12157
|
]
|
|
12153
12158
|
]
|
|
12154
12159
|
],
|
|
@@ -2659,16 +2659,16 @@
|
|
|
2659
2659
|
"1060 geforce gtx nvidia",
|
|
2660
2660
|
0,
|
|
2661
2661
|
[
|
|
2662
|
-
[
|
|
2663
|
-
1280,
|
|
2664
|
-
720,
|
|
2665
|
-
60
|
|
2666
|
-
],
|
|
2667
2662
|
[
|
|
2668
2663
|
1920,
|
|
2669
2664
|
1080,
|
|
2670
2665
|
55
|
|
2671
2666
|
],
|
|
2667
|
+
[
|
|
2668
|
+
2560,
|
|
2669
|
+
1440,
|
|
2670
|
+
60
|
|
2671
|
+
],
|
|
2672
2672
|
[
|
|
2673
2673
|
3840,
|
|
2674
2674
|
2160,
|
|
@@ -3128,7 +3128,7 @@
|
|
|
3128
3128
|
[
|
|
3129
3129
|
1920,
|
|
3130
3130
|
1080,
|
|
3131
|
-
|
|
3131
|
+
373
|
|
3132
3132
|
]
|
|
3133
3133
|
]
|
|
3134
3134
|
],
|
|
@@ -5632,11 +5632,6 @@
|
|
|
5632
5632
|
1920,
|
|
5633
5633
|
1080,
|
|
5634
5634
|
120
|
|
5635
|
-
],
|
|
5636
|
-
[
|
|
5637
|
-
2560,
|
|
5638
|
-
1440,
|
|
5639
|
-
164
|
|
5640
5635
|
]
|
|
5641
5636
|
]
|
|
5642
5637
|
],
|
|
@@ -5662,7 +5657,7 @@
|
|
|
5662
5657
|
[
|
|
5663
5658
|
1920,
|
|
5664
5659
|
1080,
|
|
5665
|
-
|
|
5660
|
+
60
|
|
5666
5661
|
]
|
|
5667
5662
|
]
|
|
5668
5663
|
],
|
|
@@ -6126,9 +6121,9 @@
|
|
|
6126
6121
|
0,
|
|
6127
6122
|
[
|
|
6128
6123
|
[
|
|
6129
|
-
|
|
6130
|
-
|
|
6131
|
-
|
|
6124
|
+
2560,
|
|
6125
|
+
1600,
|
|
6126
|
+
165
|
|
6132
6127
|
]
|
|
6133
6128
|
]
|
|
6134
6129
|
],
|
|
@@ -6195,7 +6190,7 @@
|
|
|
6195
6190
|
[
|
|
6196
6191
|
2560,
|
|
6197
6192
|
1440,
|
|
6198
|
-
|
|
6193
|
+
180
|
|
6199
6194
|
]
|
|
6200
6195
|
]
|
|
6201
6196
|
],
|
|
@@ -6219,9 +6214,9 @@
|
|
|
6219
6214
|
0,
|
|
6220
6215
|
[
|
|
6221
6216
|
[
|
|
6222
|
-
|
|
6223
|
-
|
|
6224
|
-
|
|
6217
|
+
1920,
|
|
6218
|
+
1080,
|
|
6219
|
+
60
|
|
6225
6220
|
],
|
|
6226
6221
|
[
|
|
6227
6222
|
3840,
|
|
@@ -1918,7 +1918,7 @@
|
|
|
1918
1918
|
[
|
|
1919
1919
|
2560,
|
|
1920
1920
|
1600,
|
|
1921
|
-
|
|
1921
|
+
21
|
|
1922
1922
|
],
|
|
1923
1923
|
[
|
|
1924
1924
|
2736,
|
|
@@ -2537,11 +2537,6 @@
|
|
|
2537
2537
|
1080,
|
|
2538
2538
|
58
|
|
2539
2539
|
],
|
|
2540
|
-
[
|
|
2541
|
-
2560,
|
|
2542
|
-
1440,
|
|
2543
|
-
85
|
|
2544
|
-
],
|
|
2545
2540
|
[
|
|
2546
2541
|
2880,
|
|
2547
2542
|
1800,
|
|
@@ -2732,7 +2727,7 @@
|
|
|
2732
2727
|
[
|
|
2733
2728
|
1920,
|
|
2734
2729
|
1080,
|
|
2735
|
-
|
|
2730
|
+
149
|
|
2736
2731
|
]
|
|
2737
2732
|
]
|
|
2738
2733
|
],
|
|
@@ -2898,16 +2898,16 @@
|
|
|
2898
2898
|
"1060 geforce gtx nvidia",
|
|
2899
2899
|
0,
|
|
2900
2900
|
[
|
|
2901
|
-
[
|
|
2902
|
-
1280,
|
|
2903
|
-
720,
|
|
2904
|
-
60
|
|
2905
|
-
],
|
|
2906
2901
|
[
|
|
2907
2902
|
1920,
|
|
2908
2903
|
1080,
|
|
2909
2904
|
55
|
|
2910
2905
|
],
|
|
2906
|
+
[
|
|
2907
|
+
2560,
|
|
2908
|
+
1440,
|
|
2909
|
+
60
|
|
2910
|
+
],
|
|
2911
2911
|
[
|
|
2912
2912
|
3840,
|
|
2913
2913
|
2160,
|
|
@@ -3367,7 +3367,7 @@
|
|
|
3367
3367
|
[
|
|
3368
3368
|
1920,
|
|
3369
3369
|
1080,
|
|
3370
|
-
|
|
3370
|
+
373
|
|
3371
3371
|
]
|
|
3372
3372
|
]
|
|
3373
3373
|
],
|
|
@@ -5871,11 +5871,6 @@
|
|
|
5871
5871
|
1920,
|
|
5872
5872
|
1080,
|
|
5873
5873
|
120
|
|
5874
|
-
],
|
|
5875
|
-
[
|
|
5876
|
-
2560,
|
|
5877
|
-
1440,
|
|
5878
|
-
164
|
|
5879
5874
|
]
|
|
5880
5875
|
]
|
|
5881
5876
|
],
|
|
@@ -5901,7 +5896,7 @@
|
|
|
5901
5896
|
[
|
|
5902
5897
|
1920,
|
|
5903
5898
|
1080,
|
|
5904
|
-
|
|
5899
|
+
60
|
|
5905
5900
|
]
|
|
5906
5901
|
]
|
|
5907
5902
|
],
|
|
@@ -6365,9 +6360,9 @@
|
|
|
6365
6360
|
0,
|
|
6366
6361
|
[
|
|
6367
6362
|
[
|
|
6368
|
-
|
|
6369
|
-
|
|
6370
|
-
|
|
6363
|
+
2560,
|
|
6364
|
+
1600,
|
|
6365
|
+
165
|
|
6371
6366
|
]
|
|
6372
6367
|
]
|
|
6373
6368
|
],
|
|
@@ -6434,7 +6429,7 @@
|
|
|
6434
6429
|
[
|
|
6435
6430
|
2560,
|
|
6436
6431
|
1440,
|
|
6437
|
-
|
|
6432
|
+
180
|
|
6438
6433
|
]
|
|
6439
6434
|
]
|
|
6440
6435
|
],
|
|
@@ -6458,9 +6453,9 @@
|
|
|
6458
6453
|
0,
|
|
6459
6454
|
[
|
|
6460
6455
|
[
|
|
6461
|
-
|
|
6462
|
-
|
|
6463
|
-
|
|
6456
|
+
1920,
|
|
6457
|
+
1080,
|
|
6458
|
+
60
|
|
6464
6459
|
],
|
|
6465
6460
|
[
|
|
6466
6461
|
3840,
|
|
@@ -924,11 +924,6 @@
|
|
|
924
924
|
1920,
|
|
925
925
|
1080,
|
|
926
926
|
199
|
|
927
|
-
],
|
|
928
|
-
[
|
|
929
|
-
2880,
|
|
930
|
-
1800,
|
|
931
|
-
116
|
|
932
927
|
]
|
|
933
928
|
]
|
|
934
929
|
],
|
|
@@ -5443,7 +5438,7 @@
|
|
|
5443
5438
|
[
|
|
5444
5439
|
3360,
|
|
5445
5440
|
2100,
|
|
5446
|
-
|
|
5441
|
+
42
|
|
5447
5442
|
]
|
|
5448
5443
|
]
|
|
5449
5444
|
],
|
|
@@ -5562,7 +5557,7 @@
|
|
|
5562
5557
|
[
|
|
5563
5558
|
3584,
|
|
5564
5559
|
2240,
|
|
5565
|
-
|
|
5560
|
+
139
|
|
5566
5561
|
]
|
|
5567
5562
|
]
|
|
5568
5563
|
],
|
|
@@ -5708,11 +5703,6 @@
|
|
|
5708
5703
|
"5700 amd pro radeon",
|
|
5709
5704
|
0,
|
|
5710
5705
|
[
|
|
5711
|
-
[
|
|
5712
|
-
3200,
|
|
5713
|
-
1800,
|
|
5714
|
-
60
|
|
5715
|
-
],
|
|
5716
5706
|
[
|
|
5717
5707
|
5120,
|
|
5718
5708
|
2880,
|
|
@@ -9116,6 +9106,11 @@
|
|
|
9116
9106
|
1920,
|
|
9117
9107
|
1080,
|
|
9118
9108
|
239
|
|
9109
|
+
],
|
|
9110
|
+
[
|
|
9111
|
+
2560,
|
|
9112
|
+
1080,
|
|
9113
|
+
144
|
|
9119
9114
|
]
|
|
9120
9115
|
]
|
|
9121
9116
|
],
|
|
@@ -9832,6 +9827,11 @@
|
|
|
9832
9827
|
"6800 amd radeon rx",
|
|
9833
9828
|
0,
|
|
9834
9829
|
[
|
|
9830
|
+
[
|
|
9831
|
+
1920,
|
|
9832
|
+
1080,
|
|
9833
|
+
60
|
|
9834
|
+
],
|
|
9835
9835
|
[
|
|
9836
9836
|
2560,
|
|
9837
9837
|
1440,
|
|
@@ -9863,7 +9863,7 @@
|
|
|
9863
9863
|
[
|
|
9864
9864
|
2560,
|
|
9865
9865
|
1440,
|
|
9866
|
-
|
|
9866
|
+
120
|
|
9867
9867
|
],
|
|
9868
9868
|
[
|
|
9869
9869
|
3840,
|
|
@@ -10168,7 +10168,7 @@
|
|
|
10168
10168
|
[
|
|
10169
10169
|
1920,
|
|
10170
10170
|
1080,
|
|
10171
|
-
|
|
10171
|
+
1429
|
|
10172
10172
|
],
|
|
10173
10173
|
[
|
|
10174
10174
|
3840,
|
|
@@ -10184,9 +10184,9 @@
|
|
|
10184
10184
|
0,
|
|
10185
10185
|
[
|
|
10186
10186
|
[
|
|
10187
|
-
|
|
10187
|
+
2560,
|
|
10188
10188
|
1440,
|
|
10189
|
-
|
|
10189
|
+
1410
|
|
10190
10190
|
]
|
|
10191
10191
|
]
|
|
10192
10192
|
],
|
|
@@ -2504,17 +2504,17 @@
|
|
|
2504
2504
|
120,
|
|
2505
2505
|
"samsung galaxy s25 ultra"
|
|
2506
2506
|
],
|
|
2507
|
+
[
|
|
2508
|
+
2273,
|
|
2509
|
+
1035,
|
|
2510
|
+
120,
|
|
2511
|
+
"xiaomi 15 pro"
|
|
2512
|
+
],
|
|
2507
2513
|
[
|
|
2508
2514
|
2340,
|
|
2509
2515
|
1080,
|
|
2510
2516
|
120,
|
|
2511
2517
|
"samsung galaxy s25+"
|
|
2512
|
-
],
|
|
2513
|
-
[
|
|
2514
|
-
3200,
|
|
2515
|
-
1440,
|
|
2516
|
-
60,
|
|
2517
|
-
"xiaomi 15 pro"
|
|
2518
2518
|
]
|
|
2519
2519
|
]
|
|
2520
2520
|
]
|
|
@@ -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
|
[
|
|
@@ -325,12 +325,6 @@
|
|
|
325
325
|
2048,
|
|
326
326
|
60,
|
|
327
327
|
"apple ipad air 13-inch (m2)"
|
|
328
|
-
],
|
|
329
|
-
[
|
|
330
|
-
2752,
|
|
331
|
-
2064,
|
|
332
|
-
120,
|
|
333
|
-
"apple ipad pro 12.9 inch (6th gen)"
|
|
334
328
|
]
|
|
335
329
|
]
|
|
336
330
|
],
|
|
@@ -363,7 +357,7 @@
|
|
|
363
357
|
[
|
|
364
358
|
2420,
|
|
365
359
|
1668,
|
|
366
|
-
|
|
360
|
+
60,
|
|
367
361
|
"apple ipad pro 11 inch 5th gen"
|
|
368
362
|
],
|
|
369
363
|
[
|
|
@@ -389,7 +383,7 @@
|
|
|
389
383
|
[
|
|
390
384
|
2752,
|
|
391
385
|
2064,
|
|
392
|
-
|
|
386
|
+
65,
|
|
393
387
|
"apple ipad pro m5 13 inch"
|
|
394
388
|
]
|
|
395
389
|
]
|
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.94/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=h.endsWith("/")?h:`${h}/`,r=yield fetch(`${e}${t}`).then(e=>e.json());if(parseInt(r.shift().split(".")[0],10)<4)throw new c("Detect GPU benchmark data is out of date. Please update to version 4x");return r})}=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 $=v?n:d;let M=0;for(let e=0;e<$.length;e++)y>=$[e]&&(M=e);return P(M,"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,W=U.override,K=void 0===W?{}:W,$=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,W=U.override,K=void 0===W?{}:W,$=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.94","/dist/benchmarks"):z;return n(this,function(e){switch(e.label){case 0:if(i={},c)return[2,{tier:0,type:"SSR"}];if(d=K.isIpad,s=void 0===d?!!(null==u?void 0:u.isIpad):d,v=K.isMobile,g=void 0===v?!!(null==u?void 0:u.isMobile):v,m=K.screenSize,b=void 0===m?window.screen:m,y=K.loadBenchmarks,w=void 0===y?function(e){return t(void 0,void 0,void 0,function(){var r,t;return n(this,function(n){switch(n.label){case 0:return r=X.endsWith("/")?X:"".concat(X,"/"),[4,fetch("".concat(r).concat(e)).then(function(e){return e.json()})];case 1:if(t=n.sent(),parseInt(t.shift().split(".")[0],10)<4)throw new f("Detect GPU benchmark data is out of date. Please update to version 4x");return[2,t]}})})}:y,x=K.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