diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-15 11:18:58 -0500 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-15 11:18:58 -0500 |
| commit | 45b03a89e6d836cb8a7a5d83e9d78c7a50de2994 (patch) | |
| tree | 41cb5740cc2c7c653a6231822de45dea7f5584b6 /wiki/Execution-Frontier.md | |
| parent | b9e7e84249a28a5e296a0f97e00a3bdf2e5ce6df (diff) | |
| download | open-iov-45b03a89e6d836cb8a7a5d83e9d78c7a50de2994.tar.gz open-iov-45b03a89e6d836cb8a7a5d83e9d78c7a50de2994.zip | |
wiki: refresh the graphics frontier to the DS stage-image gate (eng51 landed; draw macro executes, store pending)
Diffstat (limited to 'wiki/Execution-Frontier.md')
| -rw-r--r-- | wiki/Execution-Frontier.md | 53 |
1 files changed, 31 insertions, 22 deletions
diff --git a/wiki/Execution-Frontier.md b/wiki/Execution-Frontier.md index f24a15a..5f0acfc 100644 --- a/wiki/Execution-Frontier.md +++ b/wiki/Execution-Frontier.md @@ -14,7 +14,8 @@ > [`../docs/04-implementation/03-execution-frontier.md`](../docs/04-implementation/03-execution-frontier.md); > the docs tree wins on disagreement. -Status: 2026-11-14, tree `master @ 339da842`. +Status: 2026-11-15, tree `master @ 444ae2c1` plus in-flight graphics changes in +the working tree. Tags: `[live]` observed; `[wip]` partial; `[wall]` current blocker; theories are labelled as such. @@ -112,15 +113,21 @@ the direct-GL submission is fully decoded: no client push carries a method-grammar draw header — the work is macro-driven (data-block blobs plus small state pushes invoking MME macros) — and the recycled pushes are now recovered, so the client's draw-state push opens a `C597` section, captures, -and reaches the engine with the golden MME overlay. What is missing is -**window/screen pixels through the NVIDIA path**: the beef lane's 2799-word -packed MME program cannot complete inside its <=2048-word block with the -draw window, so `live_gen` never promotes and the draw never stores -(`wrote=0`, `px0=0`); the multi-part keep-window mechanism is committed -default-off with the A/B pending, RT routing was tested and refuted as the -cause, the `CODESRC` fault-park class is prevented, glxgears' window is -black, and a synchronous window draw wedges X on some boots. The X -first-generation start lottery is now the dominant throughput limiter. The +and reaches the engine with the golden MME overlay. The MME chain then +advanced from the multi-part gate to **draw-macro execution**: multi-frame +keep-windows land, the part-launch poison is eliminated (the client's own +`SET_REPORT_SEMAPHORE`/`SET_NOTIFY` writes to remapped client VAs were the +real fault; they are redirected to a mapped scratch slot), the 2799-word pack +completes (2799/2799), the first `MME-PACK-REARM` fires, the fixed-CB region +is aliased, and `DRAW_IAB` (`mac=0x22`) runs with the SPH-BIND prelude intact +(84 words) and the DS stage VAs populated. What is missing is +**window/screen pixels through the NVIDIA path**: the DS stage-0/1 image is +the last named gate (the synthesized binds read `family+0x900`, which is zero +in the live family page, while the client's VTG SPH image is at +`family+0x600`), so the draw never stores (`wrote=0`, `px0=0`); the +window/screen present path is unproven, glxgears' window is black, and a +synchronous window draw wedges X on some boots. The per-boot binding and X +first-generation start lottery are now the dominant throughput limiter. The guest Vulkan pipeline's inline-to-memory upload arm is its gap. The full picture lives on [`Graphics-Execution.md`](Graphics-Execution.md). @@ -187,12 +194,15 @@ GPU-rendered frames and videos are captured off-screen, and the direct-GL ring/USERD machinery is substantially hardened); the direct-GL submission is fully decoded (macro-driven; no method-grammar draw header in any push), the recycled pushes are recovered, and the client's draw-state push opens, -captures and reaches the engine. The remaining gap is MME macro completion: -the beef lane's 2799-word packed program cannot complete inside its -<=2048-word block with the draw window, so `live_gen` never promotes and the -draw never stores (RT routing was tested and refuted as the cause; the -multi-part keep-window A/B is pending). glxgears' window is black, a window -draw wedges X on some boots, and the X first-generation start lottery is the +captures and reaches the engine. The MME chain now completes and executes the +draw macro: multi-frame keep-windows land, the 2799-word pack completes, the +first `MME-PACK-REARM` fires, the fixed-CB region is aliased, and `DRAW_IAB` +(`mac=0x22`) runs with the SPH-BIND prelude intact and the DS stage VAs +populated. The remaining gap is the **DS stage-0/1 image** (the synthesized +binds read `family+0x900`, which is zero in the live family page, while the +client's VTG SPH image is at `family+0x600`; the `+0x600` bind is in flight) +so the draw stores. glxgears' window is black, a window draw wedges X on some +boots, and the per-boot binding plus X first-generation start lottery is the dominant throughput limiter ([`Graphics-Execution.md`](Graphics-Execution.md)). @@ -208,12 +218,11 @@ dominant throughput limiter 4. **Hold the acceptance battery** — vector-add, matrix-multiply and the transformer kernel; each entry is accepted only on its own verification output (`bad=0` + `STATUS OK`). -5. **The graphics pixel frontier** — land the MME multi-part keep-window A/B - so the beef macro program completes and `live_gen` promotes, verify the - store (`wrote>0`) at the bound render target, make the window/screen - present land, and reduce the X first-generation start lottery so the - proven off-screen frames become window pixels; the lanes, the walls and - the milestone ladder are on +5. **The graphics pixel frontier** — finish the DS stage-0/1 image bind + (`family+0x600`) so the executed `DRAW_IAB` macro stores (`wrote>0`) at the + bound render target, then make the window/screen present land, and reduce + the per-boot binding/X start lottery so the proven off-screen frames become + window pixels; the lanes, the walls and the milestone ladder are on [`Graphics-Execution.md`](Graphics-Execution.md). ## 7. Theories, resolved |
