the anisotropy limit reads as a number once its WebGL extension is enabled
With EXT_texture_filter_anisotropic enabled, MAX_TEXTURE_MAX_ANISOTROPY_EXT is a number of at least 2 (16 on essentially every desktop GPU) and raises no GL error. N/A where no WebGL context exposes the extension (severity: warn).
What a detector infers
EXT_texture_filter_anisotropic adds exactly one parameter to getParameter, MAX_TEXTURE_MAX_ANISOTROPY_EXT, and the extension guarantees it is at least 2.0. Before the extension is enabled the parameter is unknown and null is the correct answer; after getExtension() returns the extension object, the same call has to return the driver's limit. Measured: Chrome, Edge and Brave 153, Firefox 144 and two patched Chromium builds all answer 16, in WebGL 1 and WebGL 2.
A browser that answers getParameter from a replayed parameter table answers only the keys the table recorded, and this extension-gated one is easy to leave out: three Camoufox builds (upstream 152 headed and headless, and a 153 fork) enable the extension and then answer null, in the page's own world. A live driver cannot produce that.
How to resolve it
Answer getParameter from the driver, or make a spoofed parameter table complete: every parameter an enabled extension defines has to return the claimed GPU's value, the anisotropy limit included.
Read in the wild by
Camoufox (measured)
Measured while establishing ground truth for this row. With the extension enabled, getParameter(MAX_TEXTURE_MAX_ANISOTROPY_EXT) returns null instead of a number, in WebGL 1 and WebGL 2, under both default and forced-Windows fingerprints.
Camoufox 152.0.4-beta.30 (python package 0.5.6) headed and headless, and a 153.2-based fork: null. Firefox 144, Chrome/Edge/Brave 153 on the same machine: 16. Read from a page script, not from an automation sandbox.
camoufox.comEvery attribution traces to a published artifact. See the sources and their limits.
Nearby checks in Render & GPU
- 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… - the WebGL renderer string is one ANGLE's Direct3D 11 backend can print
webgl-renderer-angle-formatOn Windows, Chrome's WebGL renderer string is assembled by ANGLE's Direct3D 11 backend, not typed by anyone: the adapter's description, then… - 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. - a Direct3D 11 WebGL renderer reports the uniform limits ANGLE fixes for its vendor
webgl-d3d11-limits-vs-vendorChrome, Edge, Brave and Firefox on Windows render WebGL through ANGLE's Direct3D 11 backend, and that backend does not ask the driver for… - 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 webgl-anisotropy-after-extension belongs to.
