summaryrefslogtreecommitdiff
path: root/src/gpu/effect_v2.cc
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-16 08:26:45 +0100
committerskal <pascal.massimino@gmail.com>2026-02-16 08:26:45 +0100
commit9d1d4df877f96f1970dce2ab30cfae49d3d796e1 (patch)
tree681298bc46a58890f2b5581c16a05a4272ef4ed3 /src/gpu/effect_v2.cc
parent7947a1230e526eb17ca0252f81d19c18811bd355 (diff)
feat(sequence): Phase 1 - Sequence v2 foundation
- Add Node system with typed buffers (u8x4_norm, f32x4, f16x8, depth24) - Add NodeRegistry with aliasing support for ping-pong optimization - Add SequenceV2 base class with DAG execution - Add EffectV2 base class with multi-input/multi-output - Add comprehensive tests (5 test cases, all passing) - Corrected FATAL_CHECK usage (checks ERROR conditions, not success) Phase 1 complete: Core v2 architecture functional. Next: Phase 2 compiler (seq_compiler_v2.py) handoff(Claude): Phase 1 foundation complete, all tests passing (35/35)
Diffstat (limited to 'src/gpu/effect_v2.cc')
-rw-r--r--src/gpu/effect_v2.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/gpu/effect_v2.cc b/src/gpu/effect_v2.cc
new file mode 100644
index 0000000..79a14b4
--- /dev/null
+++ b/src/gpu/effect_v2.cc
@@ -0,0 +1,11 @@
+// EffectV2 implementation
+
+#include "gpu/effect_v2.h"
+#include "util/fatal_error.h"
+
+EffectV2::EffectV2(const GpuContext& ctx, const std::vector<std::string>& inputs,
+ const std::vector<std::string>& outputs)
+ : ctx_(ctx), input_nodes_(inputs), output_nodes_(outputs) {
+ FATAL_CHECK(inputs.empty(), "Effect must have at least one input\n");
+ FATAL_CHECK(outputs.empty(), "Effect must have at least one output\n");
+}