summaryrefslogtreecommitdiff
path: root/src/gpu/effect.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/effect.cc')
-rw-r--r--src/gpu/effect.cc6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/gpu/effect.cc b/src/gpu/effect.cc
index d0693ec..a94b4a0 100644
--- a/src/gpu/effect.cc
+++ b/src/gpu/effect.cc
@@ -15,6 +15,7 @@ Effect::Effect(const GpuContext& ctx, const std::vector<std::string>& inputs,
FATAL_CHECK(start_time <= end_time, "Invalid time range: %f > %f\n",
start_time, end_time);
HEADLESS_RETURN_IF_NULL(ctx_.device);
+ uniforms_buffer_.init(ctx_.device);
}
void Effect::dispatch_render(WGPUCommandEncoder encoder,
@@ -28,6 +29,7 @@ void Effect::dispatch_render(WGPUCommandEncoder encoder,
if (!active && input_nodes_.size() == 1 && output_nodes_.size() == 1) {
blit_input_to_output(encoder, nodes);
} else if (active) {
+ uniforms_buffer_.update(ctx_.queue, params);
render(encoder, params, nodes);
}
// Multi-output effects: output undefined when inactive (validated at compile time)
@@ -57,10 +59,6 @@ void Effect::blit_input_to_output(WGPUCommandEncoder encoder,
&extent);
}
-void Effect::init_uniforms_buffer() {
- uniforms_buffer_.init(ctx_.device);
-}
-
void Effect::create_linear_sampler() {
sampler_.set(gpu_create_linear_sampler(ctx_.device));
}