ba74bbd5aa
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>
49 lines
2.9 KiB
Markdown
49 lines
2.9 KiB
Markdown
# Ch360 audit log - zs640c12: 12-draw shared-texture residency at native 640x480 persistent Z
|
|
|
|
## Scope
|
|
|
|
Scale Ch359's six-draw shared-texture proof to twelve authentic SH3 draws without increasing feeder-list size:
|
|
|
|
`119471,119684,119897 / 120110,120323,120536 / 120749,120962,121175 / 121388,121601,121814`
|
|
|
|
All draws are PSMT8 `tbp=8192`, share the byte-identical resident CLUT at `cbp=13888`, have identical feeder-visible
|
|
state, and use authentic `ZTE=1`, `GEQUAL`, `ZMSK=0`, `PSMZ16S`. They form four ordered 204-triangle / 1843-word
|
|
epochs: one LPDDR texture upload/fill followed by three fail-closed cache reuses.
|
|
|
|
## Fixture And Fidelity Decision
|
|
|
|
- The generator preflight passed native 640x480 bounds, signed-Q legality, state equality, shared texture/CLUT bytes,
|
|
and all four feeder-list capacities.
|
|
- Per-triangle auto PSCALE failed the content fidelity gate: isolated epochs 2/3 were 79.4%/81.5% and the full
|
|
multi-epoch score was 83.6%.
|
|
- Fixed `PSCALE=1024` for every C12 epoch corrected that host-fixture range choice without RTL: isolated epochs 2/3
|
|
reached 92.0%/91.1%, while the full capture gate reached ALL=93.4% and MULTI=95.0%, with `clut_bad=0`.
|
|
- C12's BIOS and payload comment lines differ from C6, but their non-comment memory words hash identically. The
|
|
existing Ch359 signoff RBF therefore already contains the correct C12 bootlet contents; no QSF change or GUI fit.
|
|
|
|
## Simulation Proof
|
|
|
|
- Capture/residency: four `204/204` records, one fill, three verified reuses, four fresh drains, no writer overflow,
|
|
exact 38400 scanout beats/frame.
|
|
- Real-raster Z integration at `REQ_DEPTH=1024`: 151160 accepted fragments, 70796 Z passes, zero drops, four ordered
|
|
scene markers/drains, and exact scoreboards (Z 0/307200, COLOR 0/36022).
|
|
- Request-FIFO high-water by epoch: 478, 27, 416, 225. The 1024-depth production FIFO remains sufficient; no depth,
|
|
Z-RMW, LPDDR, clock, SDC, or RTL change is warranted.
|
|
|
|
## Board Closure (2026-07-10)
|
|
|
|
- The Ch359 signoff RBF `ad4e8c9627520dcaba9babf2019ca5b28892799e0500f8f3300f4f2a29b5218c` remained loaded and was
|
|
provenance-valid for C12 because the bootlet memory words are identical.
|
|
- Board host gates: four `204/204` drains, one fill plus three verified reuses, zero drops, 27041 framebuffer beats,
|
|
and output bounds `(84,94)..(367,385)` with 36022 nonzero pixels.
|
|
- Board and zint framebuffer SHA-256 matched exactly:
|
|
`1309fa4f307b9313231797c75973e5a42108460c19ec0a0c576d4da597d6303e`.
|
|
- Replay-color: 151160 fragments, 70796 persistent-Z updates, 36022 covered pixels, no stray coverage, and
|
|
`307200/307200` exact framebuffer pixels. Ch360 is closed.
|
|
|
|
## Next Direction
|
|
|
|
Keep draw-count scaling before motion, but first turn the C12 four-epoch test copies into one parameterized
|
|
shared-texture residency harness. The next density rung should then be selected from the same census and must retain
|
|
the fixed-1024 fixture contract unless a measured sweep proves another scale better for the chosen draws.
|