diff options
Diffstat (limited to 'src/gpu/sequence.cc')
| -rw-r--r-- | src/gpu/sequence.cc | 8 |
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_); + } } |
