mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-11-07 01:53:24 +09:00
- 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.
P7 — DirectVulkan(Magma)全量迁移(2026-09-23 收官,ID-P7-63);Ph 必需小件
本页是该阶段的阶段汇总:阶段表行、实测与落地形状的完整文本(2026-09-24 从上层索引移入,原文照录)都在这里;上层只留摘要——
ROADMAP.md、MEASUREMENTS.md、ARCHITECTURE.md。文中file:line与"今天""当前"按各段写成时的头理解;文中的MEASUREMENTS.md §N/ARCHITECTURE.md §17.x编号保留,对照表见../README.md。
摘要
- 计划:
PLAN-PH-P34B-P7.md(Ph / P3b-P4b / P7 统筹,五波);规范MobileGL/MG_Remote/CONTRACT-P7.md;裁定INTEGRATOR-DECISIONS-P7.md(ID-P7-1..63);收官交接HANDOFF-2026-09-23.md。 - §8 九项全绿:Magma 两进程车道三臂同数绿;§3.2 六个
@P7退役(树上@P7拒绝站点 0);MagmaStateObjectDeathOps;内部 shader 烘焙;OQ-8storageBlocks;OQ-10kCapResidentSubData;verify × split;门 3 真机 ssim 36/36(终局窗口 3p7w8-78e71f2b);门 5 CTS 五块 AFTER ≤ 0.5 pp。40% 检查点 6/9 已过,未触发重定基线。G1 全程恒等;棘轮 186 → 171(余 86 标# P13,门 4 关闭)。 - 关键修复:B3 找到 OpenRA 真机分歧的真因(wire 臂 completed-frame-serial floor 不健全);M2 / M3 收掉 server 端 VkBuffer 与 descriptor set 的无界累积;X1 修 arm64 persistent-map tracker 从不认领 fault。
- Ph(不可信对端加固 + 配对)的必需小件随 P7 的 F / F2 包全部落地(ID-P7-57):常量时间令牌、≥16 字节、无令牌只 loopback、
Welcome.dataNonce数据面绑定、每会话闩、SEG_EVENT弃投闩、fork 前认证 + 退避、fuzz 三臂进 CI。OQ-21 裁定令牌足够、不做 TLS。 - 集成者审查稿在
../handoff/(review-*.md,路径被本目录交接文档引用,未移动)。
阶段表行(原 ROADMAP.md)
- 阶段:P7 DirectVulkan(Magma)全量迁移
- 状态:✅ 已收官(2026-09-23,ID-P7-63):§8 九项全绿,终局窗口 3 门 3 36/36、门 5 PASS。此前:wave 0–2 已落地,40% 检查点 6/9 已过(2026-09-22,
origin@b089e0de+ 集成树上的 B3):审计 + 五波计划见notes/p7/PLAN-PH-P34B-P7.md§1.3 / §3,规范MG_Remote/CONTRACT-P7.md,裁定notes/p7/INTEGRATOR-DECISIONS-P7.md(ID-P7-1..33)。wave 0 仪器(Magma 两进程车道三臂、link_ratchet.py186 基线、普查门 79 站点下行棘轮 +MGPipeSessionFailHook、设备跑器--matrix/--repeat/--archive-dir、CTS caselists)origin@801f8eda;wave 1 设备窗口 #1(门 3 分母 36、E0–E7 归因、CTS$BASE五块);wave 2 X1(arm64 persistent-map tracker 从不认领 fault)、F1(split 起会提前)、C(StateObjectDeathOps、OQ-8、OQ-10、vertex-layout 拆分)、A(对齐 / native-range)、B(mip 半退役、深度 mip 烘焙 (A)(D)、copy-image、default-color-blit、回读 fence)、B2(multisample shape/aspect、AllocatorDebtScope ×2 删、(B′)、棘轮 186→173)、B3(OpenRA 真机分歧的真因:wire 臂 completed-frame-serial floor 在中帧 pooled-fence 提交退休时无证据上升 → 帧首次glBufferSubData走无序 host memcpy;计数 26→0,spawn 臂 red-once;ID-P7-33)——树上@P7拒绝站点归零、§3.2 六退役全成、Magma 三臂 95/74/76。真机:p7w4 门 3 AFTER 34/36 与 monolith 差 ≤ 0.0005;OpenRA p7w5 27/27 golden(ID-P7-34,项关闭);bsl-esc-menu = server 死 VkBuffer 无界累积(一帧 1.3 M 调用,ID-P7-32,M2 在修)。已到集成树(2026-09-22 夜,ID-P7-37):B2 返工 r1 + r2、B3 返工 + 修复轮、V1、F 片 1–3 已推送origin@87584d0b(2026-09-22 夜,ID-P7-39;pipe 门全绿:magma 97 / 76 / 71、full 535、verify 构建 1140 / 1074、OpenRA split 回放 0 条 unsound;四份 fable 审查 land with fixes,修复轮已落地,ID-P7-44);M2 + M2 r2 已推送(主机 bsl spawn server 825 → 546 MiB;memo destroy-epoch 关闭 wire store 句柄复用的 ABA;第二个泄漏 = descriptor set → M3;ID-P7-46);V1 修复 r2 已推送(read 侧负控数到 2、FATAL=0 摘要在 Close 前写出,ID-P7-47);在跑:F2 待派;窗口 1b 矩阵在跑(配对窗口在直连 LAN 上同样触发,ID-P7-41)。提交尾注已按用户令改写(origin3c80cd62)。2026-09-23 更新(ID-P7-49–54):M3 已在7ea7ce89推送;B4 已集成于 pipe b19297d5,源码审查 land、完整集成门全绿(ID-P7-51)。p7w6 DirectGLES × TCP 38 例对照与 Photon / D24 同 APK monolith 对照已结案(ID-P7-52/53);两项错图亦在 monolith 复现。F2 PH-4/5/PH-2 已在包分支 commits2c6a6e25/51480f8c落地并通过 Luna 审查(ID-P7-54);该矩阵不替代门 3。CI 与门 4(ID-P7-55/56):CI 自 P6.5 起的七个红因已修;棘轮 171,p7-magma余 86 标# P13,门 4 关闭。F2 与门 5 修复(ID-P7-57/58):Ph 余项与 fuzz 三臂落地;门 5 预演的三个 inproc CTS 缺陷修掉;窗口 2 工装与判读裁定(ID-P7-59)。窗口 2 与收官审查(ID-P7-60–62):门 5 PASS;门 3 严格 33/36,三例 Iris monolith 同样不稳定 → 分布判据后 36/36;codex 收官审查修复、spawn 冷启动心跳(协议修订 2)、1:1 blit 最近邻落地;终局窗口 3 复跑。余:F2 PH-6 / PH-1 (3)(4) / PH-7 (5)、fuzz 臂 2 与完整包门;wave 3 棘轮 88;wave 4 CTS AFTER 和门 3;wave 5 fuzz 三臂与整体审查。逐日状态见CURRENT_STAGE_STATUS.md - 落地什么 / 范围:
38919d45已补实际游戏的 server buffer consumers 和 Android 旋转 blit(报告);194382c9又完成 Magma run-ahead、GPU 延迟退休与 VAO 身份碰撞修复(报告);ed507b1a..d56c0e8329 个 DirectVulkan 提交的 shape 波(随e1bf3677合入,本行此前未记)已退役 packed-float mip 原生 blit(5310ff62)、resolve(ec4ca06d)、占位图像(WirePlaceholderImages.inc)、copy-image 端点、XFB 捕获 span、纹理回读;70fb6689链关闭 inproc RD32 性能回归(86.85→116.73 fps)。其余工作(2026-09-22 审计改判):与SetupDrawSnapshot探测字段塌成 dirty mask本阶段拒做(VertexInputStateFactory内容寻址 CSOSetupDraw在非 monolith 传输下分支到SetupWireDraw,monolith 快照机制在 split 下不跑;无性能门;ID-P7-5);占位纹理原生化已落地(缺 split 车道条目);具名 UBO host payload(D-B8)走了直绑常驻VkBufferrange 的备选,欠一次测量 + 裁定关 OQ-6;内部 shader 烘焙半已落地(颜色 blitWireColorBlitSpirv.h,仅 split 臂),欠深度 mip 烘焙 +MOBILEGL_BAKED_INTERNAL_SHADERS新鲜度门(0 处);D18 按 ID-P7-6 读法一句闭。新增必须项:MagmaStateObjectDeathOps(六处特判)、OQ-8 归档storageBlocks(MagmaProgramSource::EnsureStorageBlocks每 draw 重跑 SPIRV-Reflect)、OQ-10kCapResidentSubData从未发布(split 下双后端退回就地 memcpy)、两处MagmaP7AllocatorDebtScope。P6 真机发现(2026-09-22 归此):DirectVulkan分离路径在 Redmi 上两次观测 0.988998 / 0.976494(inproc 与 spawn 同表现,pbuffer monolith 1.0;case 归属、重复次数未记录,原始证据不在树内;取自 run-ahead ARMED 下,lockstep 对照从未在 golden 口径下跑过——wave 1 的 E1)——Magma × 真实 GPU;树上@P7具名拒绝实为 15 处 / 4 文件(multisample-blit-shape/-aspect、depth-stencil-mipmap(已窄化到 D|S 合并)、vertex-layout、vertex-format-conversion、texel-buffer-native-format、unaligned-{texel,storage,atomic}-buffer-range、storage-buffer-native-range、uniform-block-native-range、uniform-buffer-byte-tail/-dynamic-offset、copy-image-in-place、default-color-blit-shape;外加 Magma 无StateObjectDeathOps与buffer-legacy-arm),全部是绕过Session::Fail与普查门的裸 abort;必须退役.6/.8/.9/.11/.12/.13,其余改 decline 即可;链接实验分给 P7 的 101 个符号(D12)。DynamicBackendParameters定宽重写不再是 P7 的——它是跨平台 wire 的前提,归 P6.5 wf - 验收门 / 证据:集成 + trace 在 Magma 的 push 与 split 下全绿(inproc 半已是硬门;spawn / TCP 臂今天 DirectVulkan 条目为 0——四条 split 臂硬编码
MOBILEGL_BACKEND_TYPE=DirectGLES,wave 0 补后端维度);verify 零分歧(verify 今天只注册 monolith,verify+split 撞旧PipeRespecifyScope断言,先清);真机 DirectVulkan split ssim 回到 1.0(分母排除 rd12 in-world 与 create-indirect,ID-P7-4;必须带RUN_AHEAD=0对照臂);184 符号棘轮(契约 §12.1)下降 P7 的 101 个——原 "nm -D libMobileGLServer.so | grep glslang为空" 不可达,D12 裁定 server 镜像就是整个libMobileGL.so;仪器scripts/link_ratchet.py(存符号列表、只对新增红)归 wave 0;CTS 五块(texture_*/shader_image_*/packed_pixels/direct_state_access.*/uniform_buffer_object*)先立 monolith×DirectVulkan 基线再比 inproc,≤0.5 pp 且新 crash = 0 单独硬红。再基线检查点:中点完成子系统 < 40% 立即重定基线(分母 =notes/p7/PLAN-PH-P34B-P7.md§4 的 9 项)
Ph 行(原 ROADMAP.md)
- 阶段:Ph 不可信对端加固 + 配对
- 状态:已审计(2026-09-22,
notes/p7/PLAN-PH-P34B-P7.md§1.1):P6.5 已在 LAN 上跑tcp://0.0.0.0,「P12 之前」的顺序陈述落后于树。必需小件(supervisor 命名子进程死亡、两处漏斗旁路、D11 五处上限、常量时间令牌 + 数据面绑定、SEG_EVENT弃投闩)随 P7 波次推进;fuzz 臂 2 在 P7 之后;OQ-21 已裁定令牌足够(ID-P7-3)。进展(2026-09-22 深夜):supervisor 命名子进程死亡 + 两处头层漏斗旁路已随 wave 0 落地(origin@801f8eda,abort_sites79 成下行棘轮);其余小件是簇 F 包:片 1–3 已到集成树(2026-09-22 夜,ID-P7-37)——令牌合一 / ≥16 字节具名拒绝 / 无令牌只 loopback / smoke 进 CI;Welcome.dataNonce绑定,TCP 上 250 ms 配对窗口消失,wireFingerprint变更;PH-8 钳制证明——片 4–6 与 PH-7 (5) 需要对端字节的 fuzz 驱动,另派 F2(原顺序:常量时间令牌 /Refuse{Authentication}/ ≥16 字节 +tcp_supervisor_smoke.py接 CI →Welcome.dataNonce数据面绑定 → PH-8 单测 → D11 五处 + PH-2 → PH-6 drop-with-latch → PH-1 (3)(4));逐日状态见CURRENT_STAGE_STATUS.mdF2 完成(2026-09-23,ID-P7-57):PH-1 (3)(4) 每会话闩、PH-6、PH-7 (5) fork 前认证 + 退避、fuzz 三臂进 CI——Ph 必需小件全部落地。codex closeout(p7/int3):PH-5 界改为元素最小编码字节数(finding 3);DrainRing在每次 pop 前查闩(finding 6:控制线程闩的窗口缩窄到查闩到 pop,未关闭)。 - 落地什么 / 范围:
Session::Fail的策略翻成每会话闩(按 ID-P7-1 重定界:98 处SessionFail+ 6 处WireLogFatal的字面翻转拒做——≥9 处返回引用没有诚实返回值;只对对端字节可达站点 latch-and-decline;P6 dl 收口到的是两个漏斗 + 两处头层旁路(Server/StagedShadow.h、Server/StagedTextureStore.h),不是一处;P6.5 fork-per-session 已给出「下一连接照常服务」);handle slot 预算(BackendSlotTable的两条拒绝从MOBILEGL_ASSERT变 release 下的具名拒绝,杜绝静默 null twin);readback 尺寸门挪 server 侧且在 resize 之前设绝对上限;StagedTextureStore按该 level 宣告范围设界;ArchiveVector按count × 元素最小编码字节数设上限(codex closeout finding 3 改自count * sizeof(element),后者拒掉编码器自己写的紧凑归档;map / set 仍按每项 1 字节);SEG_EVENT溢出不再能让一个不排空(或仅涓流排空)的对端在 30 秒内、乃至瞬间用Fatal{EventRingOverflow}打掉承载它的 server 进程(drop-with-latch,不等 PH-1,ID-P7-2;原文「60 秒」是两轮 30 s 的算术上界);配对 / 认证(Hello带令牌与无令牌只 loopback 已由 P6.5 ct 落地;欠常量时间比较、Refuse{Authentication}入词表、≥16 字节、数据面按Welcome.dataNonce绑定到已认证的控制连接(今天AcceptPair按到达顺序配对、从不查 peer)、fork 前认证;OQ-21 裁定令牌足够、不做 TLS);段 / 窗口尺寸由 server 钳制(P6.5 nd 已陈述,欠一条钳制单测) - 验收门 / 证据:非 loopback 监听在无令牌时具名拒绝(机制已在;名字入词表 +
tcp_supervisor_smoke.py接 CI 后算达成);畸形帧 / 超界计数 / 不排空对端的模糊臂下 server 不 abort、会话闩住、下一连接照常服务(臂 1 机制已在、欠端到端脚本;臂 2 = PH-1 (3)(4) + D11;臂 3 = PH-6);Session::Fail站点普查门扩到 server 镜像且abort_sites变棘轮(今天只扫MG_Remote、站点数记了不比,wave 0);契约 §12.2 五处无界分配各一条 red-once(五处全开,不是两处)
收官状态页(原 CURRENT_STAGE_STATUS.md,2026-09-23)
更新:2026-09-23(ID-P7-49–63) · 交接 notes/p7/HANDOFF-2026-09-23.md。P7 收官:§8 九项全绿。CI 七根因修、F2、门 5 三缺陷、codex 收官审查修复、spawn 冷启动心跳(协议修订 2)均已落地推送。下一阶段按 ROADMAP:P8 / P9 / P12 余项。
1. 出口门总览(CONTRACT-P7 §8 的 9 项分母)
| # | 子系统 | 状态 | 证据 |
|---|---|---|---|
| 1 | Magma 两进程车道三臂同数绿 | ✅ | M3 集成树门:magma-split/spawn/tcp 102 / 81 / 71,full-split 540;OpenRA DirectVulkan inproc + spawn 回放 1.000000、0 unsound |
| 2 | §3.2 六个 @P7 退役 |
✅ | A(byte-tail、native-range、对齐 decline)、B(copy-image、default-color-blit、mip 半退役)、B2(multisample shape/aspect)、C(vertex-layout 拆分);树上 @P7 拒绝站点 0 |
| 3 | StateObjectDeathOps |
✅ | C,dce9953d..cf7ca59f |
| 4 | 烘焙 (A)(D) + (B′) | ✅ | B 深度 mip 烘焙;B2 disaggregated 构建的 monolith 臂改用烘焙模块 |
| 5 | OQ-8 反射归档 storageBlocks |
✅ | C |
| 6 | OQ-10 kCapResidentSubData 按 server 表发布 |
✅ | C |
| 7 | verify × split(门 2) | ✅ | B4 集成树 verify build:unit 2439、integration-verify 1152、integration-verify-split 1086,全绿;V1/V1 r2 负控与 8 verify trace 证据仍有效 |
| 8 | 真机 ssim 1.0(门 3,分母 36) | ✅ | 终局窗口 3(p7w8-78e71f2b)36/36:33 例四臂逐位同,三例 Iris 按 ID-P7-62 分布判据通过,OpenRA 四臂 1.000000(ID-P7-63) |
| 9 | CTS 五块 AFTER ≤ 0.5 pp(门 5) | ✅ | 窗口 2 与终局窗口 3 均 PASS:shader-image +4.35 pp、texture +0.96 pp、其余持平,0 新 crash、0 流失;UBO(GTF)记 unrun |
40% 检查点(§8 中点)已过:6/9,不触发重定基线。G1 全程恒等(pull .text 0xa52203、符号 0/0);census 79 站点 / 0 未标;棘轮 186 → 173 → 171(ratchet88:p7-magma 余 86 全标 # P13,门 4 关闭,ID-P7-55)。
2. 已落地(feat/disaggregated,按合并序)
| 波 / 包 | 内容 | 落地 |
|---|---|---|
| wave 0 | Magma 两进程车道、link_ratchet.py、普查门扩容 + MGPipeSessionFailHook、设备跑器 --matrix/--repeat/--archive-dir、CTS caselists |
origin@801f8eda |
| wave 1 | 设备窗口 #1(Redmi 2f7cbe2e,DirectVulkan):门 3 分母 36、E0–E7 归因、CTS $BASE |
notes/p7/device-window-1/ |
| X1 | persistent-map tracker 在 arm64 不认领 fault(bionic 指针标记 0xb4) | 4cbf78c2 |
| F1 | split 起会提到 MG_State::Init() 之前 + Fatal{CapsBeforeFirstSnapshot} |
df17c416..3179c497 |
| C | Magma StateObjectDeathOps、OQ-10、vertex-layout 拆分、OQ-8 storageBlocks |
dce9953d..cf7ca59f |
| A | UBO/SSBO/texel 对齐与 native-range 行 | 450d3075..5937b4fc |
| B | mip 形状半退役、深度 mip 烘焙、copy-image、default-color-blit、wire 回读 fence | c4be3800..76b74693 |
| D1 | XFB 两洞、回调 10→9、resolver 具名 stop、readback 三臂 | faf0a1f9..ae3f43ab |
| D2 + 返工 | TextureViewAlias、TUS 门、memo 纯度门、SubsystemDeps.def、场景普查 |
da30c130..519445f9、b3334cf3..a2d7fbd7 |
| D3 + 审查修复 | view 陈旧缺陷(clean gate 读 storage record)、D-K2 单一陈述 | 1e1f4bad..00d02396、22761a69 |
| B2 | multisample 两处退役、AllocatorDebtScope ×2 删、(B′)、棘轮 173 | 452d33b5..3c2867d3 |
| B3 | OpenRA 真因:wire 臂 completed-frame-serial floor 不健全 → 有序路径 + 可证 floor + 32 处静默出口具名 | 76bbb6c3..9a494b6f,origin@3c80cd62 |
| B2 返工 r1 | tcp 五条 server 端旋钮条目改 split+spawn(parity 例外 MAGMA_SERVER_ENV_KNOB_NO_TCP)、翻转 MS 深/模板 resolve 逐行镜像、缩放 / X 镜像 / 跨格式 decline、MsFlip. 用例 |
pipe 9fed478d..cc3c18c5(审查 rework → r2 在跑,ID-P7-35) |
| B3 返工 | WireDeclines.def 53 行全站点 + 审计脚本、StaleSerial. parity 例外、注记 + :273/:432、run_trace_case.cmake 对 unsound-serial-complete 打红 |
pipe b8d10d07..75a64ce0(审查 land with fixes → 修复轮在跑,ID-P7-36) |
| V1 | PipeRespecifyScope 放宽、integration-verify-split(1074 条,双后端 inproc)、两负控 split 臂红、8 verify trace × DV × inproc 0 分歧、比对器 ReadPixels 窗口 oracle 改中性 pack |
origin@87584d0b(审查 land with fixes → 修复轮在跑,ID-P7-37) |
| B2 返工 r2 | 用例按 IsSplitLane() + 后端名 skip、逐行拷贝行距对齐 + stencil 腿、DeclineWireDepthStencilResolveShape 先决定、MsFlip1.、parity tail 恰匹配 |
origin@87584d0b(审查 land with fixes → r3 在跑,ID-P7-38) |
| B3 修复轮 | 审计剥注释 / 字面量 + 按块回溯 + --self-test、spawn 无 server 日志 FATAL、注记双行 + WaitForFrameSerial 债 |
origin@87584d0b(审查 land with fixes → 修复 r2 在跑,ID-P7-38) |
| F 片 1–3 | 常量时间令牌 / ≥16 字节 / 无令牌只 loopback / smoke 进 CI;Welcome.dataNonce 绑定(TCP 250 ms 配对窗口消失,指纹变更);PH-8 钳制证明 |
origin@87584d0b(审查 land with fixes → 修复轮在跑,ID-P7-39) |
| E1 | Iris 普查 231/231 全活、70/77 逐字节同、P9 例外表空;§7.2 同名重跑 24 绿 / 3 具名停止 / 0 错答 | origin@87584d0b(docs only,ID-P7-38) |
| M2 | 孤儿 wire store 在 defer 路径回收 + MOBILEGL_IPC_WIRE_DEFERRED_MB 水位线 + 1,024 计数上限 + wbuf[] 计量 + MagmaWireReclaimScenario;主机 bsl spawn server 825 → 546 MiB、映射 41k → 5.8k |
pipe b81a8827..7d131527(门全绿 magma 100 / 79 / 71,审查 land with fixes,ID-P7-43);r2 = memo destroy-epoch,must-fix 关闭:pipe 4d207468..f62703e9 + parity 1ab62ece(门全绿 magma 101 / 80 / 71,集成者审查 land,ID-P7-46) |
| F 修复轮 | hand-off 端绑定后关 + MSG_DONTWAIT(多余 DataBind 具名拒绝)、listener 绑定后关、sha256(protocol.fbs) 钉到控制修订、定宽令牌比较、超额 Hello 记警、MalformedHello、文档更正 |
pipe 0293aebb..9cea5140(门全绿,集成者审查 land,ID-P7-44) |
| B3 修复 r3 + B2 r4 | 审计跨 #endif 只放行 disagg 守卫 + 缩进 #else 停走(16/16)、EVIDENCE 保护、tcp 信息;窗口腿独一底色、去死合取项、按符号引用 |
pipe bd849b28..4b96f55d(门全绿,集成者审查 land,ID-P7-44) |
| M3 | 长帧 descriptor set 游标按 queue-idle 证明回卷,2049 SSBO 窗口用例 split/spawn 绿且 red-once 红;包树与 pipe 完整门绿 | pipe 9fd768d4(ID-P7-50,集成者审查 land) |
| B4 | 聚合 submit 前缀等待、frame serial 重新扫描、Present 槽退休保护、pre-pass pending、texture prune 与 staged extent 清理 | pipe b19297d5(ID-P7-51;集成者 review land,完整 pipe 门通过;当前文档/citation/push 收尾中) |
| CI 修复 | 链接缝走工厂、TCP fixture headless + 资源锁守卫、D3 拒绝句、Magma-only decline、dual-block 登记、retrace 链(旋钮 / pull verify 日志 / spawn 冷启动预算)、并发组、80 个标题缩短 | pipe eaef83b3..e751b07b(ID-P7-56) |
| ratchet88 | MGPipeTextureLegacyArmScope 退役、余 86 标 # P13、棘轮 171 |
d49df354 / d74e9923(ID-P7-55) |
| F2 | Ph 余项:PH-1 (3)(4) 每会话闩、PH-6 事件通道弃投闩、PH-7 (5) fork 前认证 + 预认证有界 + 退避、fuzz 三臂进 CI;PH-4 两个回归(零尺寸层、R8 == 0)与 ID-49 回读在线内修掉 |
F2 线 29 提交 + 集成 2 跟进(ID-P7-57) |
| 门 5 修复 | 超槽 ReadPixels 切带、深度/模板 resolve 臂由设备探针选(+ POST FIXED 行)、单采样深/模板 blit 改 copy、越界图像单元绑占位 | ID-P7-58 |
| 窗口 2 工装 | 门 3 / bsl / CTS AFTER 一条命令、可续跑、共享设备锁;判读按合同公式、五块必齐、同一 boot_id | ID-P7-59 |
| codex 收官修复 | 越界 / 空图像单元 nullDescriptor 或按单元私有占位、PH-5 最小编码宽度、闩 pop 前再查、探针按设备缓存、判读器硬编码 §7.2 常量 | ID-P7-60 |
| spawn 冷启动心跳 | server 执行 surface 操作期间发 SurfaceProgress,client 预算量沉默(封顶 120 s);控制协议修订 2 |
ID-P7-61 |
| 门 3 判读 + blit | monolith 不稳定的 case 用最近邻分布判据、monolith ×5;1:1 LINEAR blit 走最近邻 | ID-P7-62 |
3. 真机(Redmi 2f7cbe2e,Adreno 830)
- 当前 APK:p7w8(
26.09.78e71f2-trace,控制协议修订 2),supervisor0.0.0.0:40613,/data/local/tmp/mgcts为$BASE库。 - 终局窗口 3 证据
notes/p7/device-window-2/final-p7w8/,窗口 2notes/p7/device-window-2/window2-p7w7/,三例 Iris 不确定性追查在 ID-P7-62。
里程碑记录(原 ROADMAP.md)
- P7 wave 2 落地(2026-09-22):X1 / F1 / C / A / B / D1 / D2 / D3 / B2 / B3 十包合入
feat/disaggregated(origin@b089e0de,B3 在集成树上待推),每包八车道全绿、G1 恒等、每包一条两进程臂 red-once、每包一次 fable 聚焦审查;子系统分母 6/9 于 B2 落地时越过 40% 中点,不触发重定基线。真机 p7w4:门 3 34/36 与 monolith 同;OpenRA 的两个历史点值(0.976494 / 0.988998)被证明是同一帧一次 draw 的顶点前缀撕裂——wire 臂的 frame-serial floor 不健全,B3 关闭;bsl-esc-menu 是 server 死 VkBuffer 无界累积,M2 + r2 已落地(主机 spawn server 825 → 546 MiB;真机验收待 p7w6)。
本目录
| 文件 | 内容 |
|---|---|
device-window-1-runbook.md |
设备窗口 #1 运行手册(wave 1,Redmi 2f7cbe2e) |
f1-caps-placeholder.md |
F1 — 占位 CapsMirror 回答「server 消费这个族吗」,并丢掉整整一个族的记录(P7 wave 2) |
g5-msrbo.md |
P7 门 5 包 g5-msrbo:KHR-GL46.direct_state_access.renderbuffers_storage_multisample(inproc × DirectVulkan) |
HANDOFF-2026-09-22.md |
P7 集成交接(2026-09-22 深夜,集成者会话结束态) |
HANDOFF-2026-09-23.md |
P7 集成交接(2026-09-23 收官) |
INTEGRATOR-DECISIONS-P7.md |
P7 集成者裁定日志 |
iris-census-1135c664.md |
Iris trace 普查 @ 3c80cd62(P7 wave 3 包 E1,主机 lavapipe) |
link-ratchet.md |
链接闭包棘轮(P7 wave 0,ID-P7-7) |
magma-a.md |
wave 2 包 A — Magma 的 UBO / SSBO / texel 对齐与 range 簇 |
magma-b.md |
P7 wave 2-B:Magma blit / copy / mip 簇(分支 p7/magma-b) |
magma-b2.md |
P7 wave 2-B2:Magma blit / copy / mip 簇里包 B 没有走完的部分(分支 p7/magma-b2) |
magma-b3.md |
P7 wave 2-B3:Magma wire 臂的「已完成帧序号地板」不可证(分支 p7/magma-b3) |
magma-b4.md |
P7 B4:Magma 提交等待与长帧清理(已落地) |
magma-c.md |
P7 wave 2 package C — Magma object death, resident sub-data, the reflection archive, the vertex-layout split |
magma-m2.md |
P7 wave 4 M2:Magma wire 臂的延迟 VkBuffer 集有界(分支 p7/magma-m2) |
magma-m3.md |
P7 M3:长帧内 descriptor set 游标回卷(草稿,待门) |
magma-two-process-first-run.md |
P7 wave 0 包 L:Magma 两进程车道的首轮(2026-09-22) |
ph-f.md |
P7 wave 2-F:Ph 小件(分支 p7/ph-f) |
PLAN-PH-P34B-P7.md |
Ph / P3b-P4b / P7 统筹计划(2026-09-22,基线 feat/disaggregated@b95f5f1a) |
verify-split.md |
P7 wave 3 · V1:出口门 2 —— verify × split(分支 p7/verify-split) |
x1-persistent-map-segv.md |
X1 — the client-thread SIGSEGV in a mapped buffer under inproc (device window #1) |
x2-caps-flake.md |
X2 — the InitialCapsStartup unit-test flake under load |
device-window-1/ |
172 个文件:设备窗口 #1(wave 1):门 3 分母 36、E0–E7 归因、CTS $BASE、各验证轮日志 |
device-window-2/ |
51 个文件:窗口 2(window2-p7w7/)与终局窗口 3(final-p7w8/)证据、dry-run、判读工装 tools/ |