summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArthur Hanson Rasmusson <arthur@vgpu.io>2026-11-15 11:28:24 -0500
committerArthur Hanson Rasmusson <arthur@vgpu.io>2026-11-15 11:28:24 -0500
commit0dab6962cb49a18d47f8bb2a0835e4a27dc2e037 (patch)
tree2718180e7f2e6d85d6949e50d25c726746b59b22
parent45b03a89e6d836cb8a7a5d83e9d78c7a50de2994 (diff)
downloadopen-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.md6
-rw-r--r--wiki/Project-Plan.md14
-rw-r--r--wiki/System-Overview.md25
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