diff options
| author | skal <pascal.massimino@gmail.com> | 2026-02-12 11:39:24 +0100 |
|---|---|---|
| committer | skal <pascal.massimino@gmail.com> | 2026-02-12 11:39:24 +0100 |
| commit | 542958a8e97f8a000a9c8434408884cb9cb63705 (patch) | |
| tree | 611474c630b8ae983b440d2e57da7decae83ff23 /src/gpu/effects/cnn_v2_effect.h | |
| parent | 91d42f2d057e077c267d6775cc109a801aa315c0 (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.h | 3 |
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_; }; |
