How much do pixels differ across GPUs and browsers for the same WebGL or WebGPU scene, and what tolerance do conformance tests allow?
A 2012 study rendered one simple antialiased WebGL scene on 270 crowd-sourced machines: the images looked identical but formed 50 distinct pixel-level renders, mostly consistent within a graphics-card model (the text also mentions 51 groups). Current WebGPU conformance tests assume small differences: integer formats compare exactly by default, float and normalised formats can use ULP or fractional thresholds, a canvas colour-space reftest allows up to 2 levels per channel, and WGSL leaves the rounding mode open when quantising. So pixel-exact equality across devices should not be expected; no recent cross-device measurement was found.
A 2012 study rendered one simple antialiased WebGL scene on 270 crowd-sourced machines: the images looked identical but formed 50 distinct pixel-level renders, mostly consistent within a graphics-card model (the text also mentions 51 groups). Current WebGPU conformance tests assume small differences: integer formats compare exactly by default, float and normalised formats can use ULP or fractional thresholds, a canvas colour-space reftest allows up to 2 levels per channel, and WGSL leaves the rounding mode open when quantising. So pixel-exact equality across devices should not be expected; no recent cross-device measurement was found.
Curator qualifications: Paper and test sources read 2026-10-22; no rendering performed. 2012 data (WebGL 1, Firefox 11-era browsers, self-reported hardware) may not reflect current GPUs.
Limitations: Paper and test sources read 2026-10-22; no rendering performed.
Evidence status: statements located in the cited sources by a correlated desk review (Claude); not executed; not independently reviewed.
Structured fields
{
"citations": [
{
"url": "https://hovav.net/ucsd/dist/canvas.pdf",
"note": "Mowery & Shacham, Pixel Perfect (canvas.pdf), pdftotext lines 415, 481, 491, 790-812; gpuweb/cts src/webgpu/util/texture/texture_ok.ts @8de0e0a7 lines 20-29, 63; canvas_colorspace_rgba8unorm.https.html line 17; docs/fp_primer.md line 62"
},
{
"url": "https://github.com/gpuweb/cts/blob/8de0e0a7da5c62e1e4e194b929c431002610155a/src/webgpu/util/texture/texture_ok.ts",
"note": "Mowery & Shacham, Pixel Perfect (canvas.pdf), pdftotext lines 415, 481, 491, 790-812; gpuweb/cts src/webgpu/util/texture/texture_ok.ts @8de0e0a7 lines 20-29, 63; canvas_colorspace_rgba8unorm.https.html line 17; docs/fp_primer.md line 62"
},
{
"url": "https://github.com/gpuweb/cts/blob/8de0e0a7da5c62e1e4e194b929c431002610155a/docs/fp_primer.md",
"note": "Mowery & Shacham, Pixel Perfect (canvas.pdf), pdftotext lines 415, 481, 491, 790-812; gpuweb/cts src/webgpu/util/texture/texture_ok.ts @8de0e0a7 lines 20-29, 63; canvas_colorspace_rgba8unorm.https.html line 17; docs/fp_primer.md line 62"
},
{
"url": "https://github.com/gpuweb/cts/blob/8de0e0a7da5c62e1e4e194b929c431002610155a/src/webgpu/web_platform/reftests/canvas_colorspace_rgba8unorm.https.html",
"note": "Mowery & Shacham, Pixel Perfect (canvas.pdf), pdftotext lines 415, 481, 491, 790-812; gpuweb/cts src/webgpu/util/texture/texture_ok.ts @8de0e0a7 lines 20-29, 63; canvas_colorspace_rgba8unorm.https.html line 17; docs/fp_primer.md line 62"
}
]
}Evidence claims
- [sourced_fact] A 2012 study rendered one simple antialiased WebGL scene on 270 crowd-sourced machines: the images looked identical but formed 50 distinct pixel-level renders, mostly consistent within a graphics-card model (the text also mentions 51 groups). Current WebGPU conformance tests assume small differences: integer formats compare exactly by default, float and normalised formats can use ULP or fractional thresholds, a canvas colour-space reftest allows up to 2 levels per channel, and WGSL leaves the rounding mode open when quantising. So pixel-exact equality across devices should not be expected; no recent cross-device measurement was found. · locator: Mowery & Shacham, Pixel Perfect (canvas.pdf), pdftotext lines 415, 481, 491, 790-812; gpuweb/cts src/webgpu/util/texture/texture_ok.ts @8de0e0a7 lines 20-29, 63; canvas_colorspace_rgba8unorm.https.html line 17; docs/fp_primer.md line 62 source
Rights
| component | license | hosting | redistribution | modification | training | Evidence and notes |
|---|---|---|---|---|---|---|
| documentation | unknown | permitted | permitted | unknown | unknown | Applies to this original summary only, not to the cited sources. |
Linked records
- cites → https://github.com/gpuweb/cts/blob/8de0e0a7da5c62e1e4e194b929c431002610155a/docs/fp_primer.md
- cites → https://github.com/gpuweb/cts/blob/8de0e0a7da5c62e1e4e194b929c431002610155a/src/webgpu/util/texture/texture_ok.ts
- cites → https://github.com/gpuweb/cts/blob/8de0e0a7da5c62e1e4e194b929c431002610155a/src/webgpu/web_platform/reftests/canvas_colorspace_rgba8unorm.https.html
- cites → https://hovav.net/ucsd/dist/canvas.pdf