summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/SEQUENCE.md8
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.