diff --git a/MobileGL/MG_Remote/CONTRACT-P7.md b/MobileGL/MG_Remote/CONTRACT-P7.md index 9658d968..aaee079c 100644 --- a/MobileGL/MG_Remote/CONTRACT-P7.md +++ b/MobileGL/MG_Remote/CONTRACT-P7.md @@ -109,7 +109,7 @@ verify 今天只在 monolith 注册(`MG_IntegrationTest/CMakeLists.txt:1684-17 ## §7 出口门 3 与 5:真机与 CTS **7.1 门 3 分母(ID-P7-4,设备窗口 #1 E0a 补正)。** `trace_cases.json` 的 CI split 子集(39)× DirectVulkan × `--use-pbuffer`,排除**在 monolith 臂上就红的 case**——它们按定义不是分离缺陷:`create-indirect`(OQ-17:`dev@81b17c0b` 起在 Adreno 830 上就坏)、`minecraft-1.21.11-main-menu`(trace 自身 UBO offset 不满足本机 32 字节对齐,`notes/p65/mainmenu-trace-difference.md`)、`minecraft-1.21.4-fabric-iris-photon-v1.3b-in-world`(Adreno 830 的 `vkCreateGraphicsPipelines` 对 photon 程序返回 `VK_ERROR_UNKNOWN`,`Renderer/PipelineFactory.cpp:660`,monolith SSIM 0.0089;桌面 lavapipe 绿;按 OQ-17 先例归 `dev` 侧独立条目);rd12 in-world 不在 `--matrix` 里。**分母 = 36**。`iterationrp` 带 `apk.yml:460-462` 的三个 Magma 旋钮。排除表随每次窗口更新于 `notes/p7/device-window-/E0-attribution/exclusions.md`。 -**7.2 门 3 判据(逐 case 对 monolith 臂,不是对 golden 的平 1.0)。** E0a 实测 monolith × DirectVulkan 对 golden 的 SSIM 在 0.996–1.000(iris 光影 case 最低 0.99617),只有 OpenRA 是 1.000000——golden 来自桌面,阈值吸收驱动差。所以门 3 = 同一 reboot-clean 会话内,对分母中每个 case:inproc **与** spawn(或 tcp)三遍**逐位相同**(零翻转),且每遍 `ssim vs golden` ≥ 该 case 阈值 **且与 monolith 臂同会话读数之差 ≤ 0.0005**(OpenRA 两臂都必须 1.000000、mismatch 0);`RUN_AHEAD=0` 对照臂一遍记录。证据目录 `docs/Disaggregated/notes/p7/device-window-/`。定位实验顺序 E0–E6 见计划 §3 wave 1。**状态(W4,p7w4 = `8c5dd6fc`,ID-P7-25)**:inproc 一遍 34/36 与 monolith 差 ≤ 0.0005;OpenRA 是与温度无关的约 50% 竞态(两张图,lockstep 第三张),验收改为 run-ahead 与 lockstep 各 6 遍全等 golden;bsl-esc-menu inproc OOM 待 spawn 臂。 +**7.2 门 3 判据(逐 case 对 monolith 臂,不是对 golden 的平 1.0)。** E0a 实测 monolith × DirectVulkan 对 golden 的 SSIM 在 0.996–1.000(iris 光影 case 最低 0.99617),只有 OpenRA 是 1.000000——golden 来自桌面,阈值吸收驱动差。所以门 3 = 同一 reboot-clean 会话内,对分母中每个 case:inproc **与** spawn(或 tcp)三遍**逐位相同**(零翻转),且每遍 `ssim vs golden` ≥ 该 case 阈值 **且与 monolith 臂同会话读数之差 ≤ 0.0005**(OpenRA 两臂都必须 1.000000、mismatch 0);`RUN_AHEAD=0` 对照臂一遍记录。证据目录 `docs/Disaggregated/notes/p7/device-window-/`。定位实验顺序 E0–E6 见计划 §3 wave 1。**状态(W4,p7w4 = `8c5dd6fc`,ID-P7-25)**:inproc 一遍 34/36 与 monolith 差 ≤ 0.0005;OpenRA 是与温度无关的约 50% 竞态(两张图,lockstep 第三张),验收改为 run-ahead 与 lockstep 各 6 遍全等 golden;bsl-esc-menu inproc OOM 待 spawn 臂。**状态(W5,p7w5 = `c89000f5`,ID-P7-34)**:OpenRA **27/27 golden**(inproc/spawn × run-ahead/lockstep × 冷/热 + FIF=8 + dump-armed)——项关闭;余 bsl-esc-menu(M2)与终局形式(p7w6:分母 36 三遍逐位 + spawn 臂同会话)。 **7.3 门 5。** 块与 caselist(`tools/cts/caselists/`,取自 VK-GL-CTS `0b04c470e`,即设备上 glcts 的源):`KHR-GL46.texture_*`(1055)、`KHR-GL46.shader_image*`(125)、`KHR-GL46.packed_pixels`(4732)、`KHR-GL46.direct_state_access.*`(371)、**UBO 在 KHR 包里没有专属组**——取 GTF 模块 `GTF-GL46.gtf31.GL3Tests.uniform_buffer_object*`(90,设备 glcts 若未含 GTF 则该块记 unrun)、另加 `KHR-GL46.shader_storage_buffer_object`(124,簇 A 的 unaligned / native-range 拒绝实际打的是 SSBO range)。`KHR-GL46` 在 Android 跑器上未证实可开 4.6 core context:窗口先探针;不行则 `$BASE` 与 AFTER 都用 `gl33` 变体(texture 868 / packed_pixels 4732 / ubo 90;GL 3.3 无 shader image、无 DSA),**同一 API 版本比 0.5 pp**。先 monolith × DirectVulkan 基线入库 `tools/cts/baselines/`,迁移落地后 inproc × DirectVulkan 比对:每块 pass 率差 ≤ 0.5 pp(Pass/(Pass+Fail),NS 不入分母),**新增 crash = 0 单独硬红**。完整 caselist(~56k)在合 `dev` 前跑,不在关键路径。 --- diff --git a/docs/Disaggregated/CURRENT_STAGE_STATUS.md b/docs/Disaggregated/CURRENT_STAGE_STATUS.md new file mode 100644 index 00000000..f0f75f0f --- /dev/null +++ b/docs/Disaggregated/CURRENT_STAGE_STATUS.md @@ -0,0 +1,69 @@ +# 当前阶段状态 + +> 这一页只回答一个问题:**现在在哪、什么已落地、什么在跑、下一步是什么**。随每次合并 / 推送 / 真机窗口更新;历史与设计不在这里(设计见 [`ARCHITECTURE.md`](ARCHITECTURE.md),阶段表见 [`ROADMAP.md`](ROADMAP.md),逐条裁定见 [`notes/p7/INTEGRATOR-DECISIONS-P7.md`](notes/p7/INTEGRATOR-DECISIONS-P7.md),规范见 [`MG_Remote/CONTRACT-P7.md`](../../MobileGL/MG_Remote/CONTRACT-P7.md))。 + +**阶段:P7 DirectVulkan(Magma)全量迁移**,并行流 **P3b/P4b 深化(Espryt,wave 2-D)** 与 **Ph 小件(簇 F)**。计划 [`notes/p7/PLAN-PH-P34B-P7.md`](notes/p7/PLAN-PH-P34B-P7.md)(五波)。 + +**更新:2026-09-22 深夜** · `origin/feat/disaggregated` = `be636ee5`;集成树 `~/w7/pipe` 领先到 B3 + 裁定(待推)。 + +## 1. 出口门总览(CONTRACT-P7 §8 的 9 项分母) + +| # | 子系统 | 状态 | 证据 | +|---|---|---|---| +| 1 | Magma 两进程车道三臂同数绿 | ✅ | `integration-magma-{split,spawn,tcp}` 95 / 74 / 76,full-split 534(B3 落地时) | +| 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,`04292f06..7ed5da52` | +| 4 | 烘焙 (A)(D) + (B′) | ✅ | B 深度 mip 烘焙;B2 disaggregated 构建的 monolith 臂改用烘焙模块 | +| 5 | OQ-8 反射归档 `storageBlocks` | ✅ | C | +| 6 | OQ-10 `kCapResidentSubData` 按 server 表发布 | ✅ | C | +| 7 | verify × split(门 2) | 🔄 | 包 **V1** 在跑(`PipeRespecifyScope` 放宽 + `integration-verify-split` + 两负控 + 8 verify trace × DV × inproc) | +| 8 | 真机 ssim 1.0(门 3,分母 36) | 🔄 | p7w4:34/36 与 monolith 差 ≤ 0.0005;**OpenRA 已关**(ID-P7-33/34:真因 = wire 臂 frame-serial floor 不健全,B3 修;p7w5 **27/27 golden**,[`W5-verify/`](notes/p7/device-window-1/W5-verify/README.md));**bsl-esc-menu** = server 死 VkBuffer 无界累积(ID-P7-32,**M2** 在修);终局形式(三遍逐位 + spawn 臂同会话)留 p7w6 | +| 9 | CTS 五块 AFTER ≤ 0.5 pp(门 5) | ⏳ | `$BASE` 已取(`notes/p7/device-window-1/CTS-base/`);AFTER 在 wave 4 | + +**40% 检查点(§8 中点)已过:6/9**,不触发重定基线。G1 全程恒等(pull `.text` `0xa52203`、符号 0/0);census 79 站点 / 0 未标;棘轮 186 → **173**(B2 重基线,余 88 = monolith draw 路径,wave 3)。 + +## 2. 已落地(`feat/disaggregated`,按合并序) + +| 波 / 包 | 内容 | 落地 | +|---|---|---| +| wave 0 | Magma 两进程车道、`link_ratchet.py`、普查门扩容 + `MGPipeSessionFailHook`、设备跑器 `--matrix/--repeat/--archive-dir`、CTS caselists | `origin@8652bac0` | +| 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) | `0a41972b` | +| F1 | split 起会提到 `MG_State::Init()` 之前 + `Fatal{CapsBeforeFirstSnapshot}` | `5d698cb9..3c8082cc` | +| C | Magma `StateObjectDeathOps`、OQ-10、vertex-layout 拆分、OQ-8 `storageBlocks` | `04292f06..7ed5da52` | +| A | UBO/SSBO/texel 对齐与 native-range 行 | `5a14e5a1..9376bea3` | +| B | mip 形状半退役、深度 mip 烘焙、copy-image、default-color-blit、wire 回读 fence | `c5fa52f9..64530ed2` | +| D1 | XFB 两洞、回调 10→9、resolver 具名 stop、readback 三臂 | `e35a0973..8c5dd6fc` | +| D2 + 返工 | `TextureViewAlias`、TUS 门、memo 纯度门、`SubsystemDeps.def`、场景普查 | `9d857dc0..e7c5fc60`、`3cdaa5ee..c13ba36b` | +| D3 + 审查修复 | view 陈旧缺陷(clean gate 读 storage record)、D-K2 单一陈述 | `6eaaf492..25b586d0`、`f1f2a19e` | +| B2 | multisample 两处退役、AllocatorDebtScope ×2 删、(B′)、棘轮 173 | `089fd495..ec46a550` | +| B3 | **OpenRA 真因**:wire 臂 completed-frame-serial floor 不健全 → 有序路径 + 可证 floor + 32 处静默出口具名 | `f62ceec6..38112dc6`(pipe,待推) | + +## 3. 真机(Redmi 2f7cbe2e,Adreno 830) + +- 当前 APK:**p7w5**(`p7w5-c89000f5`,B3+B2+D3 之上)。验收 = OpenRA inproc / spawn × run-ahead / lockstep × 冷 / 热各 3、FIF=8 ×3、dump-armed ×3 → **27/27 `ace2af04` / 1.000000 / 0 px**;iterationt ×2 + 26.3 逐位同 p7w4(ID-P7-34)。 +- p7w4 结论([`W4-verify/README.md`](notes/p7/device-window-1/W4-verify/README.md)):OpenRA 是与温度无关的约 50% 竞态、只出三张图;调色板纹理逐字节正确;错像素 100% 落在 call 30376 一次 draw 的 quad 前缀里;机制由裁判裁定并由 B3 计数证实。 +- bsl-esc-menu-854:monolith 807 MiB 过,spawn 的 server 1.2 GiB 死(scudo `internal map failure`);M1 归因 = 死 VkBuffer 无界累积(一帧 1.3 M 调用、整跑 2 次 swap);M2 修复中。 + +## 4. 在跑(agent,实现方 opus / 审查方 fable) + +| 包 | 内容 | 状态 | +|---|---|---| +| B3 审查 | fable 聚焦审查 | 进行中;绿即推送 | +| B2 返工 | tcp knob 条目 parity 例外、翻转/缩放 MS 深度 resolve 改 decline、基线句 | 进行中 | +| M2 | `VkBufferManager` serial 门控回收 + `MOBILEGL_IPC_WIRE_DEFERRED_MB` 水位线 + spawn red-once | 进行中 | +| V1 | verify × split(门 2) | 进行中 | +| F | Ph 小件:常量时间令牌 / `Refuse{Authentication}` / ≥16 字节、`Welcome.dataNonce`、PH-8、D11 五处 + PH-2、PH-6、PH-1 (3)(4) | 进行中 | + +## 5. 下一步(按序) + +1. B3 审查绿 → 推送 → 真机验收结果入 `W5-verify/` + ID 裁定。 +2. M2 落地 → p7w6 APK → bsl-esc-menu spawn 臂通过 → 门 3 分母 36 全部与 monolith 同(三遍逐位相同 + spawn 臂,§7.2)。 +3. **B4**:裁判的 `WaitForSubmitsUpTo` 聚合等待(`Present:14094` / `WaitForSubmitIndex` / `WaitForFrameSerial`)+ 裁判点名的 Magma 债(§12)。 +4. wave 3 余项:`MEASUREMENTS.md` §7.2 同名重跑、Iris trace 普查(39 × 2 后端 × 2 传输)、棘轮 88 的 monolith draw 路径 `#if`。 +5. wave 4:CTS AFTER(inproc × DV 五块 vs `$BASE`,≤ 0.5 pp,新增 crash = 0)、门 3 终局三遍。 +6. wave 5:F 余片、fuzz 三臂、P7 收官异模型整体审查(ID-66)。 + +## 6. 阻塞 / 需要人 + +- P6.5 残余 39 例 TCP 矩阵(窗口 1b)等 WSL 主机路由:Arch 里 `sudo ip route add 192.168.21.181/32 via 192.168.31.1 dev eth0 metric 10`(设备 supervisor 在 `0.0.0.0:40613` 带 token,冻结制品 `~/w7/logs/p7w1b/host/`)。 diff --git a/docs/Disaggregated/ROADMAP.md b/docs/Disaggregated/ROADMAP.md index 4db13470..bfe4472f 100644 --- a/docs/Disaggregated/ROADMAP.md +++ b/docs/Disaggregated/ROADMAP.md @@ -36,9 +36,9 @@ | **P5f** 一切状态上 wire | ✅ **已收官(2026-09-20)**;验收代码 Windows `c42577a4` / WSL `cfca93c7885f` | f0 普查、f1 双块、fc 控制帧、fe Espryt 字段、fm Magma record consumers、fs 静态世代/角色及 liveness、fr registry、fv 反向回调均已合并。字段归属 **41 RECORD_SUPPLIED / 6 APPLIER_DERIVED / 0 BARRIER_PULLED / 16 FATAL**;strict / dualblock 预期 marker 集合均空。控制帧与静态量工作已完成,不再列为 P6 待实现项 | unit **2310 = 2300 PASS + 10 skip**;GPU **1377** 零失败;ordinary / strict split **180 = 176 PASS + 4 skip**;双块 **212 = 206 PASS + 6 精确具名 skip**;双后端 RSP 门 **2 PASS / 0 skip**、逐帧 rsp=0。G1 `.text` 10806051、symbols 27815 恒等且 0/0/0/0;G2 3016 同名;G14 3646→3744 无删名。逐包与收官修复均有 red-once;Claude 异族终审 P1/P2 已修;Redmi 六 clean-boot 臂 **60 PASS / 6 skip / 0 failed**、36 个窗口 rsp=0。详见 [`close-report`](notes/p5f/close-report.md) | | **P6** spawn transport | ✅ **已收官(2026-09-22)**;全部包已落地于 `feat/disaggregated`(头 `16bfab10`,2026-09-21),出口门第 1–6 项此前已达成,第 7/8 项于 2026-09-22 采齐。收官前核出的三项:server 进程侧 `PipeStats` 从未初始化(`srv=0 srvpark=0` 是结构性零,门 8 无 server 半边)**已在收尾中修好**;184 符号棘轮 CI 门(契约 §12.1)与契约 §2 分给 hs 的 `LinkTerms` / `Refuse` / 指纹拆分**未落地**,移交 P6.5(负控 S6 随之) | 十包全落地:**a6** 进程装配/链接边界审计 → **c6** 规范契约 + 数据面缝惰声明 → **lk** `RingControl` 按写者重组 → **so** `SocketTransport`(AF_UNIX SOCK_STREAM + SCM_RIGHTS,12 条契约用例)→ **sm** 两个独立启动的进程(非 fork,name 汇合、共享匿名段,四守卫接线)→ **cp** EGL 控制帧跨进程并应答(`InitCapabilities` wire kind 11)→ **hs** build stamp 显式 present 入指纹 + `abiMajor/Minor` 补检 + 真实 pid → **dl** device-lost 闩(取自描述符挂断绝不取自超时)+ `Session::Fail` 漏斗(`FatalFamilies.def` 词表 + 90 站点归一 + `SessionFault` 帧命名家族)+ Fatal 普查门 → **st** fb-slot memo 具名 Fatal → **t6** `integration-spawn` 车道(102/102)+ 名集合结构性一致门 + per-role 日志(`.client.log` / `.server.log`)。Android CI 新增 `spawn-acceptance` 臂,App 从 `nativeLibraryDir` 解析 server 路径。真机 Redmi `2f7cbe2e` 上 `OpenRA.DirectGLES` spawn ssim=1.0 连跑三次 + 6 case 绿;`DirectVulkan` 真机分离路径不确定分歧(inproc 与 spawn 同表现→ Magma × 真实 GPU,非 P6,桌面 lavapipe 为 1.0)。边界仍为 pbuffer / surfaceless / 离屏;真窗口归 P12。契约 [`MG_Remote/CONTRACT-P6.md`](../../MobileGL/MG_Remote/CONTRACT-P6.md);a6 产出 [`a6-audit-v1.md`](notes/p6/a6-audit-v1.md)、[`a6-link-experiment.md`](notes/p6/a6-link-experiment.md)(**server 不能不链 `MG_Impl`**:184 符号,P7 101 / P3b-P4b 14 / 共有 60 / P6 自己 6);终局重审 [`P6-ENDSTATE-REVIEW.md`](P6-ENDSTATE-REVIEW.md)。**收尾四项(2026-09-22,工作树未提交)**:wire 计数器——`PipeStats` 新增 `ByteClass::StageSegmentBytes`(`PipeWireCodec.cpp:878` `StageAllocate` 唯一收口)与 `CallClass::WireRecords`(`:1188` `EncodeRecord` 提交路径)+ staged-blob 直方图,汇总行新增 `seg=` / `wrec=`;`ServerMain.cpp` 补 `PipeStats::Init()` / `Shutdown()`(spawn server 此前从不武装计数器——修前 0 条汇总行、修后 29 条,SSIM 1.0 不变);`MOBILEGL_PIPE_STATS_FILE` 按角色派生 `.client.json` / `.server.json`(走 `RoleLogPath` 同一导出规则,基名不指向文件);工具入库 `tools/device_bench/p6/{ab_session.py,render_ab.py,README.md}` 与 `tools/trace_replay/run_android_retrace_local.py`(+19 行 `MOBILEGL_TRACE_PACKAGE`),`pin_device.sh` 新增 `2f7cbe2e` 条目(本板 GPU 钳 1050 MHz:`thermal_pwrlevel` 写 0 读回 1、`max_gpuclk` 只读 1 050 000 000;绝对值与 1100 MHz 时代的 `35d0befa` 行不可比)。 | 出口门(契约 §9)1–6 ✅:G1 pull 0/0/0/0、`.text` 恒 `0xa52203`;`integration-spawn` 与 split 名集合一致(可比 102==102)且同数绿;进程树运行时恰多一子进程、结束为零;每条 spawn 条目记子进程 pid 与 `transport=spawn`(`--require-spawn` 门);每包 red-once。**7/8 已采(2026-09-22)**:**门 7** 真机 reboot-clean 同热窗口配对 A/B(Redmi `2f7cbe2e` / M332BF / SM8750 / Adreno 830v2,CPU 定频 little 1555200 / big 1958400,GPU 钳 1050 MHz(本板 `thermal_pwrlevel` 写 0 读回 1、`max_gpuclk` 只读 1 050 000 000;绝对值与 1100 MHz 时代的 `35d0befa` 行不可比,只有同会话配对可比),`minecraft-1.21.4-rd12-odinlite-in-world` + DirectGLES,~1471 draws/帧;六臂交错 × best-of-3:18/18 runner 退出 0、36/36 pin check `PINNED`、0 `Fatal`;client CPU p50 ms/帧 inproc 7.880/7.889 vs spawn 7.876/7.869,均值 **−0.15%**,符号随臂序翻转,臂内散布 0.2–4.2%;第二会话 inproc/spawn 交错 × best-of-2:4/4 OK、8/8 `PINNED`、0 `Fatal`,7.987/7.989 vs 7.992/8.009 = **+0.16%**)——判读 **tie**(差值在臂内噪声内),如实记录、不设门;monolith 基线约贵 30%(−29.8% / −29.9%)。**门 8①** socket 门铃 vs inproc condvar:client 121.1 waits/帧、5.6–6.1 parks/帧,两传输逐字相同(run total 30 401–30 407);server inproc 10 866–11 963 waits/帧、5.0–6.2 parks/帧,spawn 10 415–10 416 waits/帧、4.66–4.90 parks/帧——socket 阻塞读**既不更便宜也不更贵**(契约 §9「阻塞读可能更便宜」未兑现),spawn server waits 少 8.9–12.9% 归因于 handoff 纪律而非门铃本身,唯一 socket 略差的列是 `clipark/f`(6.07 vs 5.60/5.75)。**门 8②③**(inproc,真实 trace retrace):`SEG_STAGE` 字节/帧 OpenRA 130.8 KB median / 8.01 MB steady mean(含启动负载 8.07 MB),rd12 816.2 KB median / 1.53 MB steady mean(含负载 10.79 MB,rd12 首帧 981 654 draws vs 稳态 ~1471,run-wide mean 约 7× 稳态,两个读法都报);分块后记录/帧 OpenRA 211 median / 206 mean,rd12 7 497 median / 7 504 mean;`maxrec=1808` 与分块前相同(默认 8 MiB chunk 预算在这些负载上从未被打到)。证据 [`notes/p6/gate7-device-ab.md`](notes/p6/gate7-device-ab.md) / [`notes/p6/gate8-doorbell-device.md`](notes/p6/gate8-doorbell-device.md) / [`notes/p6/gate8-wire-counters.md`](notes/p6/gate8-wire-counters.md) | | **P6.5** 传输栈两轴化 + 跨机 | **第一波已落地**(`feat/disaggregated@fe27380a`,2026-09-22):全 TCP 控制 + StreamLink 数据,WSL client ↔ Redmi server。四切片代码审查无硬缺陷 + 两修复(`AcceptPair` 重试 `EINTR`/`ECONNABORTED`、supervisor 自设 `MOBILEGL_IPC_ROLE=server`,均 `MG_Remote` 门内 G1 不动,见 [`code-review-findings.md`](notes/p65/code-review-findings.md));固定制品(两端 stamp `p65-acceptfix-20260922`)再验收:unit 2399、integration-tcp loopback 102、**device-102 102 全 ARMED**、代表性 retrace OpenRA 1.0 全 ARMED。**残余(CI/后续)**:完整 39 例 device golden 矩阵 + 必测数。设计见本表下方「立即的下一项」节 | 包:**wf** wire 定宽与布局摘要——`wireFingerprint` = `PipeFields.def` 派生的逐成员 name / `offsetof` / `sizeof` 摘要 + 有序目录摘要 + 记录头布局 + 两个 blob codec 版本 + `kOpCount` + 字节序 / 指针宽度,**保留** `sizeof(MGPCaps)` / `sizeof(DynamicBackendParameters)`(wire 事实)、删 `sizeof(GLFunctionsTable)`;`buildFingerprint` 只在 `Dial == Fork` 下比较;`DynamicBackendParameters` / `MGPCaps` / `RenderStateParameters` 整块 blob 的定宽化(两端是不同编译器产的不同二进制,`long` / padding / 位域差异都是静默读错状态);`Refuse{code, detail, 对端值}` 控制消息,握手路径零 abort → **ct** 控制面端点种类(`fork` 继承 fd / `unix:` / `tcp://host:port`;`DialMode{No, Fork, Connect}` 与 `MGPipeShouldDial()` 按契约 §3 补齐;TCP keepalive 失败**作为传输层报告的挂断**进 dl 的闩,不是 apply 超时)→ **nd** 数据面协商(`LinkTerms{dataPlane, delivery, wireForm, maxReplyBytes, cmdWindowBytes, stageWindowBytes}` 入 Hello / Welcome,四个尺寸由 **server** 陈述;`dataPlane ∈ {SharedSegments, Stream}`;`auto` 的判据是**段实际交付成功**而不是地址判断,回落必须具名入日志与 stats;链路工厂在会话建立时选定一对,之后不变——缝是 setup-time 的,契约 §8.2)→ **sd** 共享段交付与控制面解耦(`ShmLink` 自带 AF_UNIX aux 汇合名、在 `Welcome` 里公布,`SCM_RIGHTS` 只走它;于是**控制面 TCP + 数据面共享段**在同机是合法配对;`ITransport` 收窄为纯控制帧,描述符传递归数据面)→ **sl** `StreamLink`(分块封帧;watermark 变消息且**规则逐字保留**——late-never-early、`>=` 不是 `==`、倒退是 Fatal;`appliedSeq` 修正案 + flush-on-idle;reply 变自带 seq 的消息,本链路上删 slot 池 / 取模 / stamp 自检;`SEG_STAGE` 变发送窗口,三个 cursor 要么完整复活要么不用、不留中间态;program archive 与 `draw_vbo` range 尾分片;`GetCaps` 两个 blobref 变消息;每方向每进程一条专用读线程)→ **t65** 车道。上层纯度:`SessionProducer` / `SessionConsumer` / `ServerLoop` / `PipeWireEncoder`、`ClientSession.cpp` 的 `kSegEvent` 挂载与 `ResourceTracker.h` 的 writeback 解析都只经 `ILink`。设计 `ARCHITECTURE.md` §11.9 | 门:inproc / spawn 车道结果数与逐线程 CPU 逐字不变(`ILink::ReserveRecord` 虚调用代价**实测**,`RingProducer::Reserve` 失去内联是具体风险);纯度 grep——`ShmLink` / `StreamLink` / `RingControl` / `ReplySlotPool` / `EventRingConsumer` / `m_shm.` 只出现在 `Transport/` 与其测试,上层零链路种类分支;**2×2 矩阵车道**(控制面 {unix, tcp} × 数据面 {shm, stream},loopback)名集合与 spawn 一致且同数绿,每条目记 `control=… data=…` 的 arm 证明(ID-124 的形状);跨机臂一条真 trace 逐像素;wf 三条 red-once(临时树里同宽成员互换 → 摘要变而 stamp 不变;`wireMajor = 99` → 两端具名拒绝、server exit 0、client 不回落 monolith;仅 stamp 不同的对端在 `Dial != Fork` 下连接成功——正控制);**必测数**:逐帧 `kWaitReply` 次数(`ResourceCreate` / `SetTextureParams` / 纹理半边 `ResourceSubData` 都在此列,TCP 上每次即一个 RTT)、`SEG_STAGE` 字节/帧对链路带宽、`PRESENT_CREDIT` 1..3 配对、混搭(tcp + shm)对(unix + shm)的逐线程 CPU 差 | -| **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) | `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 * sizeof(element)` 设上限;`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(**五处全开**,不是两处) | -| **P3b / P4b** 深化(Espryt) | **已审计(2026-09-22,`notes/p7/PLAN-PH-P34B-P7.md` §1.2)**;Espryt 项与 P7 文件零重叠,作为 P7 的并行流(wave 2-D)推进 | view/属主发射游标**别名场景**(代码半已由 P4a `TextureEmit.h` 属主键控游标 + `TextureObjectView::ToOwner*` + P5e tx2 落地,欠验证);`g_fboTextureSyncList`(分离安全——记录臂先返回、退路是具名 Fatal;四个 resolver 改启动期具名 stop,文本删除受 P5e 裁定 1 约束归 P13);memo 重键**已落地**(P4a/P5f),补纯度 grep 门;~~XFB scatter 搬到 client~~(P5c/P5f 以 server staged shadow + `OnBufferWriteback` 落地;剩两处真洞:孤儿捕获目标被静默丢弃、回写事件无界——>128 KiB 即 `Fatal{EventRingOverflow}`);删 fragColor 重推导 workaround 与 `g_broadcastMemo*`(动 pull `.text`,归 P13,只改注释);raw-depth-fetch sampler 的 monolith 清理(可选);**回读收口**(pack 半已关:`set_pixel_pack_state` APPLIER_DERIVED + server 中性读 + client 侧 PACK-PBO 散射;readback 半开:`get-tex-image-shadow` / `copy-image-shadow-mirror` 非 monolith 下仍 abort、split 零覆盖);P4a 的 R-5(D-K2 规则合一处)/ R-11 必须,R-3 / R-4 / R-7 / R-10 可选;~~`ProgramArtifacts.h` 的 NDK 尺寸钉~~(P6.5 portable archive v2 + 布局指纹取代);链接实验分给它的 **14 个符号**(D12,棘轮落地后 Tier 1) | 纹理 / program 场景(split 三臂零覆盖,先普查首阻塞再注册);CTS `texture_*` / `shader_image_*` / `packed_pixels` + P4a 欠的 `direct_state_access.framebuffers*` 在 0.5 pp 内(caselist 入库 + monolith 基线 + delta 工具,今天三者皆无);每一个 Iris trace(CI 管道 P6 已建,欠当前头的结果与 `texture-remint-pull` 的 P9 例外表);`TextureUploadShapeScenario` 升级成门(Mali 增量无设备,按 Adreno 记录) | -| **P7** DirectVulkan(Magma)全量迁移 | **进行中(2026-09-22 起)**:审计 + 五波计划见 `notes/p7/PLAN-PH-P34B-P7.md` §1.3 / §3;wave 0(Magma 两进程车道、`scripts/link_ratchet.py`、普查门扩容 + Magma 漏斗入 `Session::Fail`、`CONTRACT-P7.md`、设备跑器选后端)开工;子系统分母 9 项,中点 = wave 2 合并完成 | `38919d45` 已补实际游戏的 server buffer consumers 和 Android 旋转 blit([报告](notes/p5f/magma-inproc-fix.md));`194382c9` 又完成 Magma run-ahead、GPU 延迟退休与 VAO 身份碰撞修复([报告](notes/p5f/magma-runahead.md));`ed507b1a..d56c0e83` 29 个 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` 内容寻址 CSO~~ **本阶段拒做**(`SetupDraw` 在非 monolith 传输下分支到 `SetupWireDraw`,monolith 快照机制在 split 下不跑;无性能门;ID-P7-5);占位纹理原生化**已落地**(缺 split 车道条目);具名 UBO host payload(D-B8)走了直绑常驻 `VkBuffer` range 的备选,欠一次测量 + 裁定关 OQ-6;内部 shader 烘焙**半已落地**(颜色 blit `WireColorBlitSpirv.h`,仅 split 臂),欠深度 mip 烘焙 + `MOBILEGL_BAKED_INTERNAL_SHADERS` 新鲜度门(0 处);D18 按 ID-P7-6 读法一句闭。**新增必须项**:Magma `StateObjectDeathOps`(六处特判)、OQ-8 归档 `storageBlocks`(`MagmaProgramSource::EnsureStorageBlocks` 每 draw 重跑 SPIRV-Reflect)、OQ-10 `kCapResidentSubData` 从未发布(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** 不可信对端加固 + 配对 | **已审计(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@8652bac0`,`abort_sites` 79 成下行棘轮);其余小件是簇 **F** 包,**在跑**(常量时间令牌 / `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.md`](CURRENT_STAGE_STATUS.md) | `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 * sizeof(element)` 设上限;`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(**五处全开**,不是两处) | +| **P3b / P4b** 深化(Espryt) | **已审计(2026-09-22,`notes/p7/PLAN-PH-P34B-P7.md` §1.2)**;Espryt 项与 P7 文件零重叠,作为 P7 的并行流(wave 2-D)推进。**D1 / D2 / D3 已落地(`origin@f1f2a19e`,2026-09-22)**:D1 = XFB 两洞(孤儿目标保留 varyings、回写事件切片)+ 回调 10→9 + 四个 resolver 具名启动期 stop + readback 家族三臂(+39/臂,readback 半边其实早已关,ID-P7-24);D2 + 返工 = `TextureViewAliasScenario`、`TextureUploadShape` 成门(散点内缩后零补丁 red-once)、`espryt_memo_purity.py`、`SubsystemDeps.def`(R-5)、12 场景 split 普查(+76/臂)(ID-P7-26/29);D3 = view 在 owner 上传后陈旧的产品缺陷修复(clean gate 读 storage record,三臂 3 红→14/14)+ D-K2 六处读者读同一张表(ID-P7-28/30)。**余**:R-3 另一半(`MGPSamplerView::Target` 谓词)、`KHR-GL46.texture_view.coherency` 的 split 读数、Iris trace 普查结果(wave 3)、CTS AFTER(wave 4);逐日状态见 [`CURRENT_STAGE_STATUS.md`](CURRENT_STAGE_STATUS.md) | view/属主发射游标**别名场景**(代码半已由 P4a `TextureEmit.h` 属主键控游标 + `TextureObjectView::ToOwner*` + P5e tx2 落地,欠验证);`g_fboTextureSyncList`(分离安全——记录臂先返回、退路是具名 Fatal;四个 resolver 改启动期具名 stop,文本删除受 P5e 裁定 1 约束归 P13);memo 重键**已落地**(P4a/P5f),补纯度 grep 门;~~XFB scatter 搬到 client~~(P5c/P5f 以 server staged shadow + `OnBufferWriteback` 落地;剩两处真洞:孤儿捕获目标被静默丢弃、回写事件无界——>128 KiB 即 `Fatal{EventRingOverflow}`);删 fragColor 重推导 workaround 与 `g_broadcastMemo*`(动 pull `.text`,归 P13,只改注释);raw-depth-fetch sampler 的 monolith 清理(可选);**回读收口**(pack 半已关:`set_pixel_pack_state` APPLIER_DERIVED + server 中性读 + client 侧 PACK-PBO 散射;readback 半开:`get-tex-image-shadow` / `copy-image-shadow-mirror` 非 monolith 下仍 abort、split 零覆盖);P4a 的 R-5(D-K2 规则合一处)/ R-11 必须,R-3 / R-4 / R-7 / R-10 可选;~~`ProgramArtifacts.h` 的 NDK 尺寸钉~~(P6.5 portable archive v2 + 布局指纹取代);链接实验分给它的 **14 个符号**(D12,棘轮落地后 Tier 1) | 纹理 / program 场景(split 三臂零覆盖,先普查首阻塞再注册);CTS `texture_*` / `shader_image_*` / `packed_pixels` + P4a 欠的 `direct_state_access.framebuffers*` 在 0.5 pp 内(caselist 入库 + monolith 基线 + delta 工具,今天三者皆无);每一个 Iris trace(CI 管道 P6 已建,欠当前头的结果与 `texture-remint-pull` 的 P9 例外表);`TextureUploadShapeScenario` 升级成门(Mali 增量无设备,按 Adreno 记录) | +| **P7** DirectVulkan(Magma)全量迁移 | **进行中;wave 0–2 已落地,40% 检查点 6/9 已过(2026-09-22,`origin@be636ee5` + 集成树上的 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.py` 186 基线、普查门 79 站点下行棘轮 + `MGPipeSessionFailHook`、设备跑器 `--matrix/--repeat/--archive-dir`、CTS caselists)`origin@8652bac0`;**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** 在修)。**在跑**:V1(verify × split,门 2)、M2、F、B2/B3 审查返工。**余**:B4(聚合等待 + §12 Magma 债)、wave 3(`MEASUREMENTS.md` §7.2 重跑、Iris 普查、棘轮 88 的 monolith draw 路径)、wave 4(CTS AFTER、门 3 终局三遍逐位 + spawn 臂)、wave 5(F 余片、fuzz 三臂、异模型整体审查)。逐日状态见 [`CURRENT_STAGE_STATUS.md`](CURRENT_STAGE_STATUS.md) | `38919d45` 已补实际游戏的 server buffer consumers 和 Android 旋转 blit([报告](notes/p5f/magma-inproc-fix.md));`194382c9` 又完成 Magma run-ahead、GPU 延迟退休与 VAO 身份碰撞修复([报告](notes/p5f/magma-runahead.md));`ed507b1a..d56c0e83` 29 个 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` 内容寻址 CSO~~ **本阶段拒做**(`SetupDraw` 在非 monolith 传输下分支到 `SetupWireDraw`,monolith 快照机制在 split 下不跑;无性能门;ID-P7-5);占位纹理原生化**已落地**(缺 split 车道条目);具名 UBO host payload(D-B8)走了直绑常驻 `VkBuffer` range 的备选,欠一次测量 + 裁定关 OQ-6;内部 shader 烘焙**半已落地**(颜色 blit `WireColorBlitSpirv.h`,仅 split 臂),欠深度 mip 烘焙 + `MOBILEGL_BAKED_INTERNAL_SHADERS` 新鲜度门(0 处);D18 按 ID-P7-6 读法一句闭。**新增必须项**:Magma `StateObjectDeathOps`(六处特判)、OQ-8 归档 `storageBlocks`(`MagmaProgramSource::EnsureStorageBlocks` 每 draw 重跑 SPIRV-Reflect)、OQ-10 `kCapResidentSubData` 从未发布(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 项) | | **P8** emulation 下放 + 索引宿主镜像 + 协议广度 | 待排 | `MG_Impl/Pipe/HostResolve.cpp`(~~client 数组范围~~ 已由 `beba0256` 落地为 owned buffer;最大索引扫描、`*IndirectCount` 解析,逐站点 reconcile);`Server/IndexHostMirror` **待重裁**(树里 0 处;a6 §6 实测宿主索引 span 无 producer、client 索引已是 owned buffer——按 `kCapNeedsHostIndexBytes` 的真实消费者重新裁定,不照抄 `ARCHITECTURE.md` §10.3);multi-draw client indices(`MultiDrawElements+CLIENT_INDICES` 仍具名拒绝);CopyImage 镜像搬到 client;viewport-array 回放验证;`generate_mipmap` 计划 + CPU 回退纹素;`texture-remint-pull` 仿真下放(15 处具名拒绝);大 blob carrier 只剩 **program archive 与 `draw_vbo` range 尾**(a6 §6;与 P6.5 sl 共用同一分片);`kCapDriverOrderedXfbCapture`(0 处);~~无 present fence tick~~ 只记在 P10 | `'^DirectGLES\.Split\.'` 与 `'^DirectGLES\.'` 逐名相同;trace split 双后端 SSIM ≥ 0.99 含两个 `coherent_as_flush` fixture;`ClientArrayAfterComputeWriteScenario`;`create-indirect` 上 `roundtrips-per-frame` 读零;`index-mirror-bytes` 逐用例发布 | | **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 发布;两条故障注入 | | **P10** sync / query / present 节奏 | 待排 | ~~client 铸造 query handle~~(已是:`QueryCreate` 为 `kWaitNone`);轮询入口成门铃点 + `MOBILEGL_IPC_POLL_ESCALATE`(0 处;TCP 上是首要杠杆之一);DirectGLES 的 fence 完成度来自逐 fence 退休(`g_completedFrameSerial` 仍只在 `Present` 前进;Magma 那半已由 run-ahead 落地);非 present fence tick(唯一记载处);`present` 1:1(已是);~~credit 默认 1~~(已是默认,`ConfigLoader.cpp:414`);**`PRESENT_CREDIT > 1` 从未量过**(重审 §8.7)——带延迟链路上的首要杠杆,inproc 臂上即可取;roundtrip 计数器与输入延迟直方图(今天只有 `MapPersistentRoundtrips`);`SetSwapInterval`(最后一个手写 class-C,`EmitTables.cpp:1665`) | query / XFB / `AsyncCompile` 场景在 split 下绿;trace 上 draw / state / upload 路径 roundtrip 读零;零 timeout 轮询有界退出;credit 1..3 在 TCP loopback 与跨机臂上的配对记录;配对 A/B 记录 | @@ -229,6 +229,7 @@ P5c 当时移交的对象类 BARRIER-PULLED、transport registry 前端键、EGL - **CI / inproc 收尾出口(2026-09-21)**:`feat/disaggregated` 主产物拆分编译 + inproc 主验收全绿——unit 2328 零失败、`integration-gpu` 双 transport 各 1455 零失败、retrace 77 例 monolith 77/77 且 inproc 的唯一间歇项(`bsl-esc-menu-854` DirectVulkan,lavapipe 固有 texture-handle 注册停顿越过旧 30 s barrier 预算)在预算修正为 120 s 后隔离 10/10 绿、18 项 CI 门全绿、双 ABI APK 与 AVD 生命周期验证通过;合入头 `e1bf3677`,最终矩阵以远端 CI 为准。 - **P6 收官(2026-09-22)**:a6/c6/lk/so/sm/cp/hs/dl/st/t6 十包于 2026-09-21 合入 `feat/disaggregated`(头 `16bfab10`);三种传输(monolith/inproc/spawn)桌面与真机两进程 retrace 逐像素对上 golden;device-lost 闩把杀 server 从 123 s 错误 `BarrierTimeout` 变 5.7 s 正确 `DEVICE LOST`;`Session::Fail` 漏斗把裸 abort 93→4。出口门 1–6 ✅;**门 7 / 8 于 2026-09-22 采齐**:真机 reboot-clean 同热窗口配对 A/B 六臂 18/18 runner 退出 0、36/36 `PINNED`、0 `Fatal`,inproc vs spawn 的 client CPU p50 差 −0.15%(第二会话 +0.16%)——**判读 tie**(臂内散布 0.2–4.2%),monolith 基线约贵 30%;门 8 三数齐(门铃 A/B tie、`SEG_STAGE` 字节/帧、分块后记录/帧);G1 符号 0/0/0/0 且 `.text` 逐字节相同。**P6 就此收官,未设性能门**(只记录)。逐项见 `CURRENT_STAGE_PROGRESS.md`。 - **终局改判(2026-09-22)**:AVF pVM / `AF_VSOCK` 终局撤回,改为 TCP 跨机跨平台 + 控制面 × 数据面两轴传输栈;P6.5 上关键路径,Ph 前置于 P12 的非 loopback 监听;P6 核出三项漏项(server 进程 `PipeStats` 结构性零——收尾中已修、184 棘轮门、hs 的三行契约未落地)与 `CURRENT_STAGE_PROGRESS.md` 里一条错误的 S6 陈述(已改);class-C 已归零到两个(`SetSwapInterval`、`DeleteTransformFeedback`)。 +- **P7 wave 2 落地(2026-09-22)**:X1 / F1 / C / A / B / D1 / D2 / D3 / B2 / B3 十包合入 `feat/disaggregated`(`origin@be636ee5`,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 在修。 - 仍是方向、不据此伪造新日历:全功能 split(P8 之后)、纯度门在非 verify 构建上转绿(P13)。 再基线检查点仅剩一条:**P7 中点完成子系统 < 40% 立即重定基线**(P3a 的检查点发现不了 Magma 特有的超期)。 @@ -262,12 +263,12 @@ P0 已回答的不再列出(spike A 的域、spike B 的分档、`posix_spawn` 5. **无存储的 capability。** 已答(P2):`FramebufferSrgb`、`DepthClamp`、`TextureCubeMapSeamless` 三个都补了真存储,`sizeof(RenderStateParameters)` 仍 1168。 6. **具名 UBO host payload 的形状(D-B8)。** Magma 在 26.3 世界每帧重打包 331 KB 具名 UBO 字节,Espryt 为 0。要么冻结第二变长尾形状,要么走备选(Magma 直接描述符绑定常驻 `VkBuffer` range,独立 `dev` PR)。P7。 7. **`MG_Util` 的切割缝。** server 需要 SPIRV-Cross / ESSL 转译缓存 / 格式处理器 / POST 探针,client 需要 glslang 与反射层;`MG_Util` 内部是否有干净的 Transpile-vs-Reflect 缝未审计。P7。 -8. **一份反射归档能否服务三个消费者。** Espryt 那一半已答(P4a):能且不需要复制。Magma 的第一个消费者已由 P5f fm 答:`MagmaProgramSource` 全部从 wire `ProgramArchive` 取,无前端对象、无复制。第二个(storage block 表)今天是**否**且变差了:split 下 `MagmaProgramSource::EnsureStorageBlocks` **每 draw** 重跑 SPIRV-Reflect(monolith 臂 `DirectVulkan.cpp:177-200` 至少有持久缓存);答案是往 `LinkArtifacts` 加有序 `storageBlocks`(数据已在 `blockReflection` 里),两个消费者都改读它。P7 wave 2-C。 +8. **一份反射归档能否服务三个消费者。** Espryt 那一半已答(P4a):能且不需要复制。Magma 的第一个消费者已由 P5f fm 答:`MagmaProgramSource` 全部从 wire `ProgramArchive` 取,无前端对象、无复制。第二个(storage block 表)今天是**否**且变差了:split 下 `MagmaProgramSource::EnsureStorageBlocks` **每 draw** 重跑 SPIRV-Reflect(monolith 臂 `DirectVulkan.cpp:177-200` 至少有持久缓存);答案是往 `LinkArtifacts` 加有序 `storageBlocks`(数据已在 `blockReflection` 里),两个消费者都改读它。**已答(P7 wave 2-C,`04292f06..7ed5da52`)**:`storageBlocks` 入归档、两个消费者改读、每 draw SPIRV-Reflect 4→0;`g_programResourceCaches` 的 monolith 半边归 P13(G1)。 9. **viewport-array 回放能否塞进一次 `draw_vbo`**:各遍之间观察到的状态是否与今天一致未验证。P8。 -10. **`ResidentSubData` 的不对称。** 已答一半(2026-09-22 核):**Magma 的实现已补**(`VkBufferManager.cpp:123` monolith 表、`:148` wire 表,`fff9d639f`)。**仍未答:`kCapResidentSubData` 从未被 server 发布**——`MG_Backend/Init.cpp:192-219` 是全树唯一的 `SetCapabilityBits` 生产调用点,只 OR 了 XFB、三个 query 位与 run-ahead 位;于是 `PipeFill.cpp:848` 在 split 下恒 false,**两个后端在拆分模式下都退回 `BufferObject.cpp:711-716` 的就地 memcpy**,Magma 的实现在 split 里是死代码。P7 wave 2-C(按 server 自己的 wire 表判 `SubDataResident != nullptr` 发布,~0.5 天)。 +10. **`ResidentSubData` 的不对称。** 已答一半(2026-09-22 核):**Magma 的实现已补**(`VkBufferManager.cpp:123` monolith 表、`:148` wire 表,`fff9d639f`)。**仍未答:`kCapResidentSubData` 从未被 server 发布**——`MG_Backend/Init.cpp:192-219` 是全树唯一的 `SetCapabilityBits` 生产调用点,只 OR 了 XFB、三个 query 位与 run-ahead 位;于是 `PipeFill.cpp:848` 在 split 下恒 false,**两个后端在拆分模式下都退回 `BufferObject.cpp:711-716` 的就地 memcpy**,Magma 的实现在 split 里是死代码。**已答(P7 wave 2-C,ID-P7-20)**:`InitServerRoleCommon` 按 server 自己的 wire 资源表发布 `kCapResidentSubData`,镜像收到即验收;白盒「发出的是 opcode 49」在 P11 采纳档落地前不可达(§5.4 债)。 11. **`SEG_STAGE` 的上限。** 内容侧已答(2026-09-20):**分块已实现**——buffer 范围走查(`1e7c372e`)与纹理整宽 slab(`9469d48e`)按 `MGPipeStageChunkBytes()`(默认 32 MiB 的 1/4 = 8 MiB)切成多条 `resource_subdata`,所以单次 128 MiB 上传不再需要显式 `MOBILEGL_IPC_STAGE_MB=256`;单片仍超 arena 或该 record 类型未接入分片时仍是 `Fatal{RingOverrun, "SEG_STAGE"}` 兜底。**仍未答(2026-09-22 收窄)**:a6 §6 实测没走查的只剩 **program archive**(唯一无界 blob)与 **`draw_vbo` 的 `NumDraws*12` range 尾**;宿主索引 span 无 producer(划掉),`set_global_constants` 有走查。二者的分片是 P6.5 sl 与 P8 共用的同一件事,stream 发送窗口对着它们定尺。MC in-world / Create 的占用分布仍未量(门 8 已给出两条负载的字节/帧与记录/帧,逐 blob 分布只在 integration 车道取到)。 12. **P13 之后 split-only 渲染 bug 的 server 侧第二意见。** verify 构建 + recorder 只覆盖推送内容,不覆盖后端对它的解释。 -13. **烘焙后的内部 shader 能否在没有活 `ProgramObject` 的情况下表达 uniform location 与 UBO 布局。** 颜色 blit 已答(P5f fv:`WireColorBlit.{vert,frag}` 用 push constant,`WireColorBlitSpirv.h` 签进树);窄化到深度 mip 程序(今天在 split 下被编译掉、其 split 路径是具名 Fatal)与直通 TCS(`ProgramFactory.cpp:4060-4262`,第三个未盘点的内部 shader 生成器)。P7 wave 2-B 随烘焙 (A) 关闭。 +13. **烘焙后的内部 shader 能否在没有活 `ProgramObject` 的情况下表达 uniform location 与 UBO 布局。** 颜色 blit 已答(P5f fv:`WireColorBlit.{vert,frag}` 用 push constant,`WireColorBlitSpirv.h` 签进树);窄化到深度 mip 程序(今天在 split 下被编译掉、其 split 路径是具名 Fatal)与直通 TCS(`ProgramFactory.cpp:4060-4262`,第三个未盘点的内部 shader 生成器)。**已答(P7 wave 2-B / B2)**:深度 mip 烘焙 (A)(D)(`WireDepthMipmap.*`,push constant,`MOBILEGL_BAKED_INTERNAL_SHADERS` 新鲜度门表驱动)与 (B′)(disaggregated 构建的 monolith 臂改用烘焙模块)落地;multisample resolve 第三套烘焙 shader 随 B2;直通 TCS 仍未盘点。 14. **推送模型改变哪些按拉取模式调过的缓存命中率。** 幸存者容量在 P13 重调。一条线索:设备上 26.3 Espryt 的 `sve` ≈ draw 数(每 draw 重发一次 sampler-view 集合),桌面只有 ~0.07/draw;列入 P3b/P4b 优化清单。 15. **monolith 的 `*IndirectCount` 不调 `SyncGpuWrites()` 是不是潜在缺口。** 独立 `dev` 问题,拆分不得借机顺手修。 16. **索引宿主镜像的实际内存占用。** MC / Sodium / Iris 语料里 element-array buffer 总量未测;若显著超 64 MiB,退化路径的频率与代价必须实测。P8。 diff --git a/docs/Disaggregated/notes/p7/INTEGRATOR-DECISIONS-P7.md b/docs/Disaggregated/notes/p7/INTEGRATOR-DECISIONS-P7.md index a44c1145..cefa5679 100644 --- a/docs/Disaggregated/notes/p7/INTEGRATOR-DECISIONS-P7.md +++ b/docs/Disaggregated/notes/p7/INTEGRATOR-DECISIONS-P7.md @@ -36,4 +36,5 @@ | ID-P7-31 | 2026-09-22 | wave 2-B2 落地(`089fd495 22c2687d 824eac05 ec46a550`):multisample-blit-shape / -aspect 退役(scratch resolve + 第三套烘焙 resolve shader;MS 目的地与无臂采样数具名 decline),`MagmaP7AllocatorDebtScope` 两处删除(P7 基线只剩两处——P5e 裁定 12 的四处里 P5f fv/fm 已去两处;类型留作 `RemoteClientTest` 负控),(B′) disaggregated 构建的 monolith 臂改用烘焙模块,棘轮 **186 → 173 重基线**(p7-magma 101 → 88,余 88 = monolith draw 路径,按 ID-P7-5 留运行时分支、不标 `# P13`,归 wave 3)。**`@P7` 拒绝站点归零**(§3.2 六个退役全部完成 → 子系统分母 (2) 成)。门:pull rc 0、G1 恒等;unit 2429 / split 303 / spawn 219 / tcp 222 / magma **93/72/74** / full 533;census 79、parity 0。**批准** B2 的「decline 的 GL 错误骑在后一次回复上、场景里 `glFinish()` 是承重的」记入 §12 作为 wire 错误归属的已知形状。真机待验:旋转面上的缩放 MS blit、Adreno 830 是否带 `VK_KHR_depth_stencil_resolve`(决定默认臂)、(B′) 烘焙 blit 几何在 ROTATE_90/180/270 下的等价(从未执行)。**fable 审查:带修复落地**——(1) tcp 臂的 `MsResolve1` 条目空转(knob 进的是 client 的 ctest ENVIRONMENT,tcp 的 server 是车道级 fixture 从自己的 `os.environ` 起,`tcp_server_fixture.py:60-68`;B 的 `FORCE_SHADER_MIPMAP`/`FORCE_DEFAULT_BLIT_SCRATCH` tcp 条目同病)→ 按 ID-P7-14 `MAGMA_INPROC_ONLY` 先例做 parity 例外只注册 split+spawn;(2) 翻转/缩放的 MS 深度/模板 resolve 仍 `MagmaWireFatal("multisample-depth-resolve-region")`(`WireFramebuffer.inc:437-443`)——颜色臂已处理翻转、深度却杀会话 → 缩放具名 decline、翻转逐行反向 copy-out;(3) 车道基线归因句改正(+4 = A 与 C 各 +2,都在 B 之前落地)。三项交 B2 返工一轮。审查确认:scratch 生命周期经 `RetireWireObjects` 标签正确、shader resolve 取样 0、无臂路径 decline 无 abort、B′ 每行在守卫内 pull 类布局不变、棘轮 13 去 + 5 重分类属实、bake `--check` fail-closed。§12 待记三条(缩放第二腿未裁剪、`multisample-resolve-region` 对超出读缓冲的源仍 Fatal、1→N 同矩形 decline 了合法形状)。 | `notes/p7/magma-b2.md`。 | `WireFramebuffer.inc`、`WireMultisampleResolve.*`、`VulkanRenderer.cpp`、`scripts/data/link_ratchet_baseline.txt`、`CONTRACT-P7.md` §3.2/§4.1 | | ID-P7-32 | 2026-09-22 | bsl-esc-menu 归因(M1,主机复现):split server 无界累积死 `VkBuffer`(`RespecifyWireBuffer` 无条件 `DeferRelease`,桶只在帧界扫,pbuffer 回放整跑只 1 条 present)——派 **M2**(`VkBufferManager.{h,cpp}`:serial 门控回收 + `MOBILEGL_IPC_WIRE_DEFERRED_MB` 水位线 + spawn 臂 red-once);`CollectGarbage()` 在 wire 臂从不执行的次级发现待 B3 落地后路由(`VulkanRenderer.cpp`);「pbuffer 回放 server 只收 1 条 present」另查(若 client 对 pbuffer 面跳过 present 记录,与 `ARCHITECTURE.md:531` 的 1:1 相悖,且饿死 server 全部帧界维护)。40% 检查点 **6/9 已过**(§8)。 | M1 报告;`~/w7/p7-probe-m1` 探针、`~/w7/m1/` 采样器与序列。 | `CONTRACT-P7.md` §8/§12 | | ID-P7-33 | 2026-09-22 | wave 2-B3 落地(`f62ceec6 214cb2eb c2c3ca49 6a92a10d 38112dc6`,base 8c5dd6fc,叠在 B2 之上自动合并):OpenRA 真机分歧的机制按裁判 H1 **由计数证实**——wire 臂一个 frame serial 两次提交(S1 = 调色板 `glTexImage2D` 触发的 pooled-fence 中帧 flush,S2 = Present 携带 draw 与 staged 拷贝),`OnSubmitsCompletedUpTo` 逐记录 `NotifyFrameSerialComplete` 把 floor 提前到 N-1,帧 N 第一次 `glBufferSubData` 走 `WriteWireBuffer:268` 的无序 host memcpy 被 S2(N-1) 排队的拷贝盖掉;两种前缀 = 上一帧写入序列的后缀极大值(6696 = 31 quad × 216 B)。修复三片:(a) 32 处静默出口全部具名 + `WireDeclines.def` 计数(无新 abort/家族词,census 79 不变);(b) `WriteWireBuffer` 对仍有读者在飞的 buffer 一律走有序路径;(c) floor 只升到「无在飞记录仍携带」的可证 serial(`#if MOBILEGL_BUILD_DISAGGREGATED`)。计数 `unsound-serial-complete` monolith/inproc/spawn = 0/26/26 → 0/0/0;red-once `F1WireScenario.StreamedBufferSubDataBeforeEachDrawIsOrdered` Split+Spawn 2/4 红 → 4/4 绿;强制回放 8102/2115/152216 px 错图 → 全 `ace2af04`。**未做**(另派 B4):裁判的 `WaitForSubmitsUpTo` 聚合等待(三处单 fence 退休站点 `Present:14094`/`WaitForSubmitIndex`/`WaitForFrameSerial`,只在无 present 的 fence 循环里不健全)与 GPU-drag 旋钮(修复后无法变红,只能做回归门)。B3 自己的第一稿机制(每第 8 次 drain)被其探针否决(OpenRA 回放 1 次 drain、33 次 serial 推进全来自 Present)。**镜头 A 的静默丢 draw 被独立否决**(32 处出口计数全 0)。门:pull rc 0、G1 恒等、census 79、ratchet 173、parity 0;unit 2429 / split 303 / spawn 219 / tcp 222(首跑因上一次被杀的门留下两个 `libMobileGLServer … 40613 --serve` 占端口而 220 红,清理后重跑 222/222)/ magma **95/74/76** / full 534。真机验收(p7w5):OpenRA inproc+spawn × run-ahead+lockstep 各 6、dump-armed ×3、FIF=8 ×3 全 `ace2af04`;修复前错图应为 quad 前缀 `K+1 ∈ {1,16,31,53}`。 | `notes/p7/magma-b3.md`;ID-P7-19/25 的两次改判到此闭合。 | `VulkanRenderer.{cpp,h}`、`VkBufferManager.{cpp,h}`、`VkTextureManager.cpp`、`WireDraw.inc`、`WireDeclineTally.h`、`WireDeclines.def`、`F1WireScenario.cpp` | +| ID-P7-34 | 2026-09-22 | **OpenRA 真机项关闭**:p7w5(`c89000f5`,B3 之上)验收 **27/27 golden**——inproc / spawn × run-ahead / lockstep × 冷 / 热各 3、`FRAMESINFLIGHT=8` ×3(p7w4 上 6/6 红)、dump-armed ×3(p7w4 上 0/5 绿),全部 ssim 1.000000 / 0 px / `ace2af04`;iterationt ×2 与 26.3 逐位同 p7w4(`W5-verify/README.md`)。B3 的 fable 审查「带修复落地」(tcp `StaleSerial` 条目空转 → parity 例外;floor 钳位无车道 → `run_trace_case.cmake` 对 split 回放里的 `unsound-serial-complete` 行打红;`02bb5789` 的注记把提交项当成修复且仍讲 drain 机制 → 改写、`:273` 加 `IsSubmitIndexComplete(lastUseSubmitIndex)`、`:432` 重打戳;`WireDeclines.def` 53 行里 12 行无站点、纹理站点只计数 → 补齐或删行)交 B3 返工一轮;审查确认 floor 算术对每种顺序精确、`#else` 逐字、无卡死模式,并**否决**裁判的次级「聚合等待」为非缺陷(fence 信号覆盖更早的提交序工作;B 的回读洞是相反形状)——B4 降为后续包(GPU-drag 回归门 + §12 债)。§12 新债:disaggregated 构建的 monolith 臂在中帧 flush 下比 pull 构建更健全(`OnSubData` 经 `IsResourceBusy` 读同一 floor),pull 构建保留该潜在 bug(G1,P13)。 | 门 3 分母 36 现在只剩 bsl-esc-menu(M2)与 §7.2 终局形式。 | `W5-verify/`、`CONTRACT-P7.md` §7.2 | | ID-P7-19 | 2026-09-22 | OpenRA 真机分歧改判为 **wire 臂的 GPU 时序竞态**(冷驱动缓存 = 慢 pipeline 创建 → 最终帧回读在最后几批 draw 完成前采样),归 wave 2-B 第 0 片;主机 red-once 用 pipeline 创建延迟旋钮复现;真机验收 = 三次 `pm clear` 冷跑 1.0。F1 保留(机制正确)但不再被当作分歧原因。 | E7:`pm clear` 三遍 0.976493989 / 14658 逐字相同、热跑 1.0、冷 monolith 1.0、`FRAMESINFLIGHT=1` 一绿一红;两臂 client/server 日志逐行相同;diff 只缺最后画的对象。 | `WireFramebuffer.inc`、`VulkanRenderer.cpp`、`F1-verify/README.md` | diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/README.md b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/README.md new file mode 100644 index 00000000..2c2c4d51 --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/README.md @@ -0,0 +1,35 @@ +# W5 验收 · p7w5(B3 + B2 + D3 之上)真机:OpenRA 27/27 golden + +APK `p7w5-c89000f5`(`apk-p7w5.sha256` = `01040add…`;`apk-p7w5-install.txt`:`versionName=26.09.c89000f-trace`),= 集成树 `c89000f5` = `origin@be636ee5` + B3(`f62ceec6..38112dc6`)+ ID-P7-33。并排包 `top.mobilegl.plugin.p7w1.trace` 原地升级。全部 DirectVulkan × pbuffer;`--archive-dir .trace-work/p7w5/`(不入库)。 + +## 1. 验收矩阵(ID-P7-25 定的判据:run-ahead 与 lockstep 各 6 遍全等 golden,冷热各半) + +| 组 | run | 结果 | +|---|---|---| +| inproc run-ahead cold ×3(每遍前 `pm clear`) | `inproc-cold-{1,2,3}` | 1.000000 / 0 px / `ace2af04` ×3 | +| inproc run-ahead warm ×3 | `inproc-warm-{1,2,3}` | `ace2af04` ×3 | +| inproc lockstep(`MOBILEGL_IPC_RUN_AHEAD=0`)cold ×3 | `inproc-lock-cold-{1,2,3}` | `ace2af04` ×3 | +| inproc lockstep warm ×3 | `inproc-lock-warm-{1,2,3}` | `ace2af04` ×3 | +| spawn run-ahead cold ×3 | `spawn-cold-{1,2,3}` | `ace2af04` ×3 | +| spawn run-ahead warm ×3 | `spawn-warm-{1,2,3}` | `ace2af04` ×3 | +| spawn lockstep ×3 | `spawn-lock-{1,2,3}` | `ace2af04` ×3 | +| inproc `MOBILEGL_MAGMA_FRAMESINFLIGHT=8` ×3(p7w4 上 6/6 红) | `fif8-{1,2,3}` | `ace2af04` ×3 | +| inproc dump-armed(`--dump-texture-2d 31249,3,0`,p7w4 上 0/5 绿) | `dump-inproc-{1,2,3}` | `ace2af04` ×3 | + +**27/27**,全部 ssim 1.000000、mismatch 0、actual sha `ace2af04` = golden。p7w4 上同类 26 遍是约 50% 掷硬币、三张图;B3 的三个预测(dump-armed ×3、FIF=8 ×3、lockstep)全部兑现。 + +## 2. 回归 + +| case | p7w5 | p7w4 | monolith(E0a) | +|---|---|---|---| +| `iris-iterationt-in-world` | 0.999419883 | 0.999419883 | 0.999421604 | +| `iris-iterationt-nodsa-in-world` | 0.998933123 | 0.998933123 | 0.998936755 | +| `improved-transparency-minecraft-26.3` | 0.999600026 | 0.999600026 | 0.999600026 | + +逐位与 p7w4 相同:B3 的 floor 改动没有移动任何像素。 + +## 3. 读法 + +- 门 3 的 OpenRA 项**关闭**:机制(ID-P7-33:wire 臂 completed-frame-serial floor 在中帧 pooled-fence 提交退休时无证据上升,帧首次 `glBufferSubData` 走无序 host memcpy)由主机计数证实(26→0)、由真机 27/27 验收。 +- 仍开的门 3 项只剩 **bsl-esc-menu-854**(M2,server 死 VkBuffer 无界累积)与 §7.2 的终局形式(分母 36 三遍逐位相同 + spawn 臂同会话),留 p7w6。 +- 会话末 supervisor 已重启(`0.0.0.0:40613`)。 diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/apk-p7w5-install.txt b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/apk-p7w5-install.txt new file mode 100644 index 00000000..f8e98804 --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/apk-p7w5-install.txt @@ -0,0 +1,2 @@ + versionName=26.09.c89000f-trace + lastUpdateTime=2026-09-23 06:56:58 diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/apk-p7w5.sha256 b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/apk-p7w5.sha256 new file mode 100644 index 00000000..b288f3df --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/apk-p7w5.sha256 @@ -0,0 +1 @@ +01040add1ca6a936242a6d0cb0795aa5d97887af3d3636efdd9a5157b3d145d2 */c/Users/geekerwan/AndroidStudioProjects/FoldCraftLauncher/MobileGL-disagg/.trace-work/p7w5-trace-p7w5.apk diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/dump-inproc-1.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/dump-inproc-1.log new file mode 100644 index 00000000..a9869cb9 --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/dump-inproc-1.log @@ -0,0 +1,37 @@ +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 51.2 MB/s (22192645 bytes in 0.414s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 35.4 MB/s (403752 bytes in 0.011s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +Android retrace: real inproc transport, strict role state and zero Fatal records confirmed +rc 0 archived .trace-work\p7w4\dump-inproc-1\OpenRA-DirectVulkan\repeat-01 diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/dump-inproc-2.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/dump-inproc-2.log new file mode 100644 index 00000000..58439423 --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/dump-inproc-2.log @@ -0,0 +1,37 @@ +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 58.0 MB/s (22192645 bytes in 0.365s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 26.3 MB/s (403752 bytes in 0.015s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +Android retrace: real inproc transport, strict role state and zero Fatal records confirmed +rc 0 archived .trace-work\p7w4\dump-inproc-2\OpenRA-DirectVulkan\repeat-01 diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/dump-inproc-3.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/dump-inproc-3.log new file mode 100644 index 00000000..110f62b5 --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/dump-inproc-3.log @@ -0,0 +1,37 @@ +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 47.3 MB/s (22192645 bytes in 0.447s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 26.2 MB/s (403752 bytes in 0.015s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +Android retrace: real inproc transport, strict role state and zero Fatal records confirmed +rc 0 archived .trace-work\p7w4\dump-inproc-3\OpenRA-DirectVulkan\repeat-01 diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/fif8-1.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/fif8-1.log new file mode 100644 index 00000000..a4752e3f --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/fif8-1.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 52.4 MB/s (22192645 bytes in 0.404s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 36.2 MB/s (403752 bytes in 0.011s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +Android retrace: real inproc transport, strict role state and zero Fatal records confirmed +archived repeat 1 to .trace-work\p7w5\fif8-1\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/fif8-2.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/fif8-2.log new file mode 100644 index 00000000..a6f971b3 --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/fif8-2.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 51.3 MB/s (22192645 bytes in 0.413s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 17.2 MB/s (403752 bytes in 0.022s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +Android retrace: real inproc transport, strict role state and zero Fatal records confirmed +archived repeat 1 to .trace-work\p7w5\fif8-2\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/fif8-3.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/fif8-3.log new file mode 100644 index 00000000..03a587b7 --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/fif8-3.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 54.6 MB/s (22192645 bytes in 0.388s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 89.4 MB/s (403752 bytes in 0.004s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +Android retrace: real inproc transport, strict role state and zero Fatal records confirmed +archived repeat 1 to .trace-work\p7w5\fif8-3\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-cold-1.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-cold-1.log new file mode 100644 index 00000000..51366d43 --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-cold-1.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 62.1 MB/s (22192645 bytes in 0.341s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 24.8 MB/s (403752 bytes in 0.016s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +Android retrace: real inproc transport, strict role state and zero Fatal records confirmed +archived repeat 1 to .trace-work\p7w5\inproc-cold-1\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-cold-2.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-cold-2.log new file mode 100644 index 00000000..0c6e2cfd --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-cold-2.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 70.5 MB/s (22192645 bytes in 0.300s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 7.6 MB/s (403752 bytes in 0.051s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +Android retrace: real inproc transport, strict role state and zero Fatal records confirmed +archived repeat 1 to .trace-work\p7w5\inproc-cold-2\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-cold-3.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-cold-3.log new file mode 100644 index 00000000..77d36bf0 --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-cold-3.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 60.3 MB/s (22192645 bytes in 0.351s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 17.2 MB/s (403752 bytes in 0.022s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +Android retrace: real inproc transport, strict role state and zero Fatal records confirmed +archived repeat 1 to .trace-work\p7w5\inproc-cold-3\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-lock-cold-1.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-lock-cold-1.log new file mode 100644 index 00000000..44d1429c --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-lock-cold-1.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 56.7 MB/s (22192645 bytes in 0.373s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 9.8 MB/s (403752 bytes in 0.039s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +trace replay failed actual inproc/strict/role/zero-Fatal proof: {"required_transport": "inproc", "library_log": "C:\\Users\\geekerwan\\AndroidStudioProjects\\FoldCraftLauncher\\MobileGL-disagg\\.trace-work\\android-retrace-result\\OpenRA-DirectVulkan\\mobilegl.log", "transport_resolution_marker": true, "ipc_config_lines": ["Config: IPC ring=8MiB stage=32MiB spin=50us persistent-block=64KiB adopt-tier=2 verb-barrier=1 run-ahead=0 present-credit=1 strict=1 audit=0 role-split-state=1 affinity='auto'"], "required_ipc_settings": {"strict": "1", "role-split-state": "1", "run-ahead": "1"}, "ipc_settings_match": false, "fatal_count": 0, "fatal_lines": [], "passed": false} +archived repeat 1 to .trace-work\p7w5\inproc-lock-cold-1\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-lock-cold-2.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-lock-cold-2.log new file mode 100644 index 00000000..ffa4620f --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-lock-cold-2.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 48.9 MB/s (22192645 bytes in 0.433s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 18.8 MB/s (403752 bytes in 0.021s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +trace replay failed actual inproc/strict/role/zero-Fatal proof: {"required_transport": "inproc", "library_log": "C:\\Users\\geekerwan\\AndroidStudioProjects\\FoldCraftLauncher\\MobileGL-disagg\\.trace-work\\android-retrace-result\\OpenRA-DirectVulkan\\mobilegl.log", "transport_resolution_marker": true, "ipc_config_lines": ["Config: IPC ring=8MiB stage=32MiB spin=50us persistent-block=64KiB adopt-tier=2 verb-barrier=1 run-ahead=0 present-credit=1 strict=1 audit=0 role-split-state=1 affinity='auto'"], "required_ipc_settings": {"strict": "1", "role-split-state": "1", "run-ahead": "1"}, "ipc_settings_match": false, "fatal_count": 0, "fatal_lines": [], "passed": false} +archived repeat 1 to .trace-work\p7w5\inproc-lock-cold-2\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-lock-cold-3.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-lock-cold-3.log new file mode 100644 index 00000000..005de89d --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-lock-cold-3.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 69.9 MB/s (22192645 bytes in 0.303s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 38.8 MB/s (403752 bytes in 0.010s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +trace replay failed actual inproc/strict/role/zero-Fatal proof: {"required_transport": "inproc", "library_log": "C:\\Users\\geekerwan\\AndroidStudioProjects\\FoldCraftLauncher\\MobileGL-disagg\\.trace-work\\android-retrace-result\\OpenRA-DirectVulkan\\mobilegl.log", "transport_resolution_marker": true, "ipc_config_lines": ["Config: IPC ring=8MiB stage=32MiB spin=50us persistent-block=64KiB adopt-tier=2 verb-barrier=1 run-ahead=0 present-credit=1 strict=1 audit=0 role-split-state=1 affinity='auto'"], "required_ipc_settings": {"strict": "1", "role-split-state": "1", "run-ahead": "1"}, "ipc_settings_match": false, "fatal_count": 0, "fatal_lines": [], "passed": false} +archived repeat 1 to .trace-work\p7w5\inproc-lock-cold-3\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-lock-warm-1.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-lock-warm-1.log new file mode 100644 index 00000000..9086d52f --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-lock-warm-1.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 57.3 MB/s (22192645 bytes in 0.369s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 9.4 MB/s (403752 bytes in 0.041s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +trace replay failed actual inproc/strict/role/zero-Fatal proof: {"required_transport": "inproc", "library_log": "C:\\Users\\geekerwan\\AndroidStudioProjects\\FoldCraftLauncher\\MobileGL-disagg\\.trace-work\\android-retrace-result\\OpenRA-DirectVulkan\\mobilegl.log", "transport_resolution_marker": true, "ipc_config_lines": ["Config: IPC ring=8MiB stage=32MiB spin=50us persistent-block=64KiB adopt-tier=2 verb-barrier=1 run-ahead=0 present-credit=1 strict=1 audit=0 role-split-state=1 affinity='auto'"], "required_ipc_settings": {"strict": "1", "role-split-state": "1", "run-ahead": "1"}, "ipc_settings_match": false, "fatal_count": 0, "fatal_lines": [], "passed": false} +archived repeat 1 to .trace-work\p7w5\inproc-lock-warm-1\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-lock-warm-2.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-lock-warm-2.log new file mode 100644 index 00000000..fbb676df --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-lock-warm-2.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 52.6 MB/s (22192645 bytes in 0.402s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 7.3 MB/s (403752 bytes in 0.053s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +trace replay failed actual inproc/strict/role/zero-Fatal proof: {"required_transport": "inproc", "library_log": "C:\\Users\\geekerwan\\AndroidStudioProjects\\FoldCraftLauncher\\MobileGL-disagg\\.trace-work\\android-retrace-result\\OpenRA-DirectVulkan\\mobilegl.log", "transport_resolution_marker": true, "ipc_config_lines": ["Config: IPC ring=8MiB stage=32MiB spin=50us persistent-block=64KiB adopt-tier=2 verb-barrier=1 run-ahead=0 present-credit=1 strict=1 audit=0 role-split-state=1 affinity='auto'"], "required_ipc_settings": {"strict": "1", "role-split-state": "1", "run-ahead": "1"}, "ipc_settings_match": false, "fatal_count": 0, "fatal_lines": [], "passed": false} +archived repeat 1 to .trace-work\p7w5\inproc-lock-warm-2\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-lock-warm-3.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-lock-warm-3.log new file mode 100644 index 00000000..a979e818 --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-lock-warm-3.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 53.2 MB/s (22192645 bytes in 0.398s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 7.0 MB/s (403752 bytes in 0.055s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +trace replay failed actual inproc/strict/role/zero-Fatal proof: {"required_transport": "inproc", "library_log": "C:\\Users\\geekerwan\\AndroidStudioProjects\\FoldCraftLauncher\\MobileGL-disagg\\.trace-work\\android-retrace-result\\OpenRA-DirectVulkan\\mobilegl.log", "transport_resolution_marker": true, "ipc_config_lines": ["Config: IPC ring=8MiB stage=32MiB spin=50us persistent-block=64KiB adopt-tier=2 verb-barrier=1 run-ahead=0 present-credit=1 strict=1 audit=0 role-split-state=1 affinity='auto'"], "required_ipc_settings": {"strict": "1", "role-split-state": "1", "run-ahead": "1"}, "ipc_settings_match": false, "fatal_count": 0, "fatal_lines": [], "passed": false} +archived repeat 1 to .trace-work\p7w5\inproc-lock-warm-3\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-warm-1.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-warm-1.log new file mode 100644 index 00000000..9d787b6d --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-warm-1.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 52.2 MB/s (22192645 bytes in 0.405s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 8.2 MB/s (403752 bytes in 0.047s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +Android retrace: real inproc transport, strict role state and zero Fatal records confirmed +archived repeat 1 to .trace-work\p7w5\inproc-warm-1\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-warm-2.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-warm-2.log new file mode 100644 index 00000000..530e3027 --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-warm-2.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 55.8 MB/s (22192645 bytes in 0.379s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 27.5 MB/s (403752 bytes in 0.014s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +Android retrace: real inproc transport, strict role state and zero Fatal records confirmed +archived repeat 1 to .trace-work\p7w5\inproc-warm-2\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-warm-3.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-warm-3.log new file mode 100644 index 00000000..b9aae747 --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/inproc-warm-3.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 51.1 MB/s (22192645 bytes in 0.414s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 11.4 MB/s (403752 bytes in 0.034s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +Android retrace: real inproc transport, strict role state and zero Fatal records confirmed +archived repeat 1 to .trace-work\p7w5\inproc-warm-3\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/regress.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/regress.log new file mode 100644 index 00000000..7ddcdbe4 --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/regress.log @@ -0,0 +1,117 @@ +=== Android retrace: minecraft-1.21.4-fabric-iris-iterationt-in-world / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\minecraft-1.21.4-fabric-iris-iterationt-in-world\trace.trace: 1 file pushed, 0 skipped. 20.1 MB/s (94141776 bytes in 4.474s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\minecraft-1.21.4-fabric-iris-iterationt-in-world.0000110538.png: 1 file pushed, 0 skipped. 37.6 MB/s (705968 bytes in 0.018s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=0.999420, ssimThreshold=0.990000, mismatchPixels=354383, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/minecraft-1.21.4-fabric-iris-iterationt-in-world-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 110538, + "width": 854, + "height": 480, + "cropX": 0, + "cropY": 0, + "cropWidth": 0, + "cropHeight": 0, + "ssim": 0.999419883, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 354383 +} +Android retrace: real inproc transport, strict role state and zero Fatal records confirmed +archived repeat 1 to .trace-work\p7w5\regress\minecraft-1.21.4-fabric-iris-iterationt-in-world-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html +=== Android retrace: minecraft-1.21.4-fabric-iris-iterationt-nodsa-in-world / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\minecraft-1.21.4-fabric-iris-iterationt-nodsa-in-world\trace.trace: 1 file pushed, 0 skipped. 20.3 MB/s (92544229 bytes in 4.341s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\minecraft-1.21.4-fabric-iris-iterationt-nodsa-in-world.0000115019.png: 1 file pushed, 0 skipped. 19.8 MB/s (800864 bytes in 0.038s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=0.998933, ssimThreshold=0.990000, mismatchPixels=402662, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/minecraft-1.21.4-fabric-iris-iterationt-nodsa-in-world-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 115019, + "width": 854, + "height": 480, + "cropX": 0, + "cropY": 0, + "cropWidth": 0, + "cropHeight": 0, + "ssim": 0.998933123, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 402662 +} +Android retrace: real inproc transport, strict role state and zero Fatal records confirmed +archived repeat 1 to .trace-work\p7w5\regress\minecraft-1.21.4-fabric-iris-iterationt-nodsa-in-world-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html +=== Android retrace: improved-transparency-minecraft-26.3 / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\improved-transparency-minecraft-26.3\trace.trace: 1 file pushed, 0 skipped. 13.2 MB/s (14404890 bytes in 1.043s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\improved-transparency-minecraft-26.3.0002667619.png: 1 file pushed, 0 skipped. 18.5 MB/s (368306 bytes in 0.019s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=0.999600, ssimThreshold=0.995000, mismatchPixels=73242, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/improved-transparency-minecraft-26.3-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 2667619, + "width": 854, + "height": 480, + "cropX": 0, + "cropY": 0, + "cropWidth": 0, + "cropHeight": 0, + "ssim": 0.999600026, + "ssimThreshold": 0.995000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 73242 +} +Android retrace: real inproc transport, strict role state and zero Fatal records confirmed +archived repeat 1 to .trace-work\p7w5\regress\improved-transparency-minecraft-26.3-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-cold-1.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-cold-1.log new file mode 100644 index 00000000..69da218e --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-cold-1.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 58.8 MB/s (22192645 bytes in 0.360s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 26.3 MB/s (403752 bytes in 0.015s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +Android retrace: real spawn transport, server role in pid 20274, and zero Fatal records confirmed +archived repeat 1 to .trace-work\p7w5\spawn-cold-1\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-cold-2.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-cold-2.log new file mode 100644 index 00000000..838c4109 --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-cold-2.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 57.8 MB/s (22192645 bytes in 0.366s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 28.1 MB/s (403752 bytes in 0.014s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +Android retrace: real spawn transport, server role in pid 20480, and zero Fatal records confirmed +archived repeat 1 to .trace-work\p7w5\spawn-cold-2\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-cold-3.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-cold-3.log new file mode 100644 index 00000000..1ee08835 --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-cold-3.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 52.3 MB/s (22192645 bytes in 0.405s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 11.1 MB/s (403752 bytes in 0.035s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +Android retrace: real spawn transport, server role in pid 20690, and zero Fatal records confirmed +archived repeat 1 to .trace-work\p7w5\spawn-cold-3\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-lock-1.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-lock-1.log new file mode 100644 index 00000000..28aa58d7 --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-lock-1.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 61.7 MB/s (22192645 bytes in 0.343s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 40.7 MB/s (403752 bytes in 0.009s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +trace replay failed actual spawn/second-process/zero-Fatal proof: {"required_transport": "spawn", "library_log": "C:\\Users\\geekerwan\\AndroidStudioProjects\\FoldCraftLauncher\\MobileGL-disagg\\.trace-work\\android-retrace-result\\OpenRA-DirectVulkan\\mobilegl.log", "transport_resolution_marker": true, "server_pid": 21448, "ipc_config_lines": ["Config: IPC ring=8MiB stage=32MiB spin=50us persistent-block=64KiB adopt-tier=2 verb-barrier=1 run-ahead=0 present-credit=1 strict=1 audit=0 role-split-state=1 affinity='auto'"], "required_ipc_settings": {"strict": "1", "role-split-state": "1", "run-ahead": "1"}, "client_ipc_line_present": false, "fatal_count": 0, "fatal_lines": [], "passed": false} +archived repeat 1 to .trace-work\p7w5\spawn-lock-1\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-lock-2.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-lock-2.log new file mode 100644 index 00000000..79f883b9 --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-lock-2.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 49.1 MB/s (22192645 bytes in 0.431s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 23.2 MB/s (403752 bytes in 0.017s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +trace replay failed actual spawn/second-process/zero-Fatal proof: {"required_transport": "spawn", "library_log": "C:\\Users\\geekerwan\\AndroidStudioProjects\\FoldCraftLauncher\\MobileGL-disagg\\.trace-work\\android-retrace-result\\OpenRA-DirectVulkan\\mobilegl.log", "transport_resolution_marker": true, "server_pid": 21640, "ipc_config_lines": ["Config: IPC ring=8MiB stage=32MiB spin=50us persistent-block=64KiB adopt-tier=2 verb-barrier=1 run-ahead=0 present-credit=1 strict=1 audit=0 role-split-state=1 affinity='auto'"], "required_ipc_settings": {"strict": "1", "role-split-state": "1", "run-ahead": "1"}, "client_ipc_line_present": false, "fatal_count": 0, "fatal_lines": [], "passed": false} +archived repeat 1 to .trace-work\p7w5\spawn-lock-2\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-lock-3.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-lock-3.log new file mode 100644 index 00000000..3e6bcf7c --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-lock-3.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 68.2 MB/s (22192645 bytes in 0.310s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 21.6 MB/s (403752 bytes in 0.018s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +trace replay failed actual spawn/second-process/zero-Fatal proof: {"required_transport": "spawn", "library_log": "C:\\Users\\geekerwan\\AndroidStudioProjects\\FoldCraftLauncher\\MobileGL-disagg\\.trace-work\\android-retrace-result\\OpenRA-DirectVulkan\\mobilegl.log", "transport_resolution_marker": true, "server_pid": 21871, "ipc_config_lines": ["Config: IPC ring=8MiB stage=32MiB spin=50us persistent-block=64KiB adopt-tier=2 verb-barrier=1 run-ahead=0 present-credit=1 strict=1 audit=0 role-split-state=1 affinity='auto'"], "required_ipc_settings": {"strict": "1", "role-split-state": "1", "run-ahead": "1"}, "client_ipc_line_present": false, "fatal_count": 0, "fatal_lines": [], "passed": false} +archived repeat 1 to .trace-work\p7w5\spawn-lock-3\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-warm-1.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-warm-1.log new file mode 100644 index 00000000..a8558867 --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-warm-1.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 61.4 MB/s (22192645 bytes in 0.345s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 21.7 MB/s (403752 bytes in 0.018s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +Android retrace: real spawn transport, server role in pid 20875, and zero Fatal records confirmed +archived repeat 1 to .trace-work\p7w5\spawn-warm-1\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-warm-2.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-warm-2.log new file mode 100644 index 00000000..195965cb --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-warm-2.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 55.6 MB/s (22192645 bytes in 0.381s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 78.1 MB/s (403752 bytes in 0.005s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +Android retrace: real spawn transport, server role in pid 21062, and zero Fatal records confirmed +archived repeat 1 to .trace-work\p7w5\spawn-warm-2\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html diff --git a/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-warm-3.log b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-warm-3.log new file mode 100644 index 00000000..ef209b5b --- /dev/null +++ b/docs/Disaggregated/notes/p7/device-window-1/W5-verify/spawn-warm-3.log @@ -0,0 +1,39 @@ +=== Android retrace: OpenRA / DirectVulkan (repeat 1/1) === +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-fixture\OpenRA\openra.trace: 1 file pushed, 0 skipped. 59.9 MB/s (22192645 bytes in 0.353s) +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\tools\trace_replay\fixtures\openra.0000031249.png: 1 file pushed, 0 skipped. 18.8 MB/s (403752 bytes in 0.020s) +Starting: Intent { act=top.mobilegl.plugin.TRACE_REPLAY cmp=top.mobilegl.plugin.p7w1.trace/top.mobilegl.plugin.trace.TraceReplayActivity (has extras) } +{ + "passed": true, + "statusCode": 0, + "message": "retrace completed; ssim=1.000000, ssimThreshold=0.990000, mismatchPixels=0, matchedGoldenPath=/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "tracePath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/trace.trace", + "goldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "alternateGoldenPaths": [], + "matchedGoldenPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/input/golden.png", + "actualPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/actual.png", + "diffPath": "/data/user/0/top.mobilegl.plugin.p7w1.trace/files/trace-replay/output/OpenRA-diff.png", + "backend": "DirectVulkan", + "angleVariant": "", + "targetFrame": -1, + "targetCall": 31249, + "width": 640, + "height": 480, + "cropX": 1, + "cropY": 1, + "cropWidth": 638, + "cropHeight": 478, + "ssim": 1.000000000, + "ssimThreshold": 0.990000000, + "useAngle": false, + "usePbuffer": true, + "avoidAngleLlvmpipeSamplerMipmapMinFilter": false, + "avoidAngleLlvmpipeExplicitLodBias": false, + "fixIterationRPSubgroupScratch": false, + "deriveNumSubgroups": false, + "iterationRPFixBarrier": false, + "holdMs": 0, + "mismatchPixels": 0 +} +Android retrace: real spawn transport, server role in pid 21245, and zero Fatal records confirmed +archived repeat 1 to .trace-work\p7w5\spawn-warm-3\OpenRA-DirectVulkan\repeat-01 +C:\Users\geekerwan\AndroidStudioProjects\FoldCraftLauncher\MobileGL-disagg\.trace-work\android-retrace-summary\mobilegl-android-retrace-overview.html