Route framebuffer texture copies through GL backend

This commit is contained in:
2026-06-04 21:12:46 +02:00
parent 15c58bfb21
commit 6440bde002
13 changed files with 285 additions and 46 deletions

View File

@@ -1005,7 +1005,11 @@ 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. RTT clear color/depth masks, renderer API render-pass
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
copy is tracked under `DEBT-0036`. RTT clear color/depth masks, renderer API render-pass
color/depth/stencil clear-mask and clear-value mapping, and color-write-mask query tokens also
live in `pp_renderer_gl`. `RTT` no longer spells GL enum names directly.
Renderer API primitive-topology to OpenGL draw-mode mapping, mesh index-type
@@ -1979,13 +1983,13 @@ Results:
and fallback 2D texture unbinds through the renderer GL backend mapping;
platform VR SDK bridges remain isolated for later platform-shell extraction.
- Canvas mode overlay, mask, and transform paths now route generic OpenGL
blend/depth state, active texture units, 2D copy targets, RGBA8 readback
formats, and RTT-backed transform history region readbacks through the
renderer GL backend mapping.
blend/depth state, active texture units, 2D framebuffer-to-texture copy
dispatch, RGBA8 readback formats, and RTT-backed transform history region
readbacks through the renderer GL backend mapping.
- `NodeCanvas` panorama UI rendering now routes sampler defaults, saved
viewport/clear/blend/depth/scissor state, color clears, active texture units,
fallback 2D texture unbinds, copy targets, and RGBA8 render-target formats
through the renderer GL backend mapping.
fallback 2D texture unbinds, 2D framebuffer-to-texture copy dispatch, and
RGBA8 render-target formats through the renderer GL backend mapping.
- Canvas resource setup now routes stroke-buffer RGBA8/RGBA16F/RGBA32F
formats, flood-fill texture upload format/type, brush/stencil/mix sampler
filters and wraps, and cube-strip import channel formats through the renderer
@@ -1999,7 +2003,9 @@ Results:
readbacks, active texture units, fallback 2D texture unbinds, and layer
compositing copy targets through the renderer GL backend mapping; the
RTT-backed dirty-region readbacks now execute through the retained `RTT`
region-readback helper rather than direct `glReadPixels`.
region-readback helper rather than direct `glReadPixels`, and 2D framebuffer
copies now execute through the retained utility bridge instead of direct
`glCopyTexSubImage2D`.
- Canvas layer merge rendering and explicit layer-merge compositing now route
depth/blend state, active texture units, fallback 2D texture unbinds, and
merge framebuffer copy targets through the renderer GL backend mapping.