mirror of
https://github.com/MobileGL-Dev/MobileGL
synced 2026-11-07 18:13:23 +09:00
97 lines
6.7 KiB
Markdown
97 lines
6.7 KiB
Markdown
# 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 仍不开工。
|