GitHub Actions commited on
Commit
6df8b38
·
1 Parent(s): 53e685e

sync from abhijitramesh/webgpu-bench@3b29d4e1c8

Browse files
Files changed (2) hide show
  1. data/combined.json +3 -3
  2. js/run/device.js +12 -2
data/combined.json CHANGED
@@ -7,7 +7,7 @@
7
  "platform": "darwin",
8
  "arch": "arm",
9
  "totalMemoryGB": 4,
10
- "submittedAt": "2026-04-25T20:54:49.553Z",
11
  "resultCount": 6,
12
  "passCount": 6,
13
  "llamaCppCommit": null,
@@ -34,7 +34,7 @@
34
  "platform": "darwin",
35
  "arch": "arm",
36
  "totalMemoryGB": 8,
37
- "submittedAt": "2026-04-25T20:54:49.552Z",
38
  "resultCount": 2,
39
  "passCount": 2,
40
  "llamaCppCommit": null,
@@ -58,7 +58,7 @@
58
  "browsers": [
59
  "chromium-147"
60
  ],
61
- "generatedAt": "2026-04-25T20:54:49.603Z"
62
  },
63
  "results": [
64
  {
 
7
  "platform": "darwin",
8
  "arch": "arm",
9
  "totalMemoryGB": 4,
10
+ "submittedAt": "2026-04-25T20:57:10.721Z",
11
  "resultCount": 6,
12
  "passCount": 6,
13
  "llamaCppCommit": null,
 
34
  "platform": "darwin",
35
  "arch": "arm",
36
  "totalMemoryGB": 8,
37
+ "submittedAt": "2026-04-25T20:57:10.720Z",
38
  "resultCount": 2,
39
  "passCount": 2,
40
  "llamaCppCommit": null,
 
58
  "browsers": [
59
  "chromium-147"
60
  ],
61
+ "generatedAt": "2026-04-25T20:57:10.784Z"
62
  },
63
  "results": [
64
  {
js/run/device.js CHANGED
@@ -153,19 +153,29 @@ export async function describeDevice() {
153
  let uaArch = null;
154
  let uaPlatform = null;
155
  let uaPlatformVersion = null;
 
 
 
 
156
  try {
157
  const uad = navigator.userAgentData;
158
  if (uad?.getHighEntropyValues) {
159
- const hev = await uad.getHighEntropyValues(['architecture', 'platform', 'platformVersion']);
 
 
160
  uaArch = hev.architecture || null;
161
  uaPlatform = hev.platform || null;
162
  uaPlatformVersion = hev.platformVersion || null;
 
163
  }
164
  } catch { /* not Chromium or denied */ }
165
 
166
  // UA-CH brands give us a clean { brand, version } pair without parsing
167
  // the userAgent string. Filter out the "Not(A:Brand)" decoy entries.
168
- const brands = (navigator.userAgentData?.brands || [])
 
 
 
169
  .filter(b => b && !/not[^\w]*a[^\w]*brand/i.test(b.brand));
170
 
171
  return {
 
153
  let uaArch = null;
154
  let uaPlatform = null;
155
  let uaPlatformVersion = null;
156
+ // `fullVersionList` is the high-entropy version of `brands` and gives
157
+ // us the full dotted version (e.g. "147.0.7390.107") instead of just
158
+ // the major. The default `brands` is major-only.
159
+ let fullVersionList = null;
160
  try {
161
  const uad = navigator.userAgentData;
162
  if (uad?.getHighEntropyValues) {
163
+ const hev = await uad.getHighEntropyValues([
164
+ 'architecture', 'platform', 'platformVersion', 'fullVersionList',
165
+ ]);
166
  uaArch = hev.architecture || null;
167
  uaPlatform = hev.platform || null;
168
  uaPlatformVersion = hev.platformVersion || null;
169
+ fullVersionList = hev.fullVersionList || null;
170
  }
171
  } catch { /* not Chromium or denied */ }
172
 
173
  // UA-CH brands give us a clean { brand, version } pair without parsing
174
  // the userAgent string. Filter out the "Not(A:Brand)" decoy entries.
175
+ // Prefer `fullVersionList` (full dotted version) over the major-only
176
+ // default `brands` list.
177
+ const brandSource = fullVersionList || navigator.userAgentData?.brands || [];
178
+ const brands = brandSource
179
  .filter(b => b && !/not[^\w]*a[^\w]*brand/i.test(b.brand));
180
 
181
  return {