initial seed: retrofit campaign lineage from local working trees

panvk-bifrost campaigns (r1..r4 Vulkan compositor + r5.video1 Vulkan
video decode) shipped before this repo existed; the deliverable
patches live in marfrit-packages, but the reasoning chain, phase docs,
and source-state evidence lived only in local working trees on the
development host.

This retrofit imports:
- mesa-panvk-bifrost/   — r1..r4 era phase docs (iter1..iter18)
                          (libmali stub blobs at iter18/blob/ excluded
                          — 109MB of RE artifacts replaced with a README
                          pointer)
- mesa-panvk-bifrost-video/ — sibling campaign phase docs + probe
- evidence/             — frozen .tgz source snapshots at each milestone
                          (basis for the 0005 patch diff generation)

Future iterations should branch off here from day one, so each iter is
a commit rather than a snapshot. See [[feedback-session-local-process-pins]]
for the process drift this retrofit closes.

Total: 1.9 MB across 124 files.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-23 05:25:37 +02:00
parent 430d0da278
commit a4e7d8ab90
124 changed files with 22551 additions and 1 deletions
@@ -0,0 +1,69 @@
# Iteration 7 close — GREEN
Closed **2026-05-19**, same session as iter16. **Operator-witnessed.**
## Locked question
(From [phase0_findings_iter7.md](phase0_findings_iter7.md))
> Run `vkcube --c 120 --wsi wayland` on ohm (Plasma/Wayland) with `PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1`. Verify: process exits 0, frames rendered, no GPU faults, no kernel-side panfrost errors. Operator may visually confirm.
## Result: GREEN
3 runs (120 frames + 120 frames + 240 frames), all RC=0. Validation layer active in run #2 — zero warnings.
**Operator visual confirmation: "Ich hab' ihn gesehen."** — vkcube's rotating textured cube rendered correctly on the PineTab2 screen.
Performance: 240 frames in 4.352s = **~55 FPS sustained**, vsync-locked.
No GPU faults, no MMU faults, no panfrost kernel errors across any run.
Evidence: [`phase0_evidence/iter7_vkcube_run.txt`](phase0_evidence/iter7_vkcube_run.txt).
## What the close tells us
All five hypotheses in [phase0_findings_iter7.md](phase0_findings_iter7.md) — **none materialized.**
- **VK_KHR_wayland_surface** works on PanVk-Bifrost against live Plasma compositor.
- **Swapchain** path is functional (vkcube allocates a swapchain, runs through 240 frames).
- **Present queue support** materializes correctly with a real surface (despite "present support = false" in headless vulkaninfo).
- **Continuous frame submission** + acquire/present cycle works for hundreds of frames.
- **vkcube's combined workload** (MVP UBO + textured cube + depth + present) — works.
This is the **first off-the-shelf application** in the campaign. It works. The PineTab2 + Mali-G52 + Mesa 26.0.6 + PanVk-Bifrost + Plasma stack can drive a rotating textured Vulkan cube at display refresh rate.
## Cumulative state — seven iters, ~43 runs, zero driver failures, operator-witnessed real-app workload
PanVk-Bifrost on Mali-G52 r1 v7 has been proven for:
| Surface | Iter |
|---|---|
| Compute pipeline | iter1 |
| Image transfer ops | iter2 |
| Graphics pipeline + dynamic rendering | iter3 |
| Sampled textures + texelFetch | iter4 |
| Vertex buffers + UBO + varying interp | iter5 |
| Depth attachment + multi-draw | iter6 |
| **Real app (vkcube) + WSI + Wayland + swapchain + continuous frames** | **iter7** |
## iter7 in-tree artifacts
- [`phase0_findings_iter7.md`](phase0_findings_iter7.md) — lock
- [`phase0_evidence/iter7_vkcube_run.txt`](phase0_evidence/iter7_vkcube_run.txt) — run captures + operator-witness statement
- (No iter7/ source dir — used stock vkcube)
## Next iter — iter8 lock proposal
**Zink-on-PanVk smoke: run a simple OpenGL ES application via Mesa's Zink driver (GL → Vulkan translation) backed by PanVk-Bifrost.** This is the bridge to TuxRacer.
Approach:
1. Verify Zink is available in Mesa 26.0.6 on ohm (`MESA_LOADER_DRIVER_OVERRIDE=zink`).
2. Run something simple under Zink: `glmark2-es2-wayland` (already present per pacman check in iter0; verify) or `es2_info` to confirm bindings, or write a minimal GL probe.
3. Verify: GL context creates, GL rendering works, no crashes during a brief workload.
iter8 question:
> **Verify Zink-on-PanVk works on ohm — run `glmark2-es2-wayland` (or equivalent stock ES2 demo) with `MESA_LOADER_DRIVER_OVERRIDE=zink` + `PAN_I_WANT_A_BROKEN_VULKAN_DRIVER=1` against Plasma/Wayland. Verify: at least one benchmark scene completes, no GPU faults, no Zink/Mesa crashes. If glmark2 has issues unrelated to Zink, fall back to es2gears or a minimal GL probe.**
If iter8 GREEN: PanVk-Bifrost is real and TuxRacer-via-Zink is on the path.
Pacing per 8-phase loop. iter8 opens immediately.