Move shader feature negotiation into renderer backend

This commit is contained in:
2026-06-04 19:49:06 +02:00
parent 1057dd488a
commit f2cb0f2276
7 changed files with 171 additions and 35 deletions

View File

@@ -680,6 +680,13 @@ OpenGL extension enumeration now also lives in `pp_renderer_gl` through a
dispatch-tested `query_opengl_extensions` helper; shader startup still logs and
applies the resulting feature flags, but the GL extension query loop is no
longer app-owned.
OpenGL shader startup feature negotiation now also flows through
`pp_renderer_gl::query_opengl_capability_detection` and
`detect_opengl_feature_state`, so extension enumeration, desktop/GLES/WebGL
capability policy, and renderer-neutral feature conversion are tested together
behind the backend boundary. `App::initShaders` remains a legacy adapter that
copies the backend-owned feature snapshot into retained `ShaderManager` static
flags until `ShaderManager` itself becomes an OpenGL backend service.
Prepared-file save/download handoff is now also part of the service contract,
so iOS/Web export completion routes through `PlatformServices` after the app
writes the temporary/exported payload.