diff options
Diffstat (limited to 'src/effects/cnn_v2_effect.h')
| -rw-r--r-- | src/effects/cnn_v2_effect.h | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/effects/cnn_v2_effect.h b/src/effects/cnn_v2_effect.h index d530d3b..7960b4f 100644 --- a/src/effects/cnn_v2_effect.h +++ b/src/effects/cnn_v2_effect.h @@ -11,7 +11,7 @@ struct CNNv2EffectParams { }; class CNNv2Effect : public PostProcessEffect { -public: + public: explicit CNNv2Effect(const GpuContext& ctx); explicit CNNv2Effect(const GpuContext& ctx, const CNNv2EffectParams& params); ~CNNv2Effect(); @@ -29,7 +29,7 @@ public: beat_scale_ = scale; } -private: + private: struct LayerInfo { uint32_t kernel_size; uint32_t in_channels; @@ -67,12 +67,13 @@ private: WGPUSampler linear_sampler_; // CNN layers (storage buffer architecture) - WGPUComputePipeline layer_pipeline_; // Single pipeline for all layers - WGPUBuffer weights_buffer_; // Storage buffer for weights - std::vector<WGPUBuffer> layer_params_buffers_; // Uniform buffers (one per layer) - std::vector<LayerInfo> layer_info_; // Layer metadata - std::vector<WGPUBindGroup> layer_bind_groups_; // Per-layer bind groups - std::vector<WGPUTexture> layer_textures_; // Ping-pong buffers + WGPUComputePipeline layer_pipeline_; // Single pipeline for all layers + WGPUBuffer weights_buffer_; // Storage buffer for weights + std::vector<WGPUBuffer> + layer_params_buffers_; // Uniform buffers (one per layer) + std::vector<LayerInfo> layer_info_; // Layer metadata + std::vector<WGPUBindGroup> layer_bind_groups_; // Per-layer bind groups + std::vector<WGPUTexture> layer_textures_; // Ping-pong buffers std::vector<WGPUTextureView> layer_views_; // Input mips |
