Add OpenGL renderer capability target
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user