WebGPU's architecture is the one Chrome's own table gives the GPU WebGL names
The adapter's vendor and architecture are spellings Chrome's table produces, and the architecture is the one the table gives the device the WebGL renderer names. N/A when the two surfaces name different vendors (that is webgl-webgpu-vendor's question), for devices the table does not know, and on non-Chromium engines (severity: warn).
What a detector infers
GPUAdapterInfo.architecture is not free text. Chrome's WebGPU implementation derives it from the GPU's PCI device id through its own table, and spells it with its own generator — lower-case, hyphenated, with no hyphen after a number ("gen-12lp", "xe-2lpg", "rdna-2", "ampere").
On Windows the WebGL renderer string carries that same PCI device id, so the architecture the renderer implies can be computed from the very table Chrome uses: an RTX 3070 is device 0x2484, the table maps it to ampere, and genuine Chrome's adapter reports ampere. That catches what the vendor row cannot: a renderer rewritten to another model of the same vendor, which leaves the adapter describing the real GPU.
The spelling is evidence in its own right — Chrome 153's binary contains "gen-12lp" and not "gen-12-lp", so an adapter reporting the latter was not written by the browser. Where the renderer has no device id (macOS, Linux), only GeForce and Radeon RX model numbers are used, because those map to one architecture without exception.
How to resolve it
Spoof WebGL and WebGPU from one captured device, or leave both alone. The architecture must be the one Chrome's table maps the renderer's device id to, spelled exactly as Chrome spells it.
Nearby checks in Render & GPU
- WebGL renderer (software vs hardware)
webgl-not-softwareThe audit reads UNMASKED_RENDERER through the WEBGL_debug_renderer_info extension and matches it against SwiftShader, llvmpipe and Software. - WebGPU vendor coheres with WebGL vendor
webgl-webgpu-vendorTwo independent graphics stacks in the same browser are backed by the same physical adapter: this check lowercases the WebGL UNMASKED_VENDOR… - WebGPU's features and limits fit the hardware GPU WebGL names
webgpu-features-vs-rendererOn Windows, Chrome's WebGPU runs on Direct3D 12, and Direct3D bounds what an adapter can expose: DXGI has no ASTC or ETC2 formats at all, BC… - WebGL exposes a full parameter table + UNMASKED vendor/renderer
webgl-param-tableBeyond the two headline strings, a WebGL context answers getParameter for dozens of driver-specific limits. - WebGL parameters return the JavaScript types the specification assigns them
webgl-param-value-typesgetParameter does not return loose values: the WebGL specification fixes the JavaScript TYPE of each one. - WebGL vendor/renderer identical in a Worker
webgl-worker-vs-mainThe audit reads UNMASKED_VENDOR and UNMASKED_RENDERER on the main thread, then spawns a dedicated Worker that builds its own WebGL context… - masked WebGL VENDOR matches the engine
webgl-engine-vendorThis check reads the plain gl.getParameter(gl.VENDOR) — the masked value, not the debug extension's unmasked GPU string. - WebGL1 and WebGL2 report the same UNMASKED GPU
webgl1-webgl2-coherenceThe check creates a WebGL1 context and a WebGL2 context and reads UNMASKED_VENDOR_WEBGL / UNMASKED_RENDERER_WEBGL from each through the…
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-architecture-vs-renderer belongs to.
