| … | 207 unchanged lines hidden |
| 208 |
208 |
|
|
| 209 |
209 |
|
Targets can be present or offscreen. Target desc owns size, format, load/store, clear values, and sample/present usage. |
| 210 |
210 |
|
|
| 211 |
|
- |
Clips start with rect/scissor. Mask clips are semantic `Clip_Handle` records whose source is geometry coverage rendered into stencil. The backend stencil contract exists below the IR: render pass descriptors carry stencil load/store, packed depth-stencil formats expose a stencil aspect, pipeline state carries front/back compare/ops/masks/ref, and each backend maps that state to native stencil state. Planned mask lowering and proof scenes are still pending. |
|
211 |
+ |
Clips start with rect/scissor. Mask clips are semantic `Clip_Handle` records whose source is geometry coverage rendered into stencil. The backend stencil contract exists below the IR: render pass descriptors carry stencil load/store, packed depth-stencil formats expose a stencil aspect, pipeline state carries front/back compare/ops/masks/ref, and each backend maps that state to native stencil state. Planned mask lowering is implemented as stencil-write plus stencil-test draw variants, and proof scenes exist for trusted readback validation. |
| 212 |
212 |
|
|
| 213 |
213 |
|
`gpu` may drop packets fully outside target bounds or clip bounds. It must not decide semantic hidden state. |
| 214 |
214 |
|
|
| … | 15 unchanged lines hidden |
| 230 |
230 |
|
|
| 231 |
231 |
|
- `max_color_targets` reports the implemented color attachment count. Vulkan, D3D11, D3D12, and OpenGL currently report `8` because planned IR lowering, render pass/framebuffer arrays, pipeline color-attachment metadata, and backend RTV/FBO/render-pass binding support are implemented across all targets. |
| 232 |
232 |
|
- `max_push_constant_size` reports the implemented push-constant byte limit for the selected backend. Pipeline and compute-shader creation must reject sizes above this limit. |
| 233 |
|
- |
- `Multiple_Render_Targets` and `Indirect_Draws` are implemented for the planned backend path. Mask clip IR and backend stencil descriptor/state plumbing exist, but `Stencil_Clips` remains false until planned mask lowering, synchronization diagnostics, visual proof scenes, and runtime matrix rows pass across all required backends. Texture-alpha/discard masking does not count as stencil clipping. |
|
233 |
+ |
- `Multiple_Render_Targets`, `Indirect_Draws`, and `Stencil_Clips` are implemented for the planned backend path. `Stencil_Clips` means the public IR, planned lowering, and backend stencil state contract are wired end-to-end; the runtime parity ledger remains open until trusted readback matrix rows pass across the required Vulkan, OpenGL, D3D11, and D3D12 backends. Texture-alpha/discard masking does not count as stencil clipping. |
| 234 |
234 |
|
|
| 235 |
235 |
|
Public API must not expose Vulkan/D3D-specific terms except through backend-only layers. |
| 236 |
236 |
|
|
| … | 28 unchanged lines hidden |