Add renderer scissor state contract
This commit is contained in:
@@ -285,14 +285,15 @@ Known local toolchain state:
|
||||
source code reintroduces raw `GL_*`/`WGL_*` constants outside the allowed
|
||||
legacy OpenGL implementation files.
|
||||
- `pp_renderer_api` exposes a headless `RecordingRenderDevice` that validates
|
||||
command order, blend state, texture-slot binding, texture-upload byte counts,
|
||||
readback bounds, frame-capture sources, destination buffer sizes, and
|
||||
render-target blit regions, records render/blend/texture-bind/upload/
|
||||
readback/frame-capture/blit commands, and records trace markers without a
|
||||
window or GL context.
|
||||
command order, scissor state, blend state, texture-slot binding,
|
||||
texture-upload byte counts, readback bounds, frame-capture sources,
|
||||
destination buffer sizes, and render-target blit regions, records
|
||||
render/scissor/blend/texture-bind/upload/readback/frame-capture/blit
|
||||
commands, and records trace markers without a window or GL context.
|
||||
- `pano_cli record-render` exposes the recording renderer through JSON
|
||||
automation, including blend/texture-bind/upload/readback/frame-capture/blit
|
||||
command and byte totals, and is covered by `pano_cli_record_render_smoke` plus
|
||||
automation, including scissor/blend/texture-bind/upload/readback/frame-
|
||||
capture/blit command and byte totals, and is covered by
|
||||
`pano_cli_record_render_smoke` plus
|
||||
`pano_cli_record_render_rejects_oversized_target`.
|
||||
- `pano_cli simulate-document-history` exposes `pp_document::DocumentHistory`
|
||||
apply/undo/redo state through JSON automation and is covered by
|
||||
|
||||
@@ -419,8 +419,9 @@ context, render device, shader program descriptor, mesh, render target,
|
||||
readback byte-size helpers, texture-upload/readback command validation,
|
||||
frame-capture byte-size helpers, frame-capture command validation,
|
||||
render-target blit validation, texture-slot binding validation, blend-state
|
||||
validation, trace interface validation, and the canonical PanoPainter shader
|
||||
catalog now consumed by the legacy OpenGL app initialization path.
|
||||
validation, scissor-state validation, trace interface validation, and the
|
||||
canonical PanoPainter shader 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. It also owns the OpenGL texture upload-type mapping used
|
||||
@@ -722,8 +723,9 @@ Results:
|
||||
PanoPainter shader catalog validation, readback byte-size and command-order
|
||||
validation, texture-upload byte-count validation, frame-capture byte-size and
|
||||
command-order validation, render-target blit validation, texture-slot binding
|
||||
validation, blend-state validation, recording blend/texture-bind/upload/
|
||||
readback/frame-capture/blit command capture, and invalid catalog rejection.
|
||||
validation, blend-state validation, scissor-state validation, recording
|
||||
scissor/blend/texture-bind/upload/readback/frame-capture/blit command
|
||||
capture, and invalid catalog rejection.
|
||||
- `pp_paint_renderer_compositor_tests` passed.
|
||||
- `pp_ui_core_color_tests` passed.
|
||||
- `pp_ui_core_layout_value_tests` passed.
|
||||
@@ -817,16 +819,16 @@ Results:
|
||||
reintroduces raw `GL_*`/`WGL_*` constants outside the allowed legacy OpenGL
|
||||
implementation files.
|
||||
- `pp_renderer_api` now includes a headless `RecordingRenderDevice` with strict
|
||||
command-order/blend-state/texture-bind/texture-upload/readback/frame-capture/
|
||||
blit validation; it records commands, trace markers, blend state, texture
|
||||
binds, uploads/readbacks, frame captures, and render-target blits, giving
|
||||
automation a backend-neutral render path that does not require a window or GL
|
||||
context.
|
||||
command-order/scissor-state/blend-state/texture-bind/texture-upload/readback/
|
||||
frame-capture/blit validation; it records commands, trace markers, scissor
|
||||
state, blend state, texture binds, uploads/readbacks, frame captures, and
|
||||
render-target blits, giving automation a backend-neutral render path that
|
||||
does not require a window or GL context.
|
||||
- `pano_cli record-render` exercises that headless recording renderer and emits
|
||||
JSON command counts, target dimensions, backend name, trace/draw summary, and
|
||||
blend-state plus texture-bind/upload/readback/frame-capture/blit command/byte
|
||||
totals for agent automation, with an expected-failure smoke for oversized
|
||||
render/readback targets.
|
||||
scissor/blend-state plus texture-bind/upload/readback/frame-capture/blit
|
||||
command/byte totals for agent automation, with an expected-failure smoke for
|
||||
oversized render/readback targets.
|
||||
- `pano_cli simulate-document-history` exercises pure document history
|
||||
apply/undo/redo behavior and emits JSON layer/frame/history state for agent
|
||||
automation.
|
||||
|
||||
Reference in New Issue
Block a user