summaryrefslogtreecommitdiff
path: root/src/gpu/sequence.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpu/sequence.cc')
-rw-r--r--src/gpu/sequence.cc8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/gpu/sequence.cc b/src/gpu/sequence.cc
index 91ca187..6bff34e 100644
--- a/src/gpu/sequence.cc
+++ b/src/gpu/sequence.cc
@@ -269,6 +269,11 @@ void Sequence::render_effects(WGPUCommandEncoder encoder) {
for (const auto& dag_node : effect_dag_) {
dag_node.effect->dispatch_render(encoder, params_, nodes_);
}
+ // End-of-frame hook: allows effects to persist data for the next frame
+ // (e.g. temporal feedback copies) after all rendering is done.
+ for (const auto& dag_node : effect_dag_) {
+ dag_node.effect->post_render(encoder, nodes_);
+ }
}
void Sequence::resize(int width, int height) {
@@ -286,4 +291,7 @@ void Sequence::init_effect_nodes() {
for (auto& dag_node : effect_dag_) {
dag_node.effect->declare_nodes(nodes_);
}
+ for (auto& dag_node : effect_dag_) {
+ dag_node.effect->wire_dag(effect_dag_);
+ }
}