Plan OpenGL shader command metadata

This commit is contained in:
2026-06-02 21:02:24 +02:00
parent b6a25474ff
commit 1dcd96ab36
7 changed files with 119 additions and 30 deletions

View File

@@ -275,10 +275,11 @@ Known local toolchain state:
blit filters into GL-facing planned command data while rejecting unsupported
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, texture uploads, mipmap generation, texture transitions,
texture copies, texture readbacks, frame captures, passthrough commands,
trace commands, unsupported commands, and render-pass ordering errors such as
state changes outside a pass, nested passes, and unclosed passes.
passes, draws, shader binds, shader uniforms, texture uploads, mipmap
generation, texture transitions, texture copies, texture readbacks, frame
captures, 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.
@@ -343,9 +344,9 @@ Known local toolchain state:
labeled descriptor counts, backend resource creation counts, plus draw
descriptor vertex/index totals. When `pp_renderer_gl` is available, it also
emits an `openGlPlan` JSON object with the planned command count, support
status, render-pass/draw/texture-upload/mipmap/transition/copy/readback/
capture/passthrough/trace counts, unsupported command count, render-pass
order error count, and unclosed-pass state. Its
status, render-pass/draw/shader-bind/uniform/texture-upload/mipmap/
transition/copy/readback/capture/passthrough/trace counts, unsupported
command count, render-pass order error count, and unclosed-pass state. Its
`--exercise-clear` mode verifies
interrupted-frame recorder clear/reuse behavior and reports the result in
JSON, and is covered by `pano_cli_record_render_smoke`,

View File

@@ -534,10 +534,11 @@ 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. It also plans whole recorded
command streams, preserving per-command planned data while counting render
passes, draws, texture uploads, mipmap generation, texture transitions, texture
copies, texture readbacks, frame captures, passthrough commands, trace
commands, unsupported commands, and render-pass ordering errors such as state
changes outside a pass, nested passes, and unclosed passes.
passes, draws, shader binds, shader uniforms, texture uploads, mipmap
generation, texture transitions, texture copies, texture readbacks, frame
captures, 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.
@@ -848,11 +849,11 @@ 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, texture upload/mipmap/transition/copy/readback/capture metadata,
blit filters and byte totals, planned command names, unsupported enum/state
rejection, whole recorded stream planning, valid trace/render/draw/blit
ordering, typed texture-command counts, and broken render-pass order
detection.
draw counts, shader bind/uniform names and byte counts, texture
upload/mipmap/transition/copy/readback/capture metadata, blit filters and
byte totals, planned command names, unsupported enum/state rejection, whole
recorded stream planning, valid trace/render/shader/draw/blit ordering, typed
texture-command counts, 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
@@ -895,10 +896,10 @@ Results:
shader-uniform/texture/sampler-bind/upload/mipmap-generation/texture-transition/texture-copy/readback/
frame-capture/blit command/byte totals for agent automation. When
`pp_renderer_gl` is available, it also emits an `openGlPlan` JSON object with
planned command count, support status, render-pass/draw/texture-upload/
mipmap/transition/copy/readback/capture/passthrough/trace counts,
unsupported command count, render-pass order error count, and unclosed-pass
state. The
planned command count, support status, render-pass/draw/shader-bind/uniform/
texture-upload/mipmap/transition/copy/readback/capture/passthrough/trace
counts, unsupported command count, render-pass order error count, and
unclosed-pass state. The
`--exercise-clear` mode deliberately clears an interrupted trace/render pass,
verifies stale trace-scope state is rejected, verifies the render context can
be reused, and then emits that reset status in JSON. It also has an