Share retained app UI GL dispatch

This commit is contained in:
2026-06-05 15:19:10 +02:00
parent 96d1903cf2
commit 26470e0fe8
7 changed files with 74 additions and 135 deletions

View File

@@ -619,7 +619,11 @@ powershell -ExecutionPolicy Bypass -File scripts\automation\apple-remote-build.p
blend/depth state query-restore, depth clear masks, active texture unit
dispatch, and fallback 2D texture unbind dispatch; VR SDK start/stop now dispatches
through `PlatformServices` while retaining the existing Windows OpenVR bridge
shape.
shape. Its retained callback endpoints now share `legacy_ui_gl_dispatch`
with app startup, app clear, app UI viewport/scissor, and command-convert
renderer state callbacks, so those files no longer duplicate local raw GL
adapter clusters for capability, blend, clear, viewport, scissor, active
texture, or 2D texture-unbind execution.
Canvas mode overlay, mask, and transform paths also consume backend-owned
blend/depth state execution, active texture unit dispatch, transform/cut
viewport execution, 2D texture copy targets, and RGBA8 readback format tokens;

File diff suppressed because one or more lines are too long

View File

@@ -883,7 +883,8 @@ debug-output/debug-output-synchronous state enable sequence is now a tested
Initial PanoPainter OpenGL depth/blend startup state is now represented and
applied by tested `pp_renderer_gl` startup-state contracts; `App::init`
delegates to the backend dispatch path instead of hard-coding the policy or
operation order.
operation order, and its retained callback endpoints now reuse the shared UI
GL bridge instead of a local raw callback cluster.
OpenGL runtime version/vendor/renderer/GLSL string queries now also use a
tested `pp_renderer_gl` dispatch contract, leaving `App::init` to log the
result while the backend owns the query set and order. The Windows entrypoint
@@ -891,19 +892,24 @@ also uses that contract for early context logging and renderer-name window
title construction before replacing the temporary WGL context.
The default app clear color and color-buffer clear operation now dispatch
through `pp_renderer_gl` as well, moving another direct OpenGL operation out
of `App::clear` while preserving the current gray clear behavior.
of `App::clear` while preserving the current gray clear behavior; the live
callback endpoints now share `legacy_ui_gl_dispatch`.
Main app UI viewport and scissor execution now dispatch through tested
`pp_renderer_gl` viewport/scissor contracts, leaving `App::draw` and UI node
clipping to provide rectangles while the backend owns scissor-state tokens and
the live OpenGL call sequence.
the live OpenGL call sequence. The retained viewport/scissor callback endpoints
now share `legacy_ui_gl_dispatch`.
VR UI framebuffer viewport and scissor-test setup now also consumes those
`pp_renderer_gl` contracts, keeping desktop and VR UI rendering aligned while
the retained OpenVR app path is split incrementally.
the retained OpenVR app path is split incrementally; its retained callback
endpoints now reuse the shared UI GL bridge.
VR draw blend/depth state snapshots, transitions, restore, and depth-buffer
clears, active texture unit switches, and fallback 2D texture unbinds now use
generic tested `pp_renderer_gl` capability query/apply, clear, active-texture,
and texture-bind dispatch contracts, reducing direct OpenGL execution in the
retained VR app path without changing state restore behavior.
retained VR app path without changing state restore behavior. The remaining
retained VR draw adapter endpoints for these calls now share
`legacy_ui_gl_dispatch`.
The retained `gl_state` save/restore utility now snapshots and restores through
tested `pp_renderer_gl` saved-state dispatch contracts, covering capability
state, viewport, clear color, framebuffer/program bindings, active texture,
@@ -2592,6 +2598,13 @@ Results:
`legacy_gl_shader_dispatch`, and `legacy_gl_sampler_dispatch`, removing the
local raw state/copy callback cluster from `src/util.cpp` while renderer
state and framebuffer-copy execution remain retained under DEBT-0036.
- Retained app startup, app clear, app UI viewport/scissor, command-convert
renderer state, and desktop VR draw-state endpoints now share
`legacy_ui_gl_dispatch` for capability, blend equation, clear, viewport,
scissor, active-texture, and 2D texture-unbind callbacks, removing duplicated
local raw callback clusters from `src/app.cpp`, `src/app_commands.cpp`, and
`src/app_vr.cpp` while app/VR renderer execution remains retained under
DEBT-0036.
- Canvas draw-merge shader-blend selection now consumes the extracted
`pp_paint_renderer` stroke composite planner for current layer and primary
brush blend modes, while preserving legacy OpenGL compositing execution under