Skip to content

Commit 185aa27

Browse files
Admit cross-adapter rounding in reference-output tolerances
The reference images are rendered on one adapter; conforming adapters differ by one LSB across a small fraction of pixels, and by antialiased edge coverage on region boundaries. The measured differences are 0.003-0.010 percent under the comparer's metric, against thresholds of 0.0005-0.0006; the new values carry roughly double the measured headroom while staying far below the 0.39 percent a single-LSB difference on every pixel would produce.
1 parent 0d80bcf commit 185aa27

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

tests/ImageSharp.Drawing.Tests/Processing/Backends/WebGPUDrawingBackendTests.cs

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -970,7 +970,10 @@ void DrawAction(DrawingCanvas canvas)
970970

971971
DebugSaveBackendPair(provider, filter, defaultImage, nativeSurfaceImage);
972972
AssertBackendPairSimilarity(defaultImage, nativeSurfaceImage, 0.03F);
973-
AssertBackendPairReferenceOutputs(provider, filter, defaultImage, nativeSurfaceImage, 0.0006F);
973+
974+
// Reference outputs are rendered on one adapter; other conforming adapters round
975+
// within one LSB across a small fraction of pixels.
976+
AssertBackendPairReferenceOutputs(provider, filter, defaultImage, nativeSurfaceImage, 0.01F);
974977
}
975978

976979
[WebGPUTheory]
@@ -2190,7 +2193,10 @@ void DrawAction(DrawingCanvas canvas)
21902193

21912194
DebugSaveBackendPair(provider, null, defaultImage, nativeSurfaceImage);
21922195
AssertBackendPairSimilarity(defaultImage, nativeSurfaceImage, 0.005F);
2193-
AssertBackendPairReferenceOutputs(provider, null, defaultImage, nativeSurfaceImage, 0.0006F);
2196+
2197+
// Reference outputs are rendered on one adapter; other conforming adapters round
2198+
// within one LSB across a small fraction of pixels.
2199+
AssertBackendPairReferenceOutputs(provider, null, defaultImage, nativeSurfaceImage, 0.01F);
21942200
}
21952201

21962202
[WebGPUTheory]
@@ -4395,6 +4401,9 @@ static void DrawAction(DrawingCanvas canvas)
43954401

43964402
DebugSaveBackendPair(provider, null, defaultImage, nativeSurfaceImage);
43974403
AssertBackendPairSimilarity(defaultImage, nativeSurfaceImage, 0.108F);
4398-
AssertBackendPairReferenceOutputs(provider, null, defaultImage, nativeSurfaceImage, 0.0005F);
4404+
4405+
// Reference outputs are rendered on one adapter; other conforming adapters differ by
4406+
// rounding and antialiased edge coverage on a small fraction of pixels.
4407+
AssertBackendPairReferenceOutputs(provider, null, defaultImage, nativeSurfaceImage, 0.02F);
43994408
}
44004409
}

0 commit comments

Comments
 (0)