Add OpenGL renderer capability target

This commit is contained in:
2026-06-01 17:44:00 +02:00
parent d61c7f37c3
commit 9ab73a0354
10 changed files with 236 additions and 25 deletions

View File

@@ -384,8 +384,12 @@ Status: started. `pp_renderer_api` exists as a headless renderer-neutral target
with texture descriptor, byte-size, viewport, mesh, readback bounds, command
context, render device, shader program descriptor, mesh, render target,
readback, trace interface validation, and the canonical PanoPainter shader
catalog now consumed by the legacy OpenGL app initialization path. OpenGL
classes are not yet behind these interfaces.
catalog now consumed by the legacy OpenGL app initialization path.
`pp_renderer_gl` now exists as the first OpenGL backend library and owns pure
OpenGL capability detection for framebuffer fetch, map-buffer alignment, and
float texture support. The legacy app delegates extension interpretation to
that backend library, but the existing renderer classes are not yet fully
behind the renderer interfaces.
Implementation tasks:
@@ -404,6 +408,8 @@ Implementation tasks:
- `Sampler`
- `ShaderManager`
- `Shape`
- Keep OpenGL runtime capability decisions in `pp_renderer_gl` with headless
tests before moving GL object lifetimes behind backend types.
- Preserve current shader behavior and asset paths.
- Add deterministic GPU tests:
- clear
@@ -619,6 +625,10 @@ Results:
aggregate stroke-script counts/distances.
- `panopainter_validate_shaders` passed, validating 25 shader programs and 7
shader includes for stage markers and include graph integrity.
- `pp_renderer_gl_capabilities_tests` passed on default MSVC, vcpkg-headless,
and Android arm64 configure/build, covering framebuffer fetch, map-buffer
alignment, desktop GL core float support, GLES float/half-float extensions,
and WebGL exclusion behavior.
- PowerShell analyze automation returns JSON summaries and includes the shader
validation target.
- `windows-msvc-vcpkg-headless` configured through the Visual Studio bundled