Add OpenGL renderer capability target
This commit is contained in:
@@ -88,13 +88,14 @@ Known local toolchain state:
|
||||
treating `windows-clangcl-asan` as a passing sanitizer gate.
|
||||
- Android arm64 headless configure/build passes through root CMake and the
|
||||
`platform-build` automation wrapper for `pp_foundation`, `pp_assets`,
|
||||
`pp_paint`, `pp_document`, `pp_renderer_api`, `pp_paint_renderer`,
|
||||
`pp_paint`, `pp_document`, `pp_renderer_api`, `pp_renderer_gl`,
|
||||
`pp_paint_renderer`,
|
||||
`pp_ui_core`, `pano_cli`, and their current headless test binaries,
|
||||
including foundation event/logging/task queue coverage, PNG metadata and
|
||||
decode, PPI header/layout, settings document, document
|
||||
snapshot/per-layer-frame/move/duration/face-pixel coverage, paint
|
||||
brush/stroke/stroke-script coverage, renderer shader descriptor coverage,
|
||||
UI color parsing, and layout XML parse coverage.
|
||||
brush/stroke/stroke-script coverage, renderer shader descriptor and OpenGL
|
||||
capability coverage, UI color parsing, and layout XML parse coverage.
|
||||
- `pano_cli inspect-image` reports PNG IHDR metadata as JSON and is covered by
|
||||
`pano_cli_inspect_png_metadata_smoke` with a tiny IHDR fixture.
|
||||
- `pano_cli inspect-project` reports validated PPI thumbnail/body byte layout,
|
||||
@@ -122,6 +123,10 @@ Known local toolchain state:
|
||||
- `pp_renderer_api` owns the canonical PanoPainter shader catalog consumed by
|
||||
the legacy OpenGL app initialization path; `pp_renderer_api_tests` validates
|
||||
catalog size, key entries, duplicate rejection, and bad path rejection.
|
||||
- `pp_renderer_gl` owns headless OpenGL runtime capability detection consumed
|
||||
by the legacy app initialization path; `pp_renderer_gl_capabilities_tests`
|
||||
validates framebuffer fetch, map-buffer alignment, desktop GL float support,
|
||||
GLES float/half-float extensions, and WebGL exclusion behavior.
|
||||
- `windows-msvc-vcpkg-headless` validates manifest install/configure/build/test
|
||||
for the current headless component matrix; see DEBT-0007 for remaining app
|
||||
and platform triplet migration.
|
||||
|
||||
@@ -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