blob: 4f778b321456d80f6e11cb33ee3bdb5e080e05b2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
/* SPDX-License-Identifier: GPL-2.0-or-later */
#pragma once
#include "BLI_vector_set.hh"
#include "NOD_derived_node_tree.hh"
namespace blender::realtime_compositor {
using namespace nodes::derived_node_tree_types;
/* A type representing the ordered set of nodes defining the schedule of node execution. */
using Schedule = VectorSet<DNode>;
/* Computes the execution schedule of the node tree. This is essentially a post-order depth first
* traversal of the node tree from the output node to the leaf input nodes, with informed order of
* traversal of dependencies based on a heuristic estimation of the number of needed buffers. */
Schedule compute_schedule(DerivedNodeTree &tree);
} // namespace blender::realtime_compositor
|