diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-04 17:51:43 -0500 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-04 17:51:43 -0500 |
| commit | d7e2aa8a286333fd7d6b5c01598a5cb5949edd44 (patch) | |
| tree | c5ba8c831a987a6145c60427c6289e4f0f2bca90 /docs/04-implementation | |
| parent | b6c8e74164716acdcdb3d34e05966deec4f9f35b (diff) | |
| download | open-iov-d7e2aa8a286333fd7d6b5c01598a5cb5949edd44.tar.gz open-iov-d7e2aa8a286333fd7d6b5c01598a5cb5949edd44.zip | |
docs: session-154c - whole-shadow page-hash bracket proves the no-pixel wall is an execution gap (11 launches, zero data pages changed), window decode names the missing viewport family; next = gated viewport prelude
Diffstat (limited to 'docs/04-implementation')
| -rw-r--r-- | docs/04-implementation/04-real-render-walls.md | 28 |
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. |
