Plan recorded OpenGL command streams

This commit is contained in:
2026-06-02 20:48:49 +02:00
parent ce33eaaef2
commit 9a4c595f64
5 changed files with 242 additions and 4 deletions

View File

@@ -273,7 +273,11 @@ Known local toolchain state:
commands and maps render-pass clear masks/values, viewport/scissor state,
blend/depth/sampler state, texture formats, primitive modes, draw counts, and
blit filters into GL-facing planned command data while rejecting unsupported
enum tokens before a real GL context is needed.
enum tokens before a real GL context is needed. It also plans whole recorded
command streams, preserving per-command planned data while counting render
passes, draws, passthrough commands, trace commands, unsupported commands,
and render-pass ordering errors such as state changes outside a pass, nested
passes, and unclosed passes.
Desktop VR drawing also consumes backend-owned scissor/depth/blend state,
depth clear masks, active texture units, and fallback 2D texture unbind
targets while retaining the existing VR SDK/platform bridge shape.

View File

@@ -532,7 +532,11 @@ 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
blit filters into GL-facing planned command data with explicit unsupported-token
rejection before a runtime GL context is needed.
rejection before a runtime GL context is needed. It also plans whole recorded
command streams, preserving per-command planned data while counting render
passes, draws, passthrough commands, trace commands, unsupported commands, and
render-pass ordering errors such as state changes outside a pass, nested passes,
and unclosed passes.
The existing renderer classes are not yet fully
behind the renderer interfaces.
@@ -843,8 +847,9 @@ Results:
- `pp_renderer_gl_command_plan_tests` covers the headless OpenGL command
planner for recorded render-pass clear masks/values, viewport/scissor state,
blend/depth/sampler state, texture format mapping, mesh/draw primitive modes,
draw counts, blit filters, planned command names, and unsupported enum
rejection.
draw counts, blit filters, planned command names, unsupported enum rejection,
whole recorded stream planning, valid trace/render/draw/blit ordering, and
broken render-pass order detection.
- PowerShell analyze automation returns JSON summaries and includes the shader
validation target and renderer-boundary guard.
- `windows-msvc-vcpkg-headless` configured through the Visual Studio bundled