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,45 @@
|
||||
# Ch367 Audit Log - Runtime CLUT At 24 Draws
|
||||
|
||||
## Scope
|
||||
|
||||
Join the established native-640x480 24-draw shared-texture cluster to the runtime CLUT transport. The fixture has
|
||||
eight ordered 204-record epochs, one texture fill, seven CRC-verified residency reuses, and a host runtime palette
|
||||
copy before every epoch.
|
||||
|
||||
## FIFO Sizing
|
||||
|
||||
- At request depth 1024, the runtime fixture removes the boot-time CLUT-loader throttle and epoch 2 dropped 19
|
||||
fragments after the high-water counter saturated at 1024.
|
||||
- At depth 2048, epoch 2 accepted all 58,861 fragments at high-water 1041. Integration simulation also passed
|
||||
epochs 0 through 6 with zero drops; epoch 5 was the largest observed simulation burst at 1855.
|
||||
- The DE25 top therefore changes only `u_zc_emit` request depth from 1024 to 2048. No clock, SDC, or protocol
|
||||
change is involved; `zc_g_drops` remains the fail-closed hardware guard.
|
||||
|
||||
## GUI Fit And Board Gate (2026-07-12)
|
||||
|
||||
- Quartus 26.1 STA finished at 08:40:47 and met every requirement: setup +0.090 ns, hold 0.000 ns, recovery
|
||||
+1.043 ns, removal +0.201 ns, and minimum pulse width +0.200 ns.
|
||||
- The 08:41 core RBF SHA-256 is `8e3fa2b8b14de9b4660a542ec7ffed5c59353ec8583458f31339a4b4183f42d2`; fit reports
|
||||
the request FIFO as a 2048 x 74 dual-clock M20K implementation.
|
||||
- The RBF was SHA-verified on the DE25 and loaded through `core_loader.sh`; `fpga0` reported `operating` and the
|
||||
overlay reported `applied`.
|
||||
- Board scheduler gate: all eight 204-record epochs drained freshly; one texture CRC-verified fill and seven
|
||||
resident CRC checks passed; every runtime palette sum was `0x47097d4c`; every epoch reported zero drops.
|
||||
- Board dump: 73,330 nonzero pixels, bounds `(84,85)..(568,399)`, sum `0xc521381a`, xor `0x8021455e`.
|
||||
|
||||
## Exact Closure
|
||||
|
||||
- The trace-enabled integration run passed all eight epochs: 346,425 accepted fragments, 167,247 persistent-Z
|
||||
updates, eight scene markers/drains, zero drops, and exact local scoreboards (Z `0/307200`, color `0/73330`).
|
||||
- The highest simulated request-FIFO occupancy was 1855 in epoch 5; the final epoch reached 1156. Both remain below
|
||||
the production 2048 entries and agree with the board's zero-drop counters.
|
||||
- Board and integration-simulation framebuffers are byte-identical with SHA-256
|
||||
`6614d7211b9a668cfeda12e4fa2d6f469d3ee4d3a10bdf56c0119b35f93c7803`.
|
||||
- Replay-color is exact at `307200/307200` pixels: 346,425 fragments, 167,247 Z-pass updates, 73,330 covered
|
||||
pixels, and zero uncovered writes.
|
||||
|
||||
## Result
|
||||
|
||||
Ch367 is closed on silicon: 24 authentic SH3 draws, runtime CLUT staging on every epoch, one texture fill plus
|
||||
seven verified resident reuses, native 640x480 scanout, and persistent depth all agree with integration simulation
|
||||
and the independent replay oracle.
|
||||
Reference in New Issue
Block a user