summaryrefslogtreecommitdiff
path: root/src/gpu/effects/cnn_v2_effect.h
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-02-12 11:39:24 +0100
committerskal <pascal.massimino@gmail.com>2026-02-12 11:39:24 +0100
commit542958a8e97f8a000a9c8434408884cb9cb63705 (patch)
tree611474c630b8ae983b440d2e57da7decae83ff23 /src/gpu/effects/cnn_v2_effect.h
parent91d42f2d057e077c267d6775cc109a801aa315c0 (diff)
CNN v2 Phase 5: render pipeline implementation
Complete multi-pass compute execution for CNNv2Effect. Implementation: - Layer texture creation (ping-pong buffers for intermediate results) - Static features compute pipeline with bind group layout - Bind group creation with 5 bindings (input mips + depth + output) - compute() override for multi-pass execution - Static features pass with proper workgroup dispatch Architecture: - Static features: 8×f16 packed as 4×u32 (RGBD + UV + sin + bias) - Layer buffers: 2×RGBA32Uint textures (8 channels f16 each) - Input mips: 3 levels (0, 1, 2) for multi-scale features - Workgroup size: 8×8 threads Status: - Static features compute pass functional - Layer pipeline infrastructure ready - All 36/36 tests passing Next: Layer shader integration, multi-layer execution Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
Diffstat (limited to 'src/gpu/effects/cnn_v2_effect.h')
-rw-r--r--src/gpu/effects/cnn_v2_effect.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/gpu/effects/cnn_v2_effect.h b/src/gpu/effects/cnn_v2_effect.h
index edf301e..facf4c3 100644
--- a/src/gpu/effects/cnn_v2_effect.h
+++ b/src/gpu/effects/cnn_v2_effect.h
@@ -12,6 +12,8 @@ public:
void init(MainSequence* demo) override;
void resize(int width, int height) override;
+ void compute(WGPUCommandEncoder encoder,
+ const CommonPostProcessUniforms& uniforms) override;
void render(WGPURenderPassEncoder pass,
const CommonPostProcessUniforms& uniforms) override;
void update_bind_group(WGPUTextureView input_view) override;
@@ -36,6 +38,7 @@ private:
// Input mips
WGPUTexture input_mip_tex_;
WGPUTextureView input_mip_view_[3];
+ WGPUTextureView current_input_view_; // Cached input from update_bind_group
bool initialized_;
};