Commit 268363b
committed
test(compositor): pin the iso-render claim to a number
"ISO with D3D" was an assertion. This makes the part of it that CAN be measured into
a failing test, and says plainly what the rest is worth.
The two backends cannot run on the same machine, so iso cannot be established by
comparing two rendered images. What can be — and what is the layer where divergence
actually happened on this branch — is the geometry: `plan_frame` is literally the same
code on both sides, so its 15 outputs must be bit-identical. `plan_frame_is_pinned_bit_for_bit`
pins them for a scene that exercises padding, crop, a displaced PiP camera, corner
radii and the zoom, comparing with `to_bits()` rather than an epsilon.
It runs in BOTH CI jobs — `rust-macos-compositor-check` and
`rust-windows-compositor-check`. If the two platforms ever compute different
placements, one of them goes red. That is the guarantee that was being claimed and
never held: `webcam_shape_code` returned "rounded" on Windows and "rectangle" on
macOS for months, and `LiveParams::default()` disagreed on two more fields, precisely
because nothing compared them.
What this test does NOT cover, and must not be read as covering: rasterisation. D3D11
and Metal will never be bit-identical — PR #162 measured 93-95 % of channels identical
with a max deviation of 3/255 between two backends on the SAME machine, and that is
the floor, not the target. Shader parity is held separately, by `shaders.metal` and
`shaders.hlsl` having been diffed line by line across all 14 modes; nine divergences
came out of that pass, three of them live.
The expected values are measured from this code, not chosen. A drift is a divergence
to explain, not a tolerance to loosen.1 parent 77cbe2f commit 268363b
1 file changed
Lines changed: 88 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1212 | 1212 | | |
1213 | 1213 | | |
1214 | 1214 | | |
| 1215 | + | |
| 1216 | + | |
| 1217 | + | |
| 1218 | + | |
| 1219 | + | |
| 1220 | + | |
| 1221 | + | |
| 1222 | + | |
| 1223 | + | |
| 1224 | + | |
| 1225 | + | |
| 1226 | + | |
| 1227 | + | |
| 1228 | + | |
| 1229 | + | |
| 1230 | + | |
| 1231 | + | |
| 1232 | + | |
| 1233 | + | |
| 1234 | + | |
| 1235 | + | |
| 1236 | + | |
| 1237 | + | |
| 1238 | + | |
| 1239 | + | |
| 1240 | + | |
| 1241 | + | |
| 1242 | + | |
| 1243 | + | |
| 1244 | + | |
| 1245 | + | |
| 1246 | + | |
| 1247 | + | |
| 1248 | + | |
| 1249 | + | |
| 1250 | + | |
| 1251 | + | |
| 1252 | + | |
| 1253 | + | |
| 1254 | + | |
| 1255 | + | |
| 1256 | + | |
| 1257 | + | |
| 1258 | + | |
| 1259 | + | |
| 1260 | + | |
| 1261 | + | |
| 1262 | + | |
| 1263 | + | |
| 1264 | + | |
| 1265 | + | |
| 1266 | + | |
| 1267 | + | |
| 1268 | + | |
| 1269 | + | |
| 1270 | + | |
| 1271 | + | |
| 1272 | + | |
| 1273 | + | |
| 1274 | + | |
| 1275 | + | |
| 1276 | + | |
| 1277 | + | |
| 1278 | + | |
| 1279 | + | |
| 1280 | + | |
| 1281 | + | |
| 1282 | + | |
| 1283 | + | |
| 1284 | + | |
| 1285 | + | |
| 1286 | + | |
| 1287 | + | |
| 1288 | + | |
| 1289 | + | |
| 1290 | + | |
| 1291 | + | |
| 1292 | + | |
| 1293 | + | |
| 1294 | + | |
| 1295 | + | |
| 1296 | + | |
| 1297 | + | |
| 1298 | + | |
| 1299 | + | |
| 1300 | + | |
| 1301 | + | |
| 1302 | + | |
1215 | 1303 | | |
1216 | 1304 | | |
1217 | 1305 | | |
| |||
0 commit comments