mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-11-07 18:13:23 +09:00
[Docs] (P8): the monolith defect count is 12 (13 reports, one duplicate between C and D), 9 of them left to P13, not 14 and 11
This commit is contained in:
@@ -22,7 +22,7 @@
|
||||
| P8 转出(E):driver-written 标按整张纹理打(`GenerateMipmap` 也打),驱动拒读时连基级也具名拒绝,偏保守;跨格式拷贝 store 不跟随;拒绝仍是会话 Fatal(要改回包状态才能答 `GL_INVALID_OPERATION`) | 小修(按 level 打标);其余按需 |
|
||||
| P8 转出(B):`PipeCalls.def:260` `GenerateMipmap` 仍是 `kWaitApplied`,裁定 14 的理由(CPU 滤波碰 client 影子)已不成立,可改 `kWaitNone` | 性能工作(协议行为变更,需单独裁定) |
|
||||
| P8 转出(C):server SSBO 标记过近似(窗口内每个绑定的 SSBO 都标);一个留在 SSBO 绑定上又当 restart EBO 用的 buffer 每次 draw 都回读 | 性能工作 |
|
||||
| P8 转出(monolith,ID-P8-13):11 条 monolith 缺陷真实内容 0 命中,不在 dev 上修——Espryt `*IndirectCount` / 原生 indirect `gl_BaseVertex` / fp64 收窄读未同步影子;Magma `glMultiDrawArraysIndirectCount` CPU 臂同病;Magma 录制中途 `SyncGpuWrites` → SIGSEGV;Espryt RGB16F / RGB32F CPU 滤波读陈旧影子、R11F / 深度链无视 BASE / MAX;Magma 无 BLIT 颜色格式缺着色器 mip 臂;Espryt 拷贝后 `glGetTexImage` 读拷贝前影子(证据见 `notes/p8/{B,C,D,E}.md`) | P13(monolith 换到已修好的记录臂) |
|
||||
| P8 转出(monolith,ID-P8-13):9 条 monolith 缺陷真实内容 0 命中,不在 dev 上修——Espryt `*IndirectCount` / 原生 indirect `gl_BaseVertex` / fp64 收窄读未同步影子;Magma `glMultiDrawArraysIndirectCount` CPU 臂同病;Magma 录制中途 `SyncGpuWrites` → SIGSEGV;Espryt RGB16F / RGB32F CPU 滤波读陈旧影子、R11F / 深度链无视 BASE / MAX;Magma 无 BLIT 颜色格式缺着色器 mip 臂;Espryt 拷贝后 `glGetTexImage` 读拷贝前影子(证据见 `notes/p8/{B,C,D,E}.md`) | P13(monolith 换到已修好的记录臂) |
|
||||
| P8-0 转出:设备上基线就有的 SSIM < 0.99——1.21.11-main-menu(Espryt 0.890、Magma 0.165)、derivative-main(Espryt 0.851);两臂都有 | 待归因 |
|
||||
| P12 未做:D8 窗口种类白名单——X11 / MetalLayer / Win32Hwnd / None 仍被接受(`SurfaceOpCodec.cpp:138-141`),`HandleFromToken` 把 token 强转为指针(`ServerLoop.cpp:1228`,经 `UnpackWindowHandle`;下游是否交给 EGL 未追到底) | 可进行(Ph 类小修) |
|
||||
| P12 未做:修后的横屏 server 窗口未重测 | 可进行(红米只读检查) |
|
||||
|
||||
@@ -15,5 +15,5 @@
|
||||
| ID-P8-9 | 2026-09-30 | **C 落地**(`94410715`):split server 给 shader 写过的 buffer 孪生体打标(SSBO / 原子计数、可写 buffer image、XFB),restart 重写、multi-draw rebase、`*IndirectCount`、CPU 取用的 indirect 字段、XFB scatter、fp64 收窄一律经 `SplitHostBytesForCpuRead` 懒刷新后读;T0 臂先落排队常驻写再 `glFinish`(P11-B2 那条债的 split 半,主机无 T0、未能证红)。 | 前提成立:基线 Espryt split / spawn / tcp 21/21 红。monolith 13 条缺陷用例运行时按名跳过(`SkipBrokenMonolith`,原因写在代码里),第二波 dev 修复落地后解除。 | [`C.md`](C.md) |
|
||||
| ID-P8-10 | 2026-09-30 | **D 落地**(`92eab9f3`):Magma wire 臂把 `glDraw*Indirect` / `glMultiDraw*Indirect[Count]` 直接录成 `vkCmdDraw*Indirect[Count]`;CPU 展开只留给设备发不出的 COUNT 形态(与 monolith 同条件);shader 写过的 store 在首个 indirect 读前录一次屏障;范围 / 对齐 / 缺 store 四条具名拒绝。 | create-indirect split 上 321/322 次 indirect 读每次一整 GPU 等待(每次回放约 8 s)→ 0。去屏障的像素用例在 lavapipe 上不红(顺序执行),如实记录。 | [`D.md`](D.md) |
|
||||
| ID-P8-11 | 2026-09-30 | **E 落地**(`39cd8fb7`):审计前提不成立——split 的 `glGetTexImage` 只读 GPU、不碰影子;真实缺口是驱动拒绝 attach(Adreno RGB16 / 16 位 SNORM)时会话以 `Fatal{ReplyError,"ReadPixels"}` 结束。改为由 server 暂存 store 作答(整级、extent 相符、未被驱动写过),store 跟随同格式 `glCopyImageSubData`(FollowCopy),跟不了的打粘性 driver-written 标;否则具名拒绝。死闩 `CopyImageSubData+RENDERBUFFER` 删除,census 79 → 78。 | red-once 11 条。E 的 monolith 半(拷贝后读拷贝前的 CPU 影子)归第二波 dev。 | [`E.md`](E.md) |
|
||||
| ID-P8-12 | 2026-09-30 | **第一波集成头 `39cd8fb7` 整套门**:G1 符号增 0 减 0、`.text` `0xa5ba13`(pull 不变);fatal census 78;link ratchet 172;parity 0;修订 5;wire-declines 58 / 59 站点;卫生 12/12 + `split_coverage`(两后端 monolith 701,Espryt 门控 612 + 豁免 89,missing 0);unit 2721;split / spawn / tcp 735 / 649 / 661;Magma 271 / 248 / 216 / 668;gpu monolith / inproc 3684 / 3684;verify 5471;retrace 230/236(已知 6 例 iterationrp)。集成者裁定:契约旧措辞加 P8 修订注(`CONTRACT-P5B.md`、`CONTRACT-P5E.md`、`CONTRACT-P7.md`);monolith 缺陷共 14 条,全部进第二波 dev 包(ID-P8-3);开放问题 9、11 关闭,15 答「是缺口」。 | 串行集成六次,每次整套门;两处追加冲突(`CMakeLists.txt`、`WireDeclines.def`)都两块保留,一次合并修复(A 的豁免行)。 | 树外 `~/w7/notes/p8/int-*.md` |
|
||||
| ID-P8-13 | 2026-09-30 | **第二波**:split 两包(SE Espryt + 文档、SV Magma)串行合入 `p8/main`;dev 一包(MD)只修 create-* 在 Adreno 上的三条真实负载缺陷,其余 11 条 monolith 缺陷留给 P13(`DEBTS.md`)。 | ID-P8-3 原意是「B2 的 monolith 半边上 dev」,第一波报出 14 条,全在 monolith 专属臂里、P13 换臂即消失;按 P8-0 真实内容命中收窄,只修 Create 在 Adreno 上会碰到的三条(dev 是现行产品)。这是对 ID-P8-3 的收窄,已告知用户。 | `PLAN-P8.md` 第二波 |
|
||||
| ID-P8-12 | 2026-09-30 | **第一波集成头 `39cd8fb7` 整套门**:G1 符号增 0 减 0、`.text` `0xa5ba13`(pull 不变);fatal census 78;link ratchet 172;parity 0;修订 5;wire-declines 58 / 59 站点;卫生 12/12 + `split_coverage`(两后端 monolith 701,Espryt 门控 612 + 豁免 89,missing 0);unit 2721;split / spawn / tcp 735 / 649 / 661;Magma 271 / 248 / 216 / 668;gpu monolith / inproc 3684 / 3684;verify 5471;retrace 230/236(已知 6 例 iterationrp)。集成者裁定:契约旧措辞加 P8 修订注(`CONTRACT-P5B.md`、`CONTRACT-P5E.md`、`CONTRACT-P7.md`);monolith 缺陷共 12 条(报了 13 条,C、D 各报一次 Magma `glMultiDrawArraysIndirectCount`),取舍见 ID-P8-13;开放问题 9、11 关闭,15 答「是缺口」。 | 串行集成六次,每次整套门;两处追加冲突(`CMakeLists.txt`、`WireDeclines.def`)都两块保留,一次合并修复(A 的豁免行)。 | 树外 `~/w7/notes/p8/int-*.md` |
|
||||
| ID-P8-13 | 2026-09-30 | **第二波**:split 两包(SE Espryt + 文档、SV Magma)串行合入 `p8/main`;dev 一包(MD)只修 create-* 在 Adreno 上的三条真实负载缺陷,其余 9 条 monolith 缺陷留给 P13(`DEBTS.md`)。 | ID-P8-3 原意是「B2 的 monolith 半边上 dev」,第一波报出 12 条(13 条报告去重),全在 monolith 专属臂里、P13 换臂即消失;按 P8-0 真实内容命中收窄,只修 Create 在 Adreno 上会碰到的三条(dev 是现行产品)。这是对 ID-P8-3 的收窄,已告知用户。 | `PLAN-P8.md` 第二波 |
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
|
||||
### monolith 缺陷(ID-P8-3)的取舍
|
||||
|
||||
所有 14 条都在 monolith 专属臂里;P13 把 monolith 换到第一波已修好的记录臂上,它们随之消失。按 P8-0 的真实内容命中取舍:
|
||||
12 条(13 条报告,C、D 重复一条)都在 monolith 专属臂里;P13 把 monolith 换到第一波已修好的记录臂上,它们随之消失。按 P8-0 的真实内容命中取舍:
|
||||
|
||||
| 缺陷 | 来源 | 真实内容命中 | 做法 |
|
||||
|---|---|---|---|
|
||||
|
||||
Reference in New Issue
Block a user