@grepp/detect-gpu 5.0.76 → 5.0.78
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 +40 -7
- package/dist/benchmarks/d-apple.json +3 -3
- package/dist/benchmarks/d-geforce.json +29 -11
- package/dist/benchmarks/d-intel.json +3 -8
- package/dist/benchmarks/d-nvidia.json +34 -16
- package/dist/benchmarks/d-radeon.json +22 -7
- package/dist/benchmarks/m-adreno.json +13 -1
- package/dist/benchmarks/m-apple-ipad.json +11 -5
- package/dist/benchmarks/m-apple.json +8 -2
- package/dist/detect-gpu.esm.js +1 -1
- package/dist/detect-gpu.umd.js +1 -1
- package/package.json +1 -1
@@ -1055,6 +1055,11 @@
|
|
1055
1055
|
1440,
|
1056
1056
|
59
|
1057
1057
|
],
|
1058
|
+
[
|
1059
|
+
3440,
|
1060
|
+
1440,
|
1061
|
+
60
|
1062
|
+
],
|
1058
1063
|
[
|
1059
1064
|
4096,
|
1060
1065
|
2160,
|
@@ -2524,6 +2529,19 @@
|
|
2524
2529
|
]
|
2525
2530
|
]
|
2526
2531
|
],
|
2532
|
+
[
|
2533
|
+
"amd radeo rx 6650 ti",
|
2534
|
+
"6650",
|
2535
|
+
"6650 amd radeo rx ti",
|
2536
|
+
0,
|
2537
|
+
[
|
2538
|
+
[
|
2539
|
+
3840,
|
2540
|
+
2160,
|
2541
|
+
60
|
2542
|
+
]
|
2543
|
+
]
|
2544
|
+
],
|
2527
2545
|
[
|
2528
2546
|
"amd radeon",
|
2529
2547
|
"",
|
@@ -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,
|
@@ -10486,7 +10504,7 @@
|
|
10486
10504
|
[
|
10487
10505
|
1920,
|
10488
10506
|
1080,
|
10489
|
-
|
10507
|
+
85
|
10490
10508
|
],
|
10491
10509
|
[
|
10492
10510
|
3840,
|
@@ -11046,7 +11064,7 @@
|
|
11046
11064
|
[
|
11047
11065
|
1920,
|
11048
11066
|
1080,
|
11049
|
-
|
11067
|
+
60
|
11050
11068
|
],
|
11051
11069
|
[
|
11052
11070
|
1920,
|
@@ -11114,6 +11132,11 @@
|
|
11114
11132
|
1920,
|
11115
11133
|
1080,
|
11116
11134
|
75
|
11135
|
+
],
|
11136
|
+
[
|
11137
|
+
3840,
|
11138
|
+
2160,
|
11139
|
+
160
|
11117
11140
|
]
|
11118
11141
|
]
|
11119
11142
|
],
|
@@ -11330,6 +11353,11 @@
|
|
11330
11353
|
3840,
|
11331
11354
|
2160,
|
11332
11355
|
60
|
11356
|
+
],
|
11357
|
+
[
|
11358
|
+
5120,
|
11359
|
+
2880,
|
11360
|
+
34
|
11333
11361
|
]
|
11334
11362
|
]
|
11335
11363
|
],
|
@@ -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
|
],
|
@@ -2965,7 +2965,7 @@
|
|
2965
2965
|
[
|
2966
2966
|
1920,
|
2967
2967
|
1080,
|
2968
|
-
|
2968
|
+
60
|
2969
2969
|
]
|
2970
2970
|
]
|
2971
2971
|
],
|
@@ -5618,7 +5618,7 @@
|
|
5618
5618
|
[
|
5619
5619
|
1920,
|
5620
5620
|
1080,
|
5621
|
-
|
5621
|
+
626
|
5622
5622
|
]
|
5623
5623
|
]
|
5624
5624
|
],
|
@@ -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
|
-
|
6202
|
-
|
6203
|
-
|
6201
|
+
2560,
|
6202
|
+
1440,
|
6203
|
+
300
|
6204
6204
|
],
|
6205
6205
|
[
|
6206
6206
|
3840,
|
@@ -6228,10 +6228,28 @@
|
|
6228
6228
|
"5080 geforce nvidia rtx",
|
6229
6229
|
0,
|
6230
6230
|
[
|
6231
|
+
[
|
6232
|
+
1920,
|
6233
|
+
1080,
|
6234
|
+
60
|
6235
|
+
],
|
6231
6236
|
[
|
6232
6237
|
3840,
|
6233
6238
|
2160,
|
6234
|
-
|
6239
|
+
874
|
6240
|
+
]
|
6241
|
+
]
|
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
|
6235
6253
|
]
|
6236
6254
|
]
|
6237
6255
|
],
|
@@ -1889,11 +1889,6 @@
|
|
1889
1889
|
1080,
|
1890
1890
|
37
|
1891
1891
|
],
|
1892
|
-
[
|
1893
|
-
2256,
|
1894
|
-
1504,
|
1895
|
-
28
|
1896
|
-
],
|
1897
1892
|
[
|
1898
1893
|
2736,
|
1899
1894
|
1824,
|
@@ -3171,7 +3166,7 @@
|
|
3171
3166
|
[
|
3172
3167
|
1920,
|
3173
3168
|
1080,
|
3174
|
-
|
3169
|
+
49
|
3175
3170
|
],
|
3176
3171
|
[
|
3177
3172
|
2560,
|
@@ -3360,7 +3355,7 @@
|
|
3360
3355
|
[
|
3361
3356
|
1920,
|
3362
3357
|
1080,
|
3363
|
-
|
3358
|
+
50
|
3364
3359
|
],
|
3365
3360
|
[
|
3366
3361
|
2736,
|
@@ -3413,7 +3408,7 @@
|
|
3413
3408
|
[
|
3414
3409
|
3584,
|
3415
3410
|
2240,
|
3416
|
-
|
3411
|
+
137
|
3417
3412
|
],
|
3418
3413
|
[
|
3419
3414
|
3840,
|
@@ -3191,7 +3191,7 @@
|
|
3191
3191
|
[
|
3192
3192
|
1920,
|
3193
3193
|
1080,
|
3194
|
-
|
3194
|
+
60
|
3195
3195
|
]
|
3196
3196
|
]
|
3197
3197
|
],
|
@@ -5844,7 +5844,7 @@
|
|
5844
5844
|
[
|
5845
5845
|
1920,
|
5846
5846
|
1080,
|
5847
|
-
|
5847
|
+
626
|
5848
5848
|
]
|
5849
5849
|
]
|
5850
5850
|
],
|
@@ -6187,11 +6187,6 @@
|
|
6187
6187
|
1920,
|
6188
6188
|
1080,
|
6189
6189
|
239
|
6190
|
-
],
|
6191
|
-
[
|
6192
|
-
2560,
|
6193
|
-
1080,
|
6194
|
-
100
|
6195
6190
|
]
|
6196
6191
|
]
|
6197
6192
|
],
|
@@ -6401,6 +6396,11 @@
|
|
6401
6396
|
1920,
|
6402
6397
|
1080,
|
6403
6398
|
144
|
6399
|
+
],
|
6400
|
+
[
|
6401
|
+
2560,
|
6402
|
+
1440,
|
6403
|
+
144
|
6404
6404
|
]
|
6405
6405
|
]
|
6406
6406
|
],
|
@@ -6424,9 +6424,9 @@
|
|
6424
6424
|
0,
|
6425
6425
|
[
|
6426
6426
|
[
|
6427
|
-
|
6428
|
-
|
6429
|
-
|
6427
|
+
2560,
|
6428
|
+
1440,
|
6429
|
+
300
|
6430
6430
|
],
|
6431
6431
|
[
|
6432
6432
|
3840,
|
@@ -6454,10 +6454,28 @@
|
|
6454
6454
|
"5080 geforce nvidia rtx",
|
6455
6455
|
0,
|
6456
6456
|
[
|
6457
|
+
[
|
6458
|
+
1920,
|
6459
|
+
1080,
|
6460
|
+
60
|
6461
|
+
],
|
6457
6462
|
[
|
6458
6463
|
3840,
|
6459
6464
|
2160,
|
6460
|
-
|
6465
|
+
874
|
6466
|
+
]
|
6467
|
+
]
|
6468
|
+
],
|
6469
|
+
[
|
6470
|
+
"nvidia geforce rtx 5080 laptop gpu",
|
6471
|
+
"5080",
|
6472
|
+
"5080 geforce gpu laptop nvidia rtx",
|
6473
|
+
0,
|
6474
|
+
[
|
6475
|
+
[
|
6476
|
+
2560,
|
6477
|
+
1600,
|
6478
|
+
239
|
6461
6479
|
]
|
6462
6480
|
]
|
6463
6481
|
],
|
@@ -10560,11 +10578,6 @@
|
|
10560
10578
|
1920,
|
10561
10579
|
1080,
|
10562
10580
|
443
|
10563
|
-
],
|
10564
|
-
[
|
10565
|
-
5120,
|
10566
|
-
2160,
|
10567
|
-
72
|
10568
10581
|
]
|
10569
10582
|
]
|
10570
10583
|
],
|
@@ -10751,6 +10764,11 @@
|
|
10751
10764
|
1920,
|
10752
10765
|
1200,
|
10753
10766
|
60
|
10767
|
+
],
|
10768
|
+
[
|
10769
|
+
2400,
|
10770
|
+
1600,
|
10771
|
+
120
|
10754
10772
|
]
|
10755
10773
|
]
|
10756
10774
|
],
|
@@ -2177,6 +2177,11 @@
|
|
2177
2177
|
1920,
|
2178
2178
|
1080,
|
2179
2179
|
60
|
2180
|
+
],
|
2181
|
+
[
|
2182
|
+
1920,
|
2183
|
+
1200,
|
2184
|
+
55
|
2180
2185
|
]
|
2181
2186
|
]
|
2182
2187
|
],
|
@@ -3570,11 +3575,6 @@
|
|
3570
3575
|
"7850 amd hd radeon",
|
3571
3576
|
0,
|
3572
3577
|
[
|
3573
|
-
[
|
3574
|
-
1680,
|
3575
|
-
1050,
|
3576
|
-
59
|
3577
|
-
],
|
3578
3578
|
[
|
3579
3579
|
1920,
|
3580
3580
|
1080,
|
@@ -8537,7 +8537,7 @@
|
|
8537
8537
|
[
|
8538
8538
|
1920,
|
8539
8539
|
1080,
|
8540
|
-
|
8540
|
+
85
|
8541
8541
|
],
|
8542
8542
|
[
|
8543
8543
|
3840,
|
@@ -9097,7 +9097,7 @@
|
|
9097
9097
|
[
|
9098
9098
|
1920,
|
9099
9099
|
1080,
|
9100
|
-
|
9100
|
+
60
|
9101
9101
|
],
|
9102
9102
|
[
|
9103
9103
|
1920,
|
@@ -9165,6 +9165,11 @@
|
|
9165
9165
|
1920,
|
9166
9166
|
1080,
|
9167
9167
|
75
|
9168
|
+
],
|
9169
|
+
[
|
9170
|
+
3840,
|
9171
|
+
2160,
|
9172
|
+
160
|
9168
9173
|
]
|
9169
9174
|
]
|
9170
9175
|
],
|
@@ -9381,6 +9386,11 @@
|
|
9381
9386
|
3840,
|
9382
9387
|
2160,
|
9383
9388
|
60
|
9389
|
+
],
|
9390
|
+
[
|
9391
|
+
5120,
|
9392
|
+
2880,
|
9393
|
+
34
|
9384
9394
|
]
|
9385
9395
|
]
|
9386
9396
|
],
|
@@ -10464,6 +10474,11 @@
|
|
10464
10474
|
1920,
|
10465
10475
|
1080,
|
10466
10476
|
505
|
10477
|
+
],
|
10478
|
+
[
|
10479
|
+
1920,
|
10480
|
+
1200,
|
10481
|
+
60
|
10467
10482
|
]
|
10468
10483
|
]
|
10469
10484
|
],
|
@@ -2314,6 +2314,12 @@
|
|
2314
2314
|
"660 adreno qualcomm",
|
2315
2315
|
0,
|
2316
2316
|
[
|
2317
|
+
[
|
2318
|
+
2186,
|
2319
|
+
1080,
|
2320
|
+
60,
|
2321
|
+
"xiaomi 11t pro"
|
2322
|
+
],
|
2317
2323
|
[
|
2318
2324
|
2190,
|
2319
2325
|
1080,
|
@@ -2369,7 +2375,7 @@
|
|
2369
2375
|
[
|
2370
2376
|
2183,
|
2371
2377
|
1080,
|
2372
|
-
|
2378
|
+
121,
|
2373
2379
|
"xiaomi 12"
|
2374
2380
|
],
|
2375
2381
|
[
|
@@ -2448,6 +2454,12 @@
|
|
2448
2454
|
120,
|
2449
2455
|
"samsung galaxy s24 ultra"
|
2450
2456
|
],
|
2457
|
+
[
|
2458
|
+
2253,
|
2459
|
+
1035,
|
2460
|
+
118,
|
2461
|
+
"samsung s24 (adreno)"
|
2462
|
+
],
|
2451
2463
|
[
|
2452
2464
|
2290,
|
2453
2465
|
1038,
|
@@ -121,7 +121,7 @@
|
|
121
121
|
[
|
122
122
|
2160,
|
123
123
|
1620,
|
124
|
-
|
124
|
+
60,
|
125
125
|
"apple ipad 9th gen"
|
126
126
|
]
|
127
127
|
]
|
@@ -265,14 +265,14 @@
|
|
265
265
|
[
|
266
266
|
2360,
|
267
267
|
1640,
|
268
|
-
|
268
|
+
120,
|
269
269
|
"apple ipad air (5th generation)"
|
270
270
|
],
|
271
271
|
[
|
272
272
|
2388,
|
273
273
|
1668,
|
274
|
-
|
275
|
-
"apple ipad
|
274
|
+
60,
|
275
|
+
"apple ipad air (5th generation)"
|
276
276
|
],
|
277
277
|
[
|
278
278
|
2732,
|
@@ -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
|
],
|
@@ -337,7 +343,7 @@
|
|
337
343
|
[
|
338
344
|
2420,
|
339
345
|
1668,
|
340
|
-
|
346
|
+
61,
|
341
347
|
"apple ipad pro 11 inch 5th gen"
|
342
348
|
],
|
343
349
|
[
|
@@ -99,13 +99,13 @@
|
|
99
99
|
[
|
100
100
|
2436,
|
101
101
|
1125,
|
102
|
-
|
102
|
+
60,
|
103
103
|
"apple iphone 11 pro"
|
104
104
|
],
|
105
105
|
[
|
106
106
|
2688,
|
107
107
|
1242,
|
108
|
-
|
108
|
+
58,
|
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,
|
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.78/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.78","/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