A Direct3D 11 renderer reports the caps ANGLE's D3D11 backend fixes
Under a renderer naming Direct3D11 vs_5_0, every listed cap has ANGLE's fixed Direct3D 11 value. N/A for other backends, other feature levels and masked renderers; the WebGL 2-only values are skipped without WebGL 2 (severity: warn).
What a detector infers
When ANGLE runs WebGL on Direct3D 11 at feature level 11 — the renderer string reads Direct3D11 vs_5_0 ps_5_0 — it does not ask the driver for most of its capabilities: renderer11_utils.cpp sets them from the Direct3D specification, identically on every GPU.
MAX_VIEWPORT_DIMS is [32767, 32767], ALIASED_LINE_WIDTH_RANGE [1, 1], ALIASED_POINT_SIZE_RANGE [1, 1024], MAX_ELEMENT_INDEX 4294967294, every float shader precision is IEEE single (23 bits, mediump and lowp included) and every integer precision is 32-bit, the ASTC and ETC compressed-texture extensions are absent, and the varying, vertex-output and fragment-input component counts are all four times MAX_VARYING_VECTORS (30, so 120), as the uniform component counts are four times their vectors.
Chrome clamps none of them on Windows. The set therefore describes the backend rather than the card, and a different set under a D3D11 renderer string means the string and the context come from different backends. Measured identical on Chrome and Edge on Windows; 186 of the 195 Direct3D 11 captures in the audit's corpus match exactly, and the other nine carry values only SwiftShader or Mesa produce.
A Direct3D 11 string written over a Linux context gave a viewport of 8192, mediump precision 10 and ASTC present. webgl-d3d11-limits-vs-vendor reads the uniform limits that do vary by vendor; this row reads the ones that cannot vary at all. ANGLE on Vulkan prints Vulkan and is out of scope, as are older feature levels, which have different register counts.
How to resolve it
These values belong to the Direct3D 11 backend, so they follow whatever backend is actually rendering, not the GPU named. A Direct3D 11 renderer string over an OpenGL, Vulkan or software context will always disagree with them; present the renderer the context really runs on.
Nearby checks in Render & GPU
- A fully transparent canvas pixel reads back as zero
canvas-alpha-zero-reads-blackA 2D canvas stores its pixels premultiplied: each colour channel is kept already multiplied by alpha. - Grey drawing reads back as grey
canvas-grey-stays-greyText, arcs and gradients drawn in a neutral grey on a transparent canvas read back with the three colour channels equal. - A Direct3D renderer only appears under a Windows claim
d3d-renderer-only-on-windowsDirect3D is a Windows API. ANGLE, the layer Chromium renders WebGL through, only names it in the unmasked renderer string when it is running… - Every extension WebGL hands out is one it advertises
webgl-gettable-is-advertisedIn Chrome, getSupportedExtensions() and getExtension() read the same set: an extension the context can hand out is one it lists, and one it… - WebGL state reads back what the page just set
webgl-state-reads-backSome WebGL parameters are not capabilities but state the page itself controls. - readPixels writes only the pixels it was asked to read
webgl-readpixels-sentinelreadPixels writes into an array the page supplies, and the WebGL specification is precise about the edges: when the requested rectangle… - A worker OffscreenCanvas encodes the pixels it reads back
offscreen-canvas-exits-agreeA canvas has more than one way out. getImageData hands pixels straight to script; convertToBlob encodes the same pixels into a file, and… - WebGPU's preferred canvas format belongs to the claimed OS
webgpu-canvas-format-vs-osnavigator.gpu.getPreferredCanvasFormat() returns the texture format the platform's compositor wants to be handed, and Chrome on Windows and…
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-d3d11-fixed-caps belongs to.
