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 @@
|
||||
# Ch433 — UV-optimized STQ packing
|
||||
|
||||
## Root cause
|
||||
|
||||
The repaired Ch432 sampler restored the missing perspective-bilinear samples,
|
||||
but the f19 base scene still showed granular spatial misregistration against
|
||||
its independent floating-point reference. Post-repair isolation rejected a
|
||||
13-bit reciprocal table and rejected nearest filtering: both worsened the
|
||||
software-reference and PCSX2 scores.
|
||||
|
||||
The remaining fixture path used `--fast-fit-scale`. That shortcut selected
|
||||
the largest representable common S/T/Q scale, normally 6144, even though the
|
||||
scheduler generator already had a per-triangle search that scores packed RTL
|
||||
UVs against authentic floating-point UVs. A common scale cancels only at
|
||||
infinite precision; vertex quantization, integer gradients, and reciprocal
|
||||
quantization make the choice observable.
|
||||
|
||||
## One-variable repair
|
||||
|
||||
`zsrt139f43` retains f19's exact 766-draw population, 254 chronological state
|
||||
groups, 125 capacity epochs, native 12.4 geometry, textures, palettes, fog,
|
||||
bilinear reference, Z state, and alpha state. Only `--fast-fit-scale` was
|
||||
removed. The optimizer selected scales from 0.375 through 6144 rather than
|
||||
forcing almost every triangle to 6144.
|
||||
|
||||
The coverage planner no longer emits the shortcut by default. It remains
|
||||
available through an explicit planner `--fast-fit-scale` option for quick
|
||||
diagnostic fixture generation.
|
||||
|
||||
## Production result
|
||||
|
||||
The full registered-gradient f43 replay passed all 125 epochs:
|
||||
|
||||
- 282,363 fragments fed and 232,326 passed Z;
|
||||
- zero drops, color overflows, and AXI errors;
|
||||
- 125 complete markers and drains;
|
||||
- final Z mismatch 0/307,200 and color mismatch 0/176,888.
|
||||
|
||||
Against its independent software reference, f43 improves from f19's
|
||||
MAE/RMSE 8.7494/18.7008 to 4.1633/11.9970. Its mapped PCSX2 score improves
|
||||
from 18.3393/25.8374 to 17.7172/24.8787.
|
||||
|
||||
`zsrt139f44` substitutes the optimized f43 base slices into the complete f42
|
||||
composition while preserving the chronology-correct PSMT4 character,
|
||||
direct-color highlights, and alpha/postprocess population. The production
|
||||
replay passed all 292 epochs with 2,339,405 fragments fed, 2,285,783 passed,
|
||||
zero drops/errors, and exact final Z and color scoreboards. Relative to f42,
|
||||
87,282 pixels change. The mapped PCSX2 score improves from
|
||||
15.0765/21.9717 to 14.8127/21.5567.
|
||||
|
||||
## Silicon acceptance
|
||||
|
||||
No compile was required. The timing-clean Ch432 RBF ran both asset-only
|
||||
fixtures. f43 passed all 125 runtime gates and matched simulation byte for
|
||||
byte at SHA-256
|
||||
`f4ae82153791a66ae8ed7c4b3dd01f609b9706e826e971311c602181f8a08bc7`.
|
||||
|
||||
The complete f44 board run passed all 292 texture, palette, staging, drain,
|
||||
and zero-drop gates. It reported 240,492 nonzero words, bounds
|
||||
`(0,0)..(511,479)`, sum32 `0x96f07662`, xor32 `0x0a031310`, and selected the
|
||||
HDMI line-buffer source. Its 307,200-word framebuffer is byte-identical to
|
||||
production simulation at SHA-256
|
||||
`3f492ab65c12415f4d0cd1aeafc64072870fd43bed237be4a923efbce30d2081`.
|
||||
|
||||
The accepted board image is
|
||||
`captures/gs/silenthill3/extracted/sh3_zsrt139f44_ch433_board.png`; the mapped
|
||||
comparison is
|
||||
`captures/gs/silenthill3/extracted/recon/sh3_zsrt139f44_ch433_board_mapped.png`.
|
||||
Ch433 is accepted, and f44 is the current live HDMI baseline.
|
||||
Reference in New Issue
Block a user