Route UI capability queries through GL backend

This commit is contained in:
2026-06-04 23:29:30 +02:00
parent 2a4698e9f6
commit c9fb91ab48
6 changed files with 108 additions and 20 deletions

View File

@@ -1108,7 +1108,9 @@ depth clears, color-write-mask toggles, active texture selection, and bake
viewport changes through tested `pp_renderer_gl` dispatch adapters. Its desktop
texture-resize path now reuses `Texture2D::get_image()`, so grid texture
readback also goes through the tested framebuffer-backed texture readback
dispatch instead of direct `glGetTexImage`.
dispatch instead of direct `glGetTexImage`. Grid depth-state snapshots and sun
overlay viewport queries now also use tested backend query dispatch instead of
direct state reads.
Legacy `util.cpp` OpenGL error naming and `gl_state` save/restore now delegate
error codes, state queries, framebuffer targets, texture binding targets, and
active texture units to `pp_renderer_gl`.
@@ -1123,8 +1125,9 @@ endpoints retained.
Retained `Canvas` stroke/thumbnail/object/export paths and `NodeCanvas`
panorama rendering use the same tested active-texture dispatch for their
texture-unit switches, and their live viewport, scissor, and generic
depth/blend/scissor capability changes now route through the same backend
dispatch contracts. Retained `Canvas` stroke draw/commit, thumbnail
depth/blend/scissor capability changes and `NodeCanvas` capability-state
snapshots now route through the same backend dispatch contracts. Retained
`Canvas` stroke draw/commit, thumbnail
generation, object drawing, and `LayerFrame::clear` saved viewport/clear-color
query plus clear-color restore paths also use tested `pp_renderer_gl` dispatch
helpers. `NodeCanvas` saved viewport/clear-color query, density target color
@@ -2034,7 +2037,9 @@ Results:
formats, and RTT-backed transform history region readbacks through the
renderer GL backend mapping. Canvas-tip pick readback now routes through the
tested framebuffer readback dispatch using the active read framebuffer, with
only a local OpenGL adapter endpoint retained in `src/canvas_modes.cpp`.
only local OpenGL adapter endpoints retained in `src/canvas_modes.cpp`.
Paint-mode blend/depth state snapshots also use tested capability-state query
dispatch.
- `NodeCanvas` panorama UI rendering now routes sampler defaults, saved
viewport/clear/blend/depth/scissor state, tested viewport and clear-color
query dispatch, color clears, clear-color restore, active texture units,
@@ -2042,7 +2047,8 @@ Results:
RGBA8 render-target formats through the renderer GL backend mapping.
Its live viewport, generic blend/depth/scissor capability changes, and
density/offscreen color-buffer clears now execute through tested
`pp_renderer_gl` dispatch adapters.
`pp_renderer_gl` dispatch adapters, and its saved blend/depth/scissor state
queries now use tested capability-state query dispatch.
- 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
@@ -2073,6 +2079,8 @@ Results:
contracts. Its desktop texture-resize readback now uses the retained
`Texture2D::get_image()` helper, so it consumes the same tested
framebuffer-backed texture readback dispatch instead of `glGetTexImage`.
Grid depth-state and viewport snapshots now also use tested backend query
dispatch.
- Retained simple UI draw paths now share `legacy_ui_gl_dispatch` for
blend-state execution, fallback 2D texture unbinds, `NodeViewport` viewport
query/restore, color-buffer clear, and clear-color restore. This covers