Files
panvk-bifrost/mesa-panvk-bifrost/phase8_iteration7_close.md
T
marfrit a4e7d8ab90 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>
2026-05-23 05:25:37 +02:00

70 lines
3.5 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.
# 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.