Route paint UI clear state through GL backend

This commit is contained in:
2026-06-04 23:05:19 +02:00
parent b65db6f617
commit b8c7cd6e99
8 changed files with 330 additions and 40 deletions

View File

@@ -1110,17 +1110,20 @@ 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`.
`NodeStrokePreview` brush preview rendering now delegates depth/scissor/blend
state, viewport/clear-color queries, active texture unit execution, fallback
2D texture unbinds, 2D texture targets, copy targets, sampler filters/wraps,
and destination-feedback copy/fetch decisions to `pp_renderer_gl` and
`pp_paint_renderer`. Its live stroke-mixer and brush-preview viewport,
scissor, and depth/blend state changes now also execute through tested
`pp_renderer_gl` dispatch with only local OpenGL adapter endpoints retained.
state, tested viewport/clear-color query dispatch, clear-color restore, active
texture unit execution, fallback 2D texture unbinds, 2D texture targets, copy
targets, sampler filters/wraps, and destination-feedback copy/fetch decisions
to `pp_renderer_gl` and `pp_paint_renderer`. Its live stroke-mixer and
brush-preview viewport, scissor, and depth/blend state changes now also
execute through tested `pp_renderer_gl` dispatch with only local OpenGL adapter
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.
dispatch contracts. `NodeCanvas` saved viewport/clear-color query, density
target color clear, and clear-color restore paths also use tested
`pp_renderer_gl` dispatch helpers.
Desktop HMD eye rendering now routes eye framebuffer viewport changes through
the tested `pp_renderer_gl` viewport dispatch while platform VR SDK bridges
remain isolated for later platform-shell extraction.
@@ -2027,11 +2030,13 @@ Results:
renderer GL backend mapping. The retained canvas-tip pick readback remains
direct legacy OpenGL until the readback boundary is finished under DEBT-0036.
- `NodeCanvas` panorama UI rendering now routes sampler defaults, saved
viewport/clear/blend/depth/scissor state, color clears, active texture units,
viewport/clear/blend/depth/scissor state, tested viewport and clear-color
query dispatch, color clears, clear-color restore, active texture units,
fallback 2D texture unbinds, 2D framebuffer-to-texture copy dispatch, and
RGBA8 render-target formats through the renderer GL backend mapping.
Its live viewport and generic blend/depth/scissor capability changes now
execute through tested `pp_renderer_gl` dispatch adapters.
Its live viewport, generic blend/depth/scissor capability changes, and
density/offscreen color-buffer clears now execute through tested
`pp_renderer_gl` dispatch adapters.
- 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
@@ -2066,6 +2071,10 @@ Results:
`NodeBorder`, `NodeImage`, `NodeImageTexture`, `NodeColorWheel`,
`NodeAnimationTimeline`, `NodeScroll`, `NodeText`, `NodeTextInput`, and
`NodeViewport` without changing their legacy draw ordering.
- Retained paint UI surface paths now use tested `pp_renderer_gl` viewport
query, clear-color query, clear-color restore, and color-buffer clear helpers
in `NodeCanvas` and `NodeStrokePreview`, removing direct query/clear calls
from those draw bodies while keeping their legacy compositing order.
- 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