Skip to content
All fingerprint checks
Render & GPU

WebGPU's subgroup size is the wave width of the GPU WebGL names

Pim· Clearcote Research 2 min readCheck id webgpu-subgroup-vs-renderer

When the WebGL renderer is a hardware ANGLE Direct3D 11 adapter and WebGPU's adapter vendor is the same vendor: an NVIDIA adapter reports subgroupMinSize 32, and an Intel Gen12LP adapter (by Dawn's device table) reports 16 or less. N/A for other vendors and generations, for the fallback adapter, when the two APIs name different vendors (a dual-GPU laptop can), on non-Chromium engines, and when subgroupMinSize is absent (severity: warn).

What a detector infers

Chrome's WebGPU implementation (Dawn) reports GPUAdapterInfo.subgroupMinSize from the driver: on Windows the Direct3D 12 backend reads WaveLaneCountMin, the narrowest wave the hardware runs. That is a property of the silicon, not of a table, so it follows the real GPU even when the adapter's name is changed. NVIDIA runs 32-lane warps on every architecture, and Chrome, Edge and Brave on an RTX 3070 all report 32.

For Intel's Gen12LP generation Dawn itself records that the driver reports a minimum of 16, and by default lowers what it reports to at most 8 (d3d12_relax_min_subgroup_size_to_8, enabled for every Gen12LP device in Dawn's own GPU table). A WebGL renderer and a WebGPU adapter that name the same Gen12LP GPU but report a 32-lane minimum describe an NVIDIA GPU under an Intel name.

How to resolve it

Report WebGPU from the GPU the WebGL persona names, or choose personas from the host's own GPU vendor. The subgroup size is read from the driver, so renaming the adapter cannot change it.

Read in the wild by

Clearcote (measured)

Measured while establishing ground truth for this row. Clearcote r27's default persona names an Intel UHD Graphics 770 (a Gen12LP device) in both WebGL and WebGPU, but WebGPU reports subgroupMinSize 32 from the NVIDIA host GPU. Recorded as a known gap for a persona whose GPU vendor differs from the host's.

RTX 3070 host: Chrome/Edge/Brave 153 and Chromium 143 report vendor "nvidia", subgroupMinSize 32. Clearcote r27 (default and seeded): vendor "intel", architecture "gen-12-lp", subgroupMinSize 32, subgroupMaxSize 32. SwiftShader fallback: 4.

clearcotelabs.com/audit

Every attribution traces to a published artifact. See the sources and their limits.

Nearby checks in Render & GPU

See all 53 checks in Render & GPU
Who builds this test

Clearcote is a browser built for fingerprint coherence

It is a Chromium fork, maintained by the same people who wrote this reference. It ships as a compiled browser rather than as a stealth script injected into someone else's — which is a description of how it is built, and is not an argument about how it behaves on this check.

This audit takes no position on how Clearcote scores on Render & GPU checks, on this one, or anywhere else. It has no baseline corpus of other people's fingerprints to rank you against and no vendor scoreboard — nearly every check is self-referential, asking one browser the same question through two independent APIs and reporting whether both answers can be true at once. It runs identically on any browser, including ours. Run it on yours and read the result yourself.

See the other checks in Render & GPU — the family webgpu-subgroup-vs-renderer belongs to.