Route PBO readbacks through GL backend

This commit is contained in:
2026-06-04 21:29:49 +02:00
parent 45802dfc7c
commit fc20851462
7 changed files with 523 additions and 46 deletions

View File

@@ -278,8 +278,9 @@ Known local toolchain state:
invalid channel counts rejected by `Texture2D::create(Image)`, renderer API
texture-format to OpenGL internal/pixel/component token mapping including
depth-stencil formats, RGBA8/RGBA32F
readback formats, checked byte-count math, and PBO pixel-buffer target/usage/access
mapping used by `RTT` and `PBO` readbacks, and framebuffer status naming
readback formats, checked byte-count math, PBO pixel-buffer target/usage/access
mapping, and PBO allocation/readback/map/unmap/delete dispatch sequences used
by retained `PBO` recording readbacks, and framebuffer status naming
used by `RTT` and `Texture2D` diagnostics. It also owns the 2D texture target,
framebuffer setup, readback format, mipmap target, and update component-type
tokens used by `Texture2D`, plus cube-map binding and allocation face targets
@@ -541,11 +542,13 @@ Known local toolchain state:
- `pano_cli plan-recording-session` exposes `pp_app_core` recording start,
stop, clear, platform cleanup, frame-count reset, and export progress-total
planning as JSON; the live recording controls consume those contracts before
reaching legacy recording threads, PBO readback, and MP4 encoder execution.
reaching legacy recording threads, retained PBO readback call sites, and MP4
encoder execution.
- `src/legacy_recording_services.*` is the current app-shell bridge for
recording start/stop/clear and MP4 export execution. It keeps those live paths
on the `pp_app_core` contracts while legacy recording thread ownership, PBO
readback, progress UI, platform cleanup, and `MP4Encoder` execution remain
on the `pp_app_core` contracts while legacy recording thread ownership,
retained PBO readback call sites, progress UI, platform cleanup, and
`MP4Encoder` execution remain
tracked by `DEBT-0037`.
- `pano_cli plan-share-file` exposes `pp_app_core` share availability planning
as JSON for unsaved and saved document paths; the live platform share command
@@ -623,8 +626,9 @@ Known local toolchain state:
consumed by the retained `gl_state` utility, tested texture lifecycle/readback dispatch consumed by
the retained `Texture2D` utility, tested framebuffer blit/readback dispatch
consumed by retained `RTT` resize/copy/readback and RGBA8 region-readback
paths, tested framebuffer-to-texture 2D copy dispatch consumed by retained
canvas/UI paint paths, tested framebuffer
paths, tested pixel-buffer allocation/readback/map/unmap/delete dispatch
consumed by retained `PBO` recording readbacks, tested framebuffer-to-texture
2D copy dispatch consumed by retained canvas/UI paint paths, tested framebuffer
bind/restore dispatch consumed by retained `RTT` render-target pass entry
and exit paths, tested depth renderbuffer allocation/delete and framebuffer
depth attach/detach dispatch consumed by canvas object-drawing helpers,