diff options
| author | skal <pascal.massimino@gmail.com> | 2026-03-23 08:07:31 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-03-23 08:07:31 +0100 |
| commit | 193fdc276a43ad94a961aa9214be27cfa879d225 (patch) | |
| tree | 83432123f8ef2f9ceec4ebf6062120a8bf9b45e7 /doc | |
| parent | 47312588d0ef37ea7ef19c97bc5089d419ae3cd9 (diff) | |
- HOWTO.md: replace manual set_cnn_output_node() instructions with
wire_dag() auto-wiring explanation; add timeline.seq snippet as canonical
wiring example; document F16X8/GBUF_ALBEDO format requirement
- CNN_V3.md: fix prev_tex format (rgba16float, not rgba8unorm);
mark timeline.seq CNNv3Effect TODO as done
- SEQUENCE.md: already updated in previous commit (wire_dag pattern,
format-matching rule, sink guard)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/SEQUENCE.md | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/doc/SEQUENCE.md b/doc/SEQUENCE.md index ca45756..3d7a6ce 100644 --- a/doc/SEQUENCE.md +++ b/doc/SEQUENCE.md @@ -132,7 +132,8 @@ class MyEffect : public Effect { void set_source_node(const std::string& n) { source_node_ = n; } void declare_nodes(NodeRegistry& reg) override { - reg.declare_node(node_prev_, NodeType::U8X4_NORM, -1, -1); + // Use a NodeType whose format matches source_node_ and has CopyDst. + reg.declare_node(node_prev_, NodeType::F16X8, -1, -1); } void render(...) override { @@ -221,7 +222,10 @@ if (!src_tex) return; // external view — no owned texture to copy - `GBUF_RGBA32UINT`: RGBA32Uint — packed feature textures (CNN v3 feat_tex0/1); `STORAGE_BINDING|TEXTURE_BINDING` **`COPY_SRC|COPY_DST`** is required on any node used with `wgpuCommandEncoderCopyTextureToTexture`. -`U8X4_NORM` has both; use it for temporal feedback dest nodes. +The `node_prev_` format **must match** the source texture format exactly — +`CopyTextureToTexture` requires identical formats. `F16X8` (Rgba16Float, +`CopySrc|CopyDst`) matches `GBUF_ALBEDO` (CNNv3Effect output). Use `U8X4_NORM` +only when the source is also Rgba8Unorm. **Aliasing**: Compiler detects ping-pong patterns (Effect i writes A reads B, Effect i+1 writes B reads A) and aliases nodes to same backing texture. |
