A small, reproducible receipt for one narrow observation:
On one Linux / Intel Iris Xe host, the same 65,536-item / 64-loop WebGPU compute workload completes on the GPU in roughly 0.5–1.0 ms, while host-side completion observation differs sharply between the tested browser configurations.
Chrome 152 reports a 3.85 ms median from
queue.submit()toqueue.onSubmittedWorkDone(). Firefox 155.0.1, with WebGPU manually enabled, reports 100 ms idle. Empty diagnostic submissions reduce the Firefox observation to 9 ms in fast mode and 21 ms at a 20 ms cadence.The pattern is consistent with Mozilla Bug 1870699.
Chrome idle's GPU execution median (0.465 ms) and Firefox idle's (1.010 ms) also differ on the identical workload. That difference is observed but unexplained here and is not part of the host-completion claim.
See PROVENANCE.md for capture details, checksums, and evidence limits.
There are no package dependencies and no build step. Node is used only for the local static server and tests.
node scripts/serve.mjsOpen:
- Receipt:
http://127.0.0.1:8003/ - Reproducer:
http://127.0.0.1:8003/repro/
Run the test suite with:
npm test| Configuration | GPU median | Host-completion median |
|---|---|---|
| Chrome 152, idle | 0.46 ms | 3.85 ms |
| Firefox 155, idle | 1.01 ms | 100 ms |
| Firefox 155, fast diagnostic submissions | 1.01 ms | 9 ms |
| Firefox 155, 20 ms diagnostic cadence | 0.92 ms | 21 ms |
All displayed statistics are recomputed from the raw runs arrays. The fixture files' precomputed median fields are not used for display.
Open /repro/ and press Run capture. Nothing runs automatically, and results are not uploaded.
The defaults match the stored workload: 65,536 items, 64 loops per item, workgroup size 64, 30 measured runs after 5 warmups. URL parameters can pre-fill the form, for example:
?mode=timed&kickMs=20
Modes:
idle— submit once, then awaitqueue.onSubmittedWorkDone().fast— submit empty command buffers in a tight diagnostic loop while awaiting the same completion.timed— submit one empty command buffer every configuredkickMswhile awaiting the same completion.
The empty submissions are a diagnostic probe, not a production workaround. They change when host completion is observed; they do not make the original GPU workload faster.
This receipt supports only the single-host observation described above. It does not establish:
- cross-platform, cross-vendor, or cross-GPU behavior;
- headed Firefox parity on the real Iris Xe GPU;
- a browser performance benchmark or production recommendation;
- source-level confirmation of Firefox internals;
- a new discovery of the upstream issue.
Firefox 155.0.1 WebGPU was manually enabled on Linux. The canonical stored captures are headless.
MIT — see LICENSE.