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>
45 lines
2.5 KiB
Markdown
45 lines
2.5 KiB
Markdown
# Ch364 Audit Log - Mixed Texture Rebind And Residency
|
|
|
|
## Scope
|
|
|
|
- Native 640x480 persistent-Z composite of 28 ordered authentic SH3 draws.
|
|
- Four early single-draw texture/CLUT rebind epochs (`5328`, `11671`, `77112`, `89164`) followed by the 24-draw
|
|
`tbp=8192` cluster in eight 204-triangle feeder lists.
|
|
- Twelve epochs total: five upload/fill operations and seven consecutive, fail-closed verified reuses of the final
|
|
resident texture.
|
|
|
|
## Fixture Contract
|
|
|
|
- `gs_make_sh3_scheduler_fixture.py` now accepts `--group-sizes`, an explicit ordered epoch partition. Every
|
|
multi-draw group must have identical feeder-visible state and byte-identical texture/CLUT data; reuse is emitted
|
|
only when the immediately preceding descriptor leaves those same bytes resident.
|
|
- The selected partition is `1,1,1,1,3,3,3,3,3,3,3,3`. It passed authentic ordering, native bounds, state,
|
|
texture/CLUT, staging-capacity, and depth-state gates.
|
|
- The Ch364 BIOS and payload memory words hash identically to Ch363 MT5. The existing GUI-fitted RBF is therefore
|
|
provenance-valid; no RTL, QSF, SDC, GUI compile, or RBF reload was required.
|
|
|
|
## Simulation Proof
|
|
|
|
- Capture/residency: PASS. Five CRC-verified fills, seven verified reuses, 12 ordered fresh drains, no writer
|
|
overflow or scanout underflow, and exactly 38,400 scanout beats/frame.
|
|
- Texture oracle: ALL `105761/110544` (95.7%), MULTI `40756/42861` (95.1%), `clut_bad=0`.
|
|
- Real Z integration: PASS. 465,250 fragments fed, 214,897 persistent-Z updates, zero drops, 12 markers/drains,
|
|
exact Z `0/307200`, and exact color `0/110324`.
|
|
- Request FIFO high-water by epoch: `415,401,64,222,341,21,112,166,72,176,311,240`; all remain bounded below the
|
|
1024-entry production FIFO.
|
|
|
|
## Board Closure
|
|
|
|
- Board host gate: all five texture uploads passed CRC, all seven cache reuses verified the resident CRC, all 12
|
|
drains returned their expected records, and every epoch reported zero fragment drops.
|
|
- Final board framebuffer: 110,324 nonzero pixels, bounds `(36,10)..(568,399)`, sum `0x61884052`, xor `0x802cf68e`.
|
|
- Board and zint framebuffer SHA-256 match exactly:
|
|
`fdff2f34eac22ee140b64d8fac129627549bbb0f6db37d4b91807a9058e47a04`.
|
|
- Replay-color is exact: 465,250 fragments, 214,897 Z-pass updates, 110,324 covered pixels, no stray coverage, and
|
|
`307200/307200` exact framebuffer pixels.
|
|
|
|
## Result
|
|
|
|
Ch364 is closed on silicon: 28 authentic SH3 draws, five texture/CLUT bindings, seven verified residency reuses,
|
|
native 640x480 scanout, and persistent depth all agree with integration simulation and the independent replay oracle.
|