Files
MobileGL/docs/Disaggregated/notes/p5f/wave2-report.md
T

97 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# P5f 波次 2 集成报告
> 包:fc `b5c60d5a`、fe `203f59cc`、fm `3cc397d3`(fm 行为代码 `552ade5b`)。
> 按 fc → fe → fm 合入,验收代码头 `78ec3b67`;其后只补报告、注释和门名称。
> WSL 验证树 `/home/swung/w7/p5f-int`,日志 `/home/swung/w7/p5f-logs/`。
## 1. 结果
Espryt 与 Magma 的合并双块车道 **210 条:204 PASS、6 既有 skip、0 failed**。
`strict-expected-markers.txt` 与 `dualblock-expected-fatals.txt` 均为空集合,双向棘轮通过;
普通 Admitted、ESCALATED 与字段 Fatal 全为零。P5f 尚未收官:静态量、registry/反向通道复核、
字段表分类及设备门仍在后续范围,不能从本车道全绿推导这些工作已完成。
fe 改读服务端 framebuffer/texture/program 记录,扩 Begin XFB 快照,并修复快照被 make-current
重置丢失。fm 接通服务端纹理/FBO、无应用缓冲的 draw/compute、程序 Archive 和 uniform/image
描述符;不再把“所有 draw 都先到 buffer-legacy-arm”当事实,基线 gl_VertexID 像素用例已经证明
它不成立。支持范围由实际记录消费者决定,已有 P7 buffer 路径仍在触及客户端对象之前具名拒绝。
fc 的控制帧复审修复一同进入集成:wire 回复序号、void 成功回复、MetalLayer 拒绝、无指针
成员检查与并发/重入 probe 配对。分包说明见 [fc-report](fc-report.md)、[fe-report](fe-report.md)、
[fm-report](fm-report.md)。
## 2. 集成接缝与棘轮
- `PipeApply.h` 保留 fe 的 XFB span 状态与 fm 的 mip 工作字段;双方的 copy-image handle、
storage-block program handle 使用同一份定义和 sink 接线。
- `PipeApply.cpp` 同时保留 XFB make-current 生存期修复与无 buffer backend ops 时的纹理 staged
接收/重定义/销毁。不会为 Magma 假注册 buffer 支持,也不会与 Espryt hook 重复接收字节。
- 独立 fm 为可独立验证而携带的 Espryt copy-image/readback 接缝,与 fe 合并后仅保留一份。
- 合 fc 后实测仍是原 **6 对、155 条具名红**(`int-after-fc-dualblock-*`)。
合 fe 后为 **1 对、2 条 Magma Clear 红**(`int-after-fe-dualblock-*`)。
合 fm 后为 **0 对、0 红**;没有新增预期对。
- fe 负责原五对 Espryt 首阻塞;fm 负责 `GetFramebufferBindingSlot@Clear`。
`GetTextureObject@CopyImageSubData` 是双方共享端点接缝,集成只记一次删除。
strict 的两条原有 stale 行已有 f1 基线证据,其余八对随 fe 的读者迁移消失。
复审还修复并验证了:无缓冲 shader 支持、独立 family caps、sampler/image 记录解析、纹理 view
的 native STORAGE 用途升级及旧内容保留、非分层 image 忽略 Layer、sRGB 开关、1D 附件视图、
同 image 传输 layout 与临时 render-pass 资源的 GPU 生存期。
## 3. 最终门
表中 PASS 与 skip 分开计数;skip 不作为像素正确性的证据。
| 门 | 总条目 | PASS | skip | failed / 结论 |
|---|---:|---:|---:|---|
| unit | 2286 | 2276 | 10 | 0 |
| integration-gpu | 1375 | 1118 | 257 | 0;含原有功能/驱动/专属车道跳过 |
| integration-split,旋钮关 | 179 | 175 | 4 | 0 |
| strict,旋钮关 | 179 | 175 | 4 | 0;零三类 marker,空表棘轮通过 |
| 双块 split + magma | 210 | 204 | 6 | 0;空表棘轮通过 |
| Magma 主车道(包含在上一行) | 31 | 29 | 2 | 0;两项为既有 ClipDistance 驱动能力跳过 |
| f1 机制阴性对照 | 1 | — | 0 | knob=1 真绿;knob=0 因 distinct-block 自身断言真红 |
| P7 PackedFloat 格式探针 | 1 | — | 0 | 按预期失败,JUnit 与精确具名 Fatal 核对通过 |
pull / push 最终增量构建都 rc=0,生效宏分别 absent / `MOBILEGL_PIPE_PUSH=1`。
G1 带 `--fail-on-text-delta --fail-on-symbol-set-change` 硬门 rc=0:
`.text` **10806051 → 10806051**,defined symbols **27815 → 27815**,
**0 added / removed / resized / renamed**;data/bss/rodata 也零差。
G2:pull / push 各 **3011** 个 CTest 名,集合差为 0。
G14:f1 **3646 → 3716**,**新增 70、删除 0**,不存在重复注册名。
生成器 check 与 self-test 通过(12 / 13 / 27 个阴性控制),include closure 4 probes、
0 skipped、0 problems。文档引用 strict 检查仍有基线两处 basename 歧义:
`CONTRACT-P5.md` 的 `Init.cpp:44` 与 `Core.cpp:39`;不是本次新增,未把它报成全绿。
核心证据:`int-final-{unit,gpu,isplit}.log/xml`、`int-final-strict-gate.log`、
`int-final-dualblock-gate.log`、`int-final-negctl-gate.log`、`int-final-known-red.log/xml`、
`int-final-{pull,push}-build.log`、`int-final-g1-hard.log`、`int-final-name-gates.log`、
`int-final-gens-gate.log`。strict、双块、GPU 串行执行,marker 判定在各自运行后立即保存,
没有用被后续车道覆盖的私有日志补证。
## 4. Red-once
- fc:控制帧投递回退真红;后续序号、成功回复、MetalLayer、probe 配对与指针成员控制均
有实际红/绿证据,见 fc 报告。
- fe:`SplitCaptureSnapshotSurvivesMakeCurrentUntilObjectRelease` 先红后绿。
- fm:ProgramSource 退回 archive 旧 binding 值真红,record overlay 版本绿;另在集成树
`a6144426`(尚缺 named-mip 修复)运行 staging 生产测试,level-1 extent 为 0 而非 2×2×1
真红;合入修复后同用例 1/1 绿。证据为 `int-fm-staging-{red-once,green}.log`。
## 5. 明确保留的边界
- `FieldOwnership.def` 仍有 **13 个 BARRIER_PULLED 字段(17 行,含 forward 重复行)**。
可达消费者已改道;legacy accessor 分类、P8 client arrays 和 fv 的 RecordError 要在收口
逐项裁定,不能为把表清空而伪称旧指针 getter 是 record-supplied。逐帧 rsp 零门尚未单独验收。
- Magma 不发布 `kCapRunAheadApply`。普通无缓冲 draw、采样、compute imageStore 均在严格双块
下有真实像素证据;应用 buffer 消费、部分 native 格式/窗口能力仍是 P7/P12,具名拒绝。
lockstep 不作为跨角色读写的豁免,具体出口门 4 的回答见 fm 报告。
- R11F_G11F_B10F mipmap 的真实旧基线 inproc 像素测试也失败;保留单独已执行的
`integration-magma-p7-known-red`,强制 `Magma:mipmap-native-format@P7`,没有靠移标签藏红。
- fs / fr / fv 尚未开工。XFB snapshot/identity 与部分 registry 入口已被 fe/fm 改动,下一轮
先重核 f0 清单,不重复处理已退役的站点。`PipeInputs::IsLive` 与 `RecordError` 的边界仍在。
- 设备门未执行:本次 `adb devices -l` 只见 `10AG930MXC002B3 unauthorized`,未见指定的
Redmi `2f7cbe2e`。host lavapipe 结果不替代设备门。
- 本轮分包并行复审不替代 ID-66 要求的 P5f 阶段收官异模型族审查;P6 仍不开工。