summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/app/test_demo.cc2
-rw-r--r--src/gpu/post_process_helper.h14
-rw-r--r--src/gpu/sdf_effect.h2
-rw-r--r--src/tests/assets/test_sequence.cc6
4 files changed, 7 insertions, 17 deletions
diff --git a/src/app/test_demo.cc b/src/app/test_demo.cc
index cf1a577..83e6f8b 100644
--- a/src/app/test_demo.cc
+++ b/src/app/test_demo.cc
@@ -95,7 +95,7 @@ class PeakMeterEffect : public PostProcessEffectV2 {
}
void render(WGPURenderPassEncoder pass,
- const CommonPostProcessUniforms& uniforms) override {
+ const UniformsSequenceParams& uniforms) override {
uniforms_.update(ctx_.queue, uniforms);
PostProcessEffect::render(pass, uniforms);
}
diff --git a/src/gpu/post_process_helper.h b/src/gpu/post_process_helper.h
index 33ef20b..963f671 100644
--- a/src/gpu/post_process_helper.h
+++ b/src/gpu/post_process_helper.h
@@ -4,20 +4,10 @@
#pragma once
#include "gpu/gpu.h"
+#include "gpu/sequence.h"
#include "util/mini_math.h"
-// Uniform data common to all post-processing effects
-struct CommonPostProcessUniforms {
- vec2 resolution; // Screen dimensions
- float aspect_ratio; // Width/height ratio
- float time; // Physical time in seconds (unaffected by tempo)
- float beat_time; // Musical time in beats (absolute, tempo-scaled)
- float beat_phase; // Fractional beat (0.0-1.0 within current beat)
- float audio_intensity; // Audio peak for beat sync
- float _pad; // Padding for 16-byte alignment
-};
-static_assert(sizeof(CommonPostProcessUniforms) == 32,
- "CommonPostProcessUniforms must be 32 bytes for WGSL alignment");
+// Use UniformsSequenceParams (defined in sequence.h) for post-process effects
// Standard post-process bind group layout (group 0):
#define PP_BINDING_SAMPLER 0 // Sampler for input texture
diff --git a/src/gpu/sdf_effect.h b/src/gpu/sdf_effect.h
index 4f23604..aacea69 100644
--- a/src/gpu/sdf_effect.h
+++ b/src/gpu/sdf_effect.h
@@ -12,7 +12,7 @@
// Provides CameraParams uniform buffer and helper methods
//
// Binding convention:
-// @group(0) @binding(2): CommonPostProcessUniforms (from Effect base)
+// @group(0) @binding(2): UniformsSequenceParams (from Effect base)
// @group(0) @binding(3): CameraParams
// @group(0) @binding(4+): Per-effect custom parameters
class SDFEffect : public Effect {
diff --git a/src/tests/assets/test_sequence.cc b/src/tests/assets/test_sequence.cc
index edf5c2d..445e44b 100644
--- a/src/tests/assets/test_sequence.cc
+++ b/src/tests/assets/test_sequence.cc
@@ -42,13 +42,13 @@ class DummyEffect : public Effect {
++start_calls;
}
void render(WGPURenderPassEncoder pass,
- const CommonPostProcessUniforms& uniforms) override {
+ const UniformsSequenceParams& uniforms) override {
++render_calls;
(void)pass;
(void)uniforms;
}
void compute(WGPUCommandEncoder encoder,
- const CommonPostProcessUniforms& uniforms) override {
+ const UniformsSequenceParams& uniforms) override {
(void)encoder;
(void)uniforms;
}
@@ -75,7 +75,7 @@ class DummyPostProcessEffect : public PostProcessEffect {
(void)demo;
}
void render(WGPURenderPassEncoder pass,
- const CommonPostProcessUniforms& uniforms) override {
+ const UniformsSequenceParams& uniforms) override {
++render_calls;
(void)pass;
(void)uniforms;