diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-14 10:56:43 -0500 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-11-14 10:56:43 -0500 |
| commit | ee07d8e565eb73643d86f672e43b1b36acfa62b7 (patch) | |
| tree | 609d2deb10bc5eebe323db1066fd1ad872547618 /wiki/System-Overview.md | |
| parent | 339da842a4b6c800203952b4be235bc1041a8031 (diff) | |
| download | open-iov-ee07d8e565eb73643d86f672e43b1b36acfa62b7.tar.gz open-iov-ee07d8e565eb73643d86f672e43b1b36acfa62b7.zip | |
docs(wiki): 2026-11-14 status refresh - direct-GL submission decoded (macro-driven), push rescues land, draw-state push reaches the engine; MME multi-part completion is the wall; STATE-CURRENT snapshot
Diffstat (limited to 'wiki/System-Overview.md')
| -rw-r--r-- | wiki/System-Overview.md | 24 |
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 |
