Move canvas depth renderbuffers into GL backend

This commit is contained in:
2026-06-04 20:50:44 +02:00
parent f55b1882c0
commit b9dbcd10d7
6 changed files with 357 additions and 44 deletions

View File

@@ -286,7 +286,9 @@ Known local toolchain state:
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, plus RTT
clear color/depth masks, renderer API render-pass color/depth/stencil
clear color/depth masks. Canvas object-drawing depth renderbuffer
allocation/storage/delete and framebuffer depth attach/detach also execute
through tested dispatch contracts here. Renderer API render-pass color/depth/stencil
clear-mask and clear-value mapping, and color-write-mask query tokens. `RTT` no longer
spells GL enum names directly. It also
validates renderer API primitive-topology to OpenGL draw-mode mapping, Shape
@@ -421,9 +423,9 @@ Known local toolchain state:
backend-owned depth/blend state and active texture units.
Canvas thumbnail generation and object-drawing helpers also consume
backend-owned saved viewport/clear/blend state, active texture units,
readback format/type, framebuffer copy targets, and renderbuffer/depth
attachment parameters; `src/canvas.cpp` no longer contains raw `GL_*`
constants.
readback format/type, framebuffer copy targets, and depth renderbuffer
allocation plus framebuffer depth attach/detach dispatch contracts;
`src/canvas.cpp` no longer contains raw `GL_*` constants.
Windows desktop OpenGL context creation now consumes a tested
`windows_wgl_core_context_3_3_config()` catalog from `pp_renderer_gl` instead
of owning active WGL context/pixel-format attribute literals in `main.cpp`.
@@ -610,7 +612,9 @@ Known local toolchain state:
the retained `Texture2D` utility, tested framebuffer blit/readback dispatch
consumed by retained `RTT` resize/copy/readback paths, tested framebuffer
bind/restore dispatch consumed by retained `RTT` render-target pass entry
and exit paths, tested convert-command state dispatch consumed by
and exit paths, tested depth renderbuffer allocation/delete and framebuffer
depth attach/detach dispatch consumed by canvas object-drawing helpers,
tested convert-command state dispatch consumed by
`App::cmd_convert`, tested render platform hint dispatch consumed by
`WindowsPlatformServices` and the retained macOS legacy fallback, tested
debug-output state dispatch consumed by `WindowsPlatformServices`, plus

View File

@@ -999,7 +999,9 @@ 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`. RTT clear color/depth masks, renderer API render-pass
`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
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
@@ -2021,9 +2023,9 @@ Results:
mapping.
- Canvas thumbnail generation and object-drawing helpers now route saved
viewport/clear/blend state, active texture units, readback format/type,
framebuffer copy targets, and renderbuffer/depth attachment parameters through
the renderer GL backend mapping; `src/canvas.cpp` no longer contains raw
`GL_*` constants.
framebuffer copy targets, and depth renderbuffer allocation plus framebuffer
depth attach/detach through tested renderer GL backend dispatch contracts;
`src/canvas.cpp` no longer contains raw `GL_*` constants.
- Windows desktop OpenGL context creation now consumes a tested
`windows_wgl_core_context_3_3_config()` catalog from `pp_renderer_gl`, moving
the active WGL context/pixel-format attribute literals out of the platform