Route VR and startup GL state through backend

This commit is contained in:
2026-06-04 20:37:38 +02:00
parent 967a15f15f
commit f55b1882c0
7 changed files with 116 additions and 26 deletions

View File

@@ -781,7 +781,9 @@ delegates to the backend dispatch path instead of hard-coding the policy or
operation order.
OpenGL runtime version/vendor/renderer/GLSL string queries now also use a
tested `pp_renderer_gl` dispatch contract, leaving `App::init` to log the
result while the backend owns the query set and order.
result while the backend owns the query set and order. The Windows entrypoint
also uses that contract for early context logging and renderer-name window
title construction before replacing the temporary WGL context.
The default app clear color and color-buffer clear operation now dispatch
through `pp_renderer_gl` as well, moving another direct OpenGL operation out
of `App::clear` while preserving the current gray clear behavior.
@@ -792,10 +794,10 @@ the live OpenGL call sequence.
VR UI framebuffer viewport and scissor-test setup now also consumes those
`pp_renderer_gl` contracts, keeping desktop and VR UI rendering aligned while
the retained OpenVR app path is split incrementally.
VR draw blend/depth state transitions and depth-buffer clears now use generic
tested `pp_renderer_gl` capability and clear dispatch contracts, reducing
direct OpenGL execution in the retained VR app path without changing state
restore behavior.
VR draw blend/depth state snapshots, transitions, restore, and depth-buffer
clears now use generic tested `pp_renderer_gl` capability query/apply and clear
dispatch contracts, reducing direct OpenGL execution in the retained VR app
path without changing state restore behavior.
The retained `gl_state` save/restore utility now snapshots and restores through
tested `pp_renderer_gl` saved-state dispatch contracts, covering capability
state, viewport, clear color, framebuffer/program bindings, active texture,
@@ -1081,7 +1083,8 @@ longer expose raw OpenGL enum defaults; default texture formats, sampler
filters/wraps, and render-target formats are resolved through backend-owned
overloads.
The Windows entrypoint now delegates generic OpenGL error-code/info-string
tokens and WGL core-context/pixel-format attribute catalogs to `pp_renderer_gl`.
tokens, runtime string query ordering, and WGL core-context/pixel-format
attribute catalogs to `pp_renderer_gl`.
The headless OpenGL command planner now consumes `pp_renderer_api` recorded
commands and maps render-pass clear masks/values, viewport/scissor state,
blend/depth/sampler state, texture formats, primitive modes, draw counts, and
@@ -1966,9 +1969,9 @@ Results:
- Android arm64 configured with NDK 29.0.14206865 through the platform-build
wrapper and compiled headless foundation/tool/test targets.
- Desktop VR drawing now routes generic OpenGL scissor/depth/blend state,
depth clears, active texture units, and fallback 2D texture unbinds through
the renderer GL backend mapping; platform VR SDK bridges remain isolated for
later platform-shell extraction.
blend/depth state snapshots and restores, depth clears, active texture units,
and fallback 2D texture unbinds through the renderer GL backend mapping;
platform VR SDK bridges remain isolated for later platform-shell extraction.
- Canvas mode overlay, mask, and transform paths now route generic OpenGL
blend/depth state, active texture units, 2D copy targets, and RGBA8
readback formats through the renderer GL backend mapping.