Route RTT lifecycle through GL backend

This commit is contained in:
2026-06-04 21:47:19 +02:00
parent fc20851462
commit ce787ce186
7 changed files with 569 additions and 77 deletions

View File

@@ -810,6 +810,10 @@ resource lifecycle path behind the renderer backend boundary.
Legacy `RTT` resize/copy blits and byte/float framebuffer readbacks now execute
through tested `pp_renderer_gl` framebuffer dispatch contracts with draw/read
framebuffer binding restore handled by the backend helper.
Legacy `RTT::create`/`RTT::destroy` now route render-target texture allocation,
default texture parameter setup, optional depth renderbuffer allocation,
framebuffer color/depth attachment, framebuffer status checks, binding restore,
and resource deletion through tested `pp_renderer_gl` dispatch helpers.
Legacy `RTT` also exposes an RGBA8 region-readback helper that uses the same
backend framebuffer readback dispatch; canvas pick/history/snapshot and
transform history paths now call that helper instead of binding an RTT and
@@ -1005,12 +1009,14 @@ dispatch sequences used by retained recording readbacks now live in
`pp_renderer_gl`. The framebuffer blit color mask and linear/nearest
filter tokens used by `RTT::resize` and `RTT::copy`, renderer API blit-filter
to OpenGL token mapping, plus the default
render-target texture parameters, texture/renderbuffer targets, depth format,
framebuffer targets, binding queries, attachment points, and completion status
used by `RTT::create` and framebuffer bind/restore paths, also live in
`pp_renderer_gl`. Depth renderbuffer allocation/storage/delete and framebuffer
depth attach/detach sequences used by canvas object-drawing helpers now execute
through tested `pp_renderer_gl` dispatch contracts. 2D framebuffer-to-texture
render-target texture parameters and parameter dispatch, texture/renderbuffer
targets, depth format, framebuffer targets, binding queries, attachment points,
render-target framebuffer allocation/delete, binding restore, and completion
status used by `RTT::create`/`RTT::destroy` and framebuffer bind/restore paths,
also live in `pp_renderer_gl`. Depth renderbuffer allocation/storage/delete and
framebuffer depth attach/detach sequences used by retained `RTT` and canvas
object-drawing helpers now execute through tested `pp_renderer_gl` dispatch
contracts. 2D framebuffer-to-texture
copies used by canvas, transform, layer-conversion, panorama UI, and brush
preview paths now route through a tested `pp_renderer_gl` copy dispatch via the
retained `copy_framebuffer_to_texture_2d` utility bridge; the remaining cube-map