User Tools

Site Tools


ohm_gl_fix:start

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
ohm_gl_fix:start [2026/04/30 18:02] – link Phase 2 page markus_fritscheohm_gl_fix:start [2026/05/02 05:56] (current) – fix list-item word-wrap (DokuWiki broke continuation lines into pre blocks) markus_fritsche
Line 1: Line 1:
 ====== ohm_gl_fix — Mali-G52 EGL/dmabuf import efficiency ====== ====== ohm_gl_fix — Mali-G52 EGL/dmabuf import efficiency ======
  
-A scope-narrow campaign to reduce per-frame GL/EGL import cost on +A scope-narrow campaign to reduce per-frame GL/EGL import cost on Mali-G52 (RK3566) when consuming V4L2-decoded NV12 dmabuf frames. Spun off from [[fourier:start|fourier]] on 2026-04-30 after Phase 3 measurements confirmed the import cost is the binding constraint on browser-side video playback.
-Mali-G52 (RK3566) when consuming V4L2-decoded NV12 dmabuf frames. +
-Spun off from [[fourier:start|fourier]] on 2026-04-30 after Phase 3 +
-measurements confirmed the import cost is the binding constraint on +
-browser-side video playback.+
  
-  * Local dossier: ''~/src/ohm_gl_fix/README.md'' (canonical scope +  * Local dossier: ''~/src/ohm_gl_fix/README.md'' (canonical scope + reference list) 
-    + reference list) +  * Reference target: **ohm** — PineTab2, RK3566, Mali-G52 MP2, hantro G1/G2 VPU, kernel ''6.19.10-danctnix1-1-pinetab2''
-  * Reference target: **ohm** — PineTab2, RK3566, Mali-G52 MP2, +
-    hantro G1/G2 VPU, kernel ''6.19.10-danctnix1-1-pinetab2''+
  
 ===== Status — Phase 1 locked 2026-04-30 ===== ===== Status — Phase 1 locked 2026-04-30 =====
  
-  * [[ohm_gl_fix:phase1_2026-04-30|Phase 1 goal formulation, 2026-04-30]] +  * [[ohm_gl_fix:phase1_2026-04-30|Phase 1 goal formulation, 2026-04-30]] — goal locked, constraints separated. Phase 2 (situation analysis) is next. 
-    — goal locked, constraints separated. Phase 2 (situation +  * [[ohm_gl_fix:phase2_2026-04-30|Phase 2 situation analysis, 2026-04-30]] — substrate enumerated (Mesa/panfrost, EGL/GLES extensions, V4L2 buffer-pool, mpv+libplacebo, KWin, known failure modes). Phase 3 (baseline measurements) is next
-    analysis) is next. +  * [[ohm_gl_fix:phase3_revised_2026-05-01|Phase 3 (revised), 2026-05-01]] — empirical bucket-attribution + boundary characterisation across six playback paths; supersedes the original Phase 3 narrative. 
-  * [[ohm_gl_fix:phase2_2026-04-30|Phase 2 situation analysis, 2026-04-30]] +  * [[ohm_gl_fix:phase1_revised_2026-05-01|Phase 1 (revised), 2026-05-01]] — measurable success criteria (C1-C4) across in-scope use cases (Brave / Chromium + VS Code); supersedes the original Phase 1 lock. 
-    — substrate enumerated (Mesa/panfrost, EGL/GLES extensions, V4L2 +  * [[ohm_gl_fix:phase4_2026-05-01|Phase 4 (from scratch), 2026-05-01]] — libva-v4l2-request multiplanar port plan; Brave/Chromium VA-API chain, Step 0 research → Step 1 implementation → conditional Step 2; supersedes the original Phase 4 enumeration. 
-    buffer-pool, mpv+libplacebo, KWin, known failure modes). Phase 3 +  * [[ohm_gl_fix:phase5_review_2026-05-01|Phase 5 second-model review, 2026-05-01]] — Sonnet 4.6 challenges the four Phase 4 §7 hand-over questions; surfaces four pre-Phase-6 actions, including a 10-second test that could obviate the libva multiplanar rewrite if Brave already has the direct V4L2 decoder path compiled in. 
-    (baseline measurements) is next.+  * [[ohm_gl_fix:phase4_step1_test_corpus_2026-05-01|Phase 4 Step 1 test corpus, 2026-05-01]] — extended H.264 test corpus (5 YouTube clips R1-R5 + JVT conformance subset including MBAFF / long-GOP / scaling-list) addressing Phase 5 review Q4; Step 1 completion gate. 
 +  * [[ohm_gl_fix:phase6_step0_chromium_wayland_routing_2026-05-01|Phase 6 Step 0 — Chromium Wayland routing, 2026-05-01]] — routing decision chain; Step 2 patch site identified at WaylandConnection::ShouldUseOverlayDelegation lines 495-509. 
 +  * [[ohm_gl_fix:phase6_step0_5_uapi_audit_2026-05-01|Phase 6 Step 0.5 — Kernel UAPI surface audit, 2026-05-01]] — V4L2 stateless H.264 control struct layouts captured from working GStreamer pipeline; per-byte template for Step 1.
  
-Origin freeze (sibling): [[fourier:phase5_2026-04-30|fourier Phase 5 +Origin freeze (sibling): [[fourier:phase5_2026-04-30|fourier Phase 5 review handover]].
-review handover]].+
  
 ===== Scope (canonical: README) ===== ===== Scope (canonical: README) =====
  
-  * **In:** panfrost (Mesa) EGLImage-from-dmabuf import path for +  * **In:** panfrost (Mesa) EGLImage-from-dmabuf import path for NV12 with Rockchip-relevant DRM modifiers; application-level EGLImage caching across V4L2 buffer-pool reuse; Mali-G52 on RK3566 specifics. 
-    NV12 with Rockchip-relevant DRM modifiers; application-level +  * **Out:** V4L2 stateless decoder work (fourier territory); browser-side carrier patches that opt into dmabuf-overlay compositing (fourier territory; the //workaround//, not the //fix//); compositor-side overlay-plane promotion for video surfaces (overlap with KWin / Mutter); hardware Vulkan video decode (panvk does not implement ''VK_KHR_video_decode_*'' yet).
-    EGLImage caching across V4L2 buffer-pool reuse; Mali-G52 on +
-    RK3566 specifics. +
-  * **Out:** V4L2 stateless decoder work (fourier territory); +
-    browser-side carrier patches that opt into dmabuf-overlay +
-    compositing (fourier territory; the *workaround*, not the +
-    *fix*); compositor-side overlay-plane promotion for video +
-    surfaces (overlap with KWin / Mutter); hardware Vulkan video +
-    decode (panvk does not implement ''VK_KHR_video_decode_*'' yet).+
  
 ===== Sibling ===== ===== Sibling =====
  
-  * [[fourier:start|fourier]] — V4L2 stateless decode unlock for +  * [[fourier:start|fourier]] — V4L2 stateless decode unlock for mainline ARM Wayland. Currently paused; re-entry condition is that this campaign surfaces something useful that changes the GL-consumer baseline.
-    mainline ARM Wayland. Currently paused; re-entry condition is +
-    that this campaign surfaces something useful that changes the +
-    GL-consumer baseline.+
  
 ---- ----
  
-//Namespace landing created 2026-04-30 alongside the Phase 1 entry +//Namespace landing created 2026-04-30 alongside the Phase 1 entry lock.//
-lock.//+
  
ohm_gl_fix/start.1777572121.txt.gz · Last modified: by markus_fritsche