summaryrefslogtreecommitdiffstats
path: root/wiki/Execution-Frontier.md
diff options
context:
space:
mode:
Diffstat (limited to 'wiki/Execution-Frontier.md')
-rw-r--r--wiki/Execution-Frontier.md53
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