Files
MobileGL/docs/Disaggregated/notes/p9/README.md
T
swung0x48 43b5cfa94e [Docs] (Disaggregated): the four index documents keep only summaries, and every phase's detail lives in its own notes/<phase>/README.md
- ROADMAP, MEASUREMENTS and ARCHITECTURE are rewritten as summaries (333 KB of index text -> 84 KB).
  ROADMAP's phase table is one line per phase plus a link; MEASUREMENTS keeps headline numbers under
  its old §1-§13 numbering (plus §14-§16 for P6.5, P7 and P12); ARCHITECTURE keeps every decided rule
  under the same §1-§17 / appendix numbering, so the `ARCHITECTURE.md §N` references in code still
  land, and §17 becomes an index of the phase landing shapes.
- CURRENT_STAGE_PROGRESS now describes the current stage (the P12 on-screen-server subset) and absorbs
  CURRENT_STAGE_STATUS, which is removed. The P7 status tables, the P6 closing snapshot and the P6.5
  first-wave snapshot move to notes/p7, notes/p6 and notes/p65.
- Each phase gets notes/<phase>/README.md: a short summary, then the verbatim material that left
  the index documents (its ROADMAP row, its MEASUREMENTS section with subsection numbers kept, its
  ARCHITECTURE §17 part, milestones) and a file index. P8-P11 and P13 get their planned scope;
  the full open-question list moves to notes/OPEN-QUESTIONS.md.
- The phase reports that sat at the top level move into their phase folders with unchanged names:
  P5D-INPROC-PERFORMANCE, P5E-RUNAHEAD, P5F-WIRE-COMPLETENESS, P6-SPAWN-PLAN, P6-CONTRACT-DRAFT,
  P6-ENDSTATE-REVIEW. Their relative links, CONTRACT-P6.md's links to them and one tool docstring
  are updated; notes/README.md maps every old path and section number to its new place.
- 71 files under notes/recovered/ that were byte-identical copies of phase-folder files are removed.
- Corrections made while condensing: the server process reads Transport as Spawn (CONTRACT-P6 §3.1
  amended the old "child forces monolith" rule); both backends now publish kCapRunAheadApply;
  MOBILEGL_IPC_RESPAWN is a named refusal and MOBILEGL_IPC_IDLE_EXIT_S is not parsed; the Redmi
  pin row is in tools/device_bench/pin_device.sh.

check_doc_citations over docs/Disaggregated/*.md: 0 problems. No relative link is newly broken.
2026-09-24 22:21:09 +00:00

2.2 KiB
Raw Blame History

P9 — 反向通道(待排,P6.5 之后)

尚未开工。本页保存该阶段在路线图上的完整范围与出口门(2026-09-24 从 ROADMAP.md 阶段表移入,原文照录);阶段开工后,计划、裁定与报告都放在本目录。

摘要

  • 异步 reply 语义,建立在 P6.5 的消息式 reply 之上;2 MiB reply cap 与 chunked readback(ID-47);PACK-PBO 回读 fire-and-forget(ID-57);武装剩余回调(OnTextureWriteback、OnTexturePullRequest、OnMipLevelsGenerated、OnLog 分级);OnGlError 有序;纹理拉取缓解 + 终止符;XFB 命名空间(DeleteTransformFeedback)。
  • 门:回读 / XFB 场景在 split 下绿;TextureRemintPullScenario;拉取计数逐 trace 发布;两条故障注入。

阶段表行(原 ROADMAP.md)

  • 阶段:P9 反向通道
  • 状态:待排,P6.5 之后(2026-09-22 重定范围)
  • 落地什么 / 范围:异步 reply 语义,机制建立在 P6.5 的消息式 reply 之上(不再造 SEG_REPLY slot 池——池今天就有,stream 链路会删它);2 MiB reply cap 与 chunked readback(契约 §10.2.3 从 P6 改判至此,ID-47);PACK-PBO 回读 fire-and-forget + client 侧 MarkGpuWritten(ID-57,P6 未做);十个回调里未武装的四个:OnTextureWriteback、OnTexturePullRequest、OnMipLevelsGenerated、OnLog 分级(OnXfbScatterReady 是零生产者、零消费者、无 EventKind 的死声明——随 P3b/P4b 删除,kMGPipeCallbackCount 10→9;ClientSession.cpp:429;OnBufferWriteback / OnGpuWritten / OnSurfaceChanged / OnGlError / OnCapsInvalidated 已武装);OnGpuWritten 收窄;OnBufferWriteback 批处理 + epoch 排序;OnGlError 有序(CONTRACT-P5C §4.2);纹理拉取四条缓解 + 终止符;XFB 命名空间(DeleteTransformFeedback 的 server 侧泄漏——按裁定无行、最后两个 class-C 之一)。SEG_EVENT 溢出策略 机制已由 P5e 落地(ARCHITECTURE.md §11.7),剩余的"不排空对端杀宿主"归 Ph
  • 验收门 / 证据:回读 / XFB 场景在 split 下绿;TextureRemintPullScenario(含无解用例);拉取计数逐 trace 发布;两条故障注入