summaryrefslogtreecommitdiffstats
path: root/docs/04-implementation
diff options
context:
space:
mode:
Diffstat (limited to 'docs/04-implementation')
-rw-r--r--docs/04-implementation/04-real-render-walls.md28
1 files changed, 28 insertions, 0 deletions
diff --git a/docs/04-implementation/04-real-render-walls.md b/docs/04-implementation/04-real-render-walls.md
index 3cd370a..4500f5d 100644
--- a/docs/04-implementation/04-real-render-walls.md
+++ b/docs/04-implementation/04-real-render-walls.md
@@ -978,3 +978,31 @@ Current best lineage: `golden=1 golden_force=1 hold_calls=1` +
IRAM-gate break/build 0 + `sa_rearm=0` + `sph_bind=1` (binds + draw
execution + draw-surface retirements; still no rasterized pixels - the
region record for the synthesized stage slots remains the named gap).
+
+## Session 154c (2026-11-04): whole-shadow page-hash bracket closes the observation gap
+
+The copy-out samples the launch's tracked output pages, so "0/900 pages
+changed" could not distinguish "the engine rasterizes but into an untracked
+page" from "the engine rasterizes nothing". A whole-shadow bracket now hashes
+every 4 KB page of the emulated vidmem before the forwarded GR publish and
+diffs after the output-retirement wait (`sema_gl_vidmem_bracket`, plus the
+manual `vidmem_hash_snap`/`vidmem_hash_diff` parameters). On the r1457 boot,
+across 11 forwarded launches (10 `NOWRITE-CONFIRMED`, `n_data`/`tracked`
+900-902, `wrote=0`), only USERD/ring/PBDMA-progress pages changed (0x80,
+0x100, 0x18f, 0x1b0, 0xbc0); no page in the render-target range
+0x200000-0x500000 and none at the bounce VAs 0xa000000/0xc000000. The
+render-target surface and its bounce candidates are byte-stable, so the
+no-pixel state is an execution gap, not an observation gap.
+
+The live window was also decoded against the class method tables. Present:
+the colour-target record (0x840 = SET_COLOR_TARGET, 1280x720, X8R8G8B8,
+blocklinear), raster enable (0x37c), shader pipeline binds (vertex 0x11,
+tessellation-init 0x21, pixel 0x51), vertex attributes and stream formats,
+the index buffer, the slot-2 vertex-stream macro, the slot-0x22 draw call
+(0x3910 = CALL_MME_MACRO(34)), and Begin/End. Absent: the viewport family
+(0x0a00-0x0a14 scale/offset, 0x0c08/0x0c0c clip, 0x1924 pixel centre,
+0x192c/0x193c clip control), scissor, blend and depth/stencil. In a fresh
+replayed context a missing viewport clips all geometry, which matches the
+zero-fragment observations. The next experiment synthesizes a gated viewport
+prelude at the window preamble and re-runs the bracket; a pass is any changed
+page inside the render-target range.