Snapshot: fog implementation + fidelity tooling baseline (pre bilinear-clamp fix)
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>
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
# Ch432 — perspective palette-bilinear handshake repair
|
||||
|
||||
## Result
|
||||
|
||||
Ch432 removes the alternate-sample loss in the serialized perspective
|
||||
palette-bilinear raster path. It restores a broad missing surface population
|
||||
in the unchanged 292-epoch f42 composition and is accepted on silicon.
|
||||
|
||||
The mapped PCSX2 score improves from Ch431's MAE 18.9405 / RMSE 27.6301 to
|
||||
MAE 15.0765 / RMSE 21.9717. This is a fidelity improvement from corrected
|
||||
RTL coverage, not an increase in draw count or a fixture substitution.
|
||||
|
||||
## Root and repair
|
||||
|
||||
Dense perspective epochs emitted almost exactly half of the independently
|
||||
rasterized coverage. Isolated f19 epoch 74 produced 7,301 fragments against
|
||||
14,371 reference pixels. The sampler advanced once when launching the held
|
||||
S1 pixel and again on `PB_RELEASE`, skipping the next S1 sample.
|
||||
|
||||
Launch is now the single normal advance, `PB_WAIT` holds while the four-tap
|
||||
sample returns, and `PB_RELEASE` contributes a final hold cycle. Perspective
|
||||
valid is qualified by the existing Z and texture-alpha advance enables so a
|
||||
frozen beat cannot resubmit the same pixel. The expensive triangle-inside
|
||||
result remains off the global pipeline-enable path.
|
||||
|
||||
An ALWAYS-Z diagnostic had previously added only 571 lit pixels and worsened
|
||||
the reference score, independently ruling out Z as the large coverage root.
|
||||
|
||||
## Simulation acceptance
|
||||
|
||||
The focused perspective PSMT8 regression emits all 31/31 independently
|
||||
covered samples, with no missing pixels, valid colors, correct alpha metadata,
|
||||
and correct MODULATE behavior. The isolated production epoch-74 regression
|
||||
passes its explicit 14,341-fragment count, up from 7,301, with zero drops and
|
||||
exact scoreboards. The affine palette-bilinear regression remains clean.
|
||||
|
||||
The complete unchanged f42 replay passes:
|
||||
|
||||
- 2,339,405 fragments fed and 2,285,783 passed;
|
||||
- 292 markers and drains;
|
||||
- zero fragment drops, color overflows, and AXI errors;
|
||||
- Z mismatch 0/307,200 and color mismatch 0/245,760;
|
||||
- framebuffer SHA-256
|
||||
`31d21fb5c38816ef99ace1d7b55186dc749720e874ecb055a68b21584ec27037`.
|
||||
|
||||
The repaired f19 scene improves against its independent software reference
|
||||
from MAE 11.7491 / RMSE 24.6649 to MAE 8.7494 / RMSE 18.7008. Its mapped
|
||||
PCSX2 score improves from 20.9469 / 29.7626 to 18.3393 / 25.8374.
|
||||
|
||||
## Fit and silicon acceptance
|
||||
|
||||
The owner GUI fit is timing-clean. Runtime-fabric audit reports 38,367 ALMs,
|
||||
336 RAM blocks, required feeder/texture/Z hierarchy present, and 310 MHz setup
|
||||
met at +0.069 ns. Hold is nonnegative. The deployed RBF SHA-256 is
|
||||
`69b1f91b26d0d78ba654b3d0ccc48f747fa3249f08e2a23535007ff3df40d63e`.
|
||||
|
||||
After explicit loader confirmation, the DE25 completed all 292 epochs with
|
||||
every texture checksum, palette checksum, staged-record count, ordered drain,
|
||||
and zero-drop gate passing. The host returned `rc=0`, selected the HDMI
|
||||
line-buffer source, and dumped 307,200 words with sum32 `0x8304eb9b`, xor32
|
||||
`0x89a68e4f`, 240,414 nonzero 32-bit words, and bounds `(0,0)..(511,479)`.
|
||||
|
||||
The board dump is byte-identical to the production-gradient simulation at the
|
||||
framebuffer SHA above. The accepted board image is
|
||||
`captures/gs/silenthill3/extracted/sh3_zsrt139f42_ch432_board.png`; its PNG
|
||||
SHA-256 is
|
||||
`45d7f3eed485ab4650bcf61e849598423c46302c42465dbd2a2579ae4518fab3`.
|
||||
|
||||
Ch432 is accepted and is the current live HDMI baseline.
|
||||
Reference in New Issue
Block a user