summaryrefslogtreecommitdiffstats
path: root/wiki/System-Overview.md
diff options
context:
space:
mode:
Diffstat (limited to 'wiki/System-Overview.md')
-rw-r--r--wiki/System-Overview.md24
1 files changed, 14 insertions, 10 deletions
diff --git a/wiki/System-Overview.md b/wiki/System-Overview.md
index 33cf881..aeefb46 100644
--- a/wiki/System-Overview.md
+++ b/wiki/System-Overview.md
@@ -7,7 +7,7 @@
> 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-13, tree `master @ 436cbf9d`. Tags: `[live]` proven with the
+Status: 2026-11-14, tree `master @ 339da842`. Tags: `[live]` proven with the
stock guest driver; `[gated]` implemented default-off; `[wip]` partial;
`[wall]` current blocker; `[target]` designed end state.
@@ -148,15 +148,19 @@ RPC from the guest to "firmware":
execute on the engine, the 2D path is green, the direct-GL ring/USERD
machinery is hardened, the first non-black GPU-rendered frames and captured
videos (45.4 s and 50 s) are proven off-screen, and the guest Vulkan
- pipeline runs end to end. The client's push bodies decode as real GR method
- streams above 10 GiB through the VAS walk, but the direct-GL payload VAs
- (setup push `0x4001004`, draws `0x4250000`/`0x4250110`) still resolve to
- zero/implausible PAs because their user/UVM VAS is never registered (so
- its draws never reach the engine); the window/screen present is unproven
- (a window draw can wedge X and glxgears' window is black), and X
- screen-init keeps a first-generation lottery, so the remaining gate is
- that registration plus the window/screen present before the first
- non-black window frame
+ pipeline runs end to end. 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), 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
([`OpenGL.md`](OpenGL.md), [`Vulkan.md`](Vulkan.md)).
## 6. Where the detail lives