diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-15 11:28:24 -0500 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-15 11:28:24 -0500 |
| commit | 0dab6962cb49a18d47f8bb2a0835e4a27dc2e037 (patch) | |
| tree | 2718180e7f2e6d85d6949e50d25c726746b59b22 | |
| parent | 45b03a89e6d836cb8a7a5d83e9d78c7a50de2994 (diff) | |
| download | open-iov-0dab6962cb49a18d47f8bb2a0835e4a27dc2e037.tar.gz open-iov-0dab6962cb49a18d47f8bb2a0835e4a27dc2e037.zip | |
wiki: refresh the graphics frontier to the DS stage-image gate (eng51 landed; draw macro executes, store pending)HEADmaster
| -rw-r--r-- | wiki/Graphics-Execution.md | 6 | ||||
| -rw-r--r-- | wiki/Project-Plan.md | 14 | ||||
| -rw-r--r-- | wiki/System-Overview.md | 25 |
3 files changed, 26 insertions, 19 deletions
diff --git a/wiki/Graphics-Execution.md b/wiki/Graphics-Execution.md index b221180..5fd4943 100644 --- a/wiki/Graphics-Execution.md +++ b/wiki/Graphics-Execution.md @@ -190,9 +190,9 @@ swaps, and the GR backend no longer times out (the pair-close/pair-safe frames and captured videos (45.4 s and 50 s), the RM write-lock holder (Xorg in the DDX vidheap scrub wait) is fixed (`df6e71bb`), the X DDX/ScreenInit stability walls are closed, and the direct-GL ring/USERD - machinery is hardened. The next step is completing the direct-GL MME - macro program (multi-part keep-window A/B), then the window/screen present - path. + machinery is hardened. The MME pack now completes and the draw macro runs; + the next step is the DS stage image so the draw stores, then the + window/screen present path. During bring-up the module also carries a **diagnostics-only mirror** for apps that spin on a shared progress word; it exists so a run can proceed while the diff --git a/wiki/Project-Plan.md b/wiki/Project-Plan.md index 2be9780..293e6c6 100644 --- a/wiki/Project-Plan.md +++ b/wiki/Project-Plan.md @@ -65,13 +65,15 @@ Ranked, in dependency order: captured off-screen, captured GL sections execute on the engine, the direct-GL submission is fully decoded (macro-driven; no method-grammar draw header), and the client's draw-state push reaches the engine with the - golden MME overlay. The named walls are **MME macro completion** (the - 2799-word packed program cannot fit the <=2048-word block with the - 156-400-word draw window, so `live_gen` never promotes; the multi-part - keep-window mechanism is committed default-off with the A/B pending), the + golden MME overlay. The MME pack then completes and `DRAW_IAB` (`mac=0x22`) + executes with the SPH-BIND prelude intact and the DS stage VAs populated. + The named walls are the **DS stage-0/1 image** (the synthesized binds read + `family+0x900`, zero in the live family page, while the client's VTG SPH + image is at `family+0x600`; the `+0x600` bind is in flight), the window/screen present path (glxgears' window is black and a window draw - wedges X), the X first-generation start lottery (even `modeNum` required; - now the dominant throughput limiter), and then non-black window frames. + wedges X), the per-boot binding/X first-generation start lottery (even + `modeNum` required; now the dominant throughput limiter), and then + non-black window frames. Full detail: [`Graphics-Execution.md`](Graphics-Execution.md) §6. 2. **Compute hardening (P1).** The staged-transfer class (failure modes proven, diff --git a/wiki/System-Overview.md b/wiki/System-Overview.md index aeefb46..74adf71 100644 --- a/wiki/System-Overview.md +++ b/wiki/System-Overview.md @@ -7,7 +7,8 @@ > and [`../docs/03-architecture/10-interaction-and-scheduling.md`](../docs/03-architecture/10-interaction-and-scheduling.md) > for the full picture); the docs tree wins on disagreement. -Status: 2026-11-14, tree `master @ 339da842`. Tags: `[live]` proven with the +Status: 2026-11-15, tree `master @ 444ae2c1` plus in-flight graphics changes in +the working tree. Tags: `[live]` proven with the stock guest driver; `[gated]` implemented default-off; `[wip]` partial; `[wall]` current blocker; `[target]` designed end state. @@ -152,15 +153,19 @@ RPC from the guest to "firmware": client push carries a method-grammar draw header (the work is macro-driven — data-block blobs plus small state pushes invoking MME macros), the recycled pushes are recovered, and the client's draw-state push opens, - captures and reaches the engine with the golden MME overlay. The wall is - MME macro completion: the 2799-word packed program cannot fit its - <=2048-word block with the draw window, so `live_gen` never promotes and - the draw never stores (RT routing was tested and refuted; the multi-part - keep-window A/B is pending). The window/screen present is unproven - (a window draw can wedge X and glxgears' window is black), and X start - keeps a first-generation lottery (the dominant throughput limiter), so the - remaining gate is the macro completion plus the window/screen present - before the first non-black window frame + captures and reaches the engine with the golden MME overlay. 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 gate + is the DS stage-0/1 image (the synthesized binds read `family+0x900`, 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 is unproven (a window draw can wedge X and glxgears' + window is black), and the per-boot binding plus X first-generation start + lottery is the dominant throughput limiter, so the remaining gate is the + DS stage image plus the window/screen present before the first non-black + window frame ([`OpenGL.md`](OpenGL.md), [`Vulkan.md`](Vulkan.md)). ## 6. Where the detail lives |
