Per-vertex GS fog end-to-end (gs_stub emit incl. persp_emit5, gs_prim_list_feeder XYZ2->XYZF2 on PRIM.FGE, gs_make_sh3_scheduler_fixture.py F/FGE packing), new fog TBs, fidelity attribution tooling. Functional baseline before removing the dead bilinear lerp8 clamps (Codex: 161-node comb loop -> -0.042ns setup fail). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1.3 KiB
Ch425 — post-process bisection closeout
Objective
Append the captured post-process families to the accepted Ch424 scene and admit them only if the production replay stays exact and the PCSX2 fidelity score improves.
Candidates and isolation
zsrt139f20 concatenated the 125-epoch Ch424 scene, the 20-epoch PSMCT32
darken pass, the 212-epoch Ch405 PSMT8 alpha-fan fixture, and the 18-epoch
PSMT4 pass. The 375-epoch production replay was functionally clean but its
frame was catastrophically white (mapped MAE 165.23 / RMSE 189.17), so it was
not deployed.
Epoch-boundary replays isolated each family:
- Ch424 + CT32 darken: mapped MAE 21.3646 / RMSE 30.1358, worse than the Ch424 baseline 20.9469 / 29.7626.
- Ch424 + CT32 + old alpha fans: mapped MAE 161.9749 / RMSE 185.4484; this is the white-frame source.
- Ch424 + PSMT4 only (
zsrt139f21): mapped MAE 23.4472 / RMSE 32.3453 and most scene detail was erased.
Every isolation replay had zero fragment drops and exact RTL Z/color scoreboards. The problem was therefore captured-state interpretation, not timing, loss, or board nondeterminism. Ch425 rejected all three fixtures as generated and left the live board on Ch424 while the alpha source was audited.
Status
Closed as a diagnostic chapter. Ch426 supersedes the alpha result after repairing the fixture's RGBAQ alpha packing.