Compositor: Fix execution system unset during constant folding
This commit is contained in:
@@ -64,7 +64,7 @@ ExecutionSystem::ExecutionSystem(RenderData *rd,
|
|||||||
this->m_context.setDisplaySettings(displaySettings);
|
this->m_context.setDisplaySettings(displaySettings);
|
||||||
|
|
||||||
{
|
{
|
||||||
NodeOperationBuilder builder(&m_context, editingtree);
|
NodeOperationBuilder builder(&m_context, editingtree, this);
|
||||||
builder.convertToOperations(this);
|
builder.convertToOperations(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -101,9 +101,6 @@ void ExecutionSystem::set_operations(const Vector<NodeOperation *> &operations,
|
|||||||
{
|
{
|
||||||
m_operations = operations;
|
m_operations = operations;
|
||||||
m_groups = groups;
|
m_groups = groups;
|
||||||
for (NodeOperation *op : m_operations) {
|
|
||||||
op->set_execution_system(this);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ExecutionSystem::execute()
|
void ExecutionSystem::execute()
|
||||||
|
|||||||
@@ -41,8 +41,10 @@
|
|||||||
|
|
||||||
namespace blender::compositor {
|
namespace blender::compositor {
|
||||||
|
|
||||||
NodeOperationBuilder::NodeOperationBuilder(const CompositorContext *context, bNodeTree *b_nodetree)
|
NodeOperationBuilder::NodeOperationBuilder(const CompositorContext *context,
|
||||||
: m_context(context), m_current_node(nullptr), m_active_viewer(nullptr)
|
bNodeTree *b_nodetree,
|
||||||
|
ExecutionSystem *system)
|
||||||
|
: m_context(context), exec_system_(system), m_current_node(nullptr), m_active_viewer(nullptr)
|
||||||
{
|
{
|
||||||
m_graph.from_bNodeTree(*context, b_nodetree);
|
m_graph.from_bNodeTree(*context, b_nodetree);
|
||||||
}
|
}
|
||||||
@@ -140,6 +142,7 @@ void NodeOperationBuilder::addOperation(NodeOperation *operation)
|
|||||||
operation->set_name(m_current_node->getbNode()->name);
|
operation->set_name(m_current_node->getbNode()->name);
|
||||||
}
|
}
|
||||||
operation->set_execution_model(m_context->get_execution_model());
|
operation->set_execution_model(m_context->get_execution_model());
|
||||||
|
operation->set_execution_system(exec_system_);
|
||||||
}
|
}
|
||||||
|
|
||||||
void NodeOperationBuilder::replace_operation_with_constant(NodeOperation *operation,
|
void NodeOperationBuilder::replace_operation_with_constant(NodeOperation *operation,
|
||||||
|
|||||||
@@ -68,6 +68,7 @@ class NodeOperationBuilder {
|
|||||||
private:
|
private:
|
||||||
const CompositorContext *m_context;
|
const CompositorContext *m_context;
|
||||||
NodeGraph m_graph;
|
NodeGraph m_graph;
|
||||||
|
ExecutionSystem *exec_system_;
|
||||||
|
|
||||||
Vector<NodeOperation *> m_operations;
|
Vector<NodeOperation *> m_operations;
|
||||||
Vector<Link> m_links;
|
Vector<Link> m_links;
|
||||||
@@ -87,7 +88,9 @@ class NodeOperationBuilder {
|
|||||||
ViewerOperation *m_active_viewer;
|
ViewerOperation *m_active_viewer;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
NodeOperationBuilder(const CompositorContext *context, bNodeTree *b_nodetree);
|
NodeOperationBuilder(const CompositorContext *context,
|
||||||
|
bNodeTree *b_nodetree,
|
||||||
|
ExecutionSystem *system);
|
||||||
|
|
||||||
const CompositorContext &context() const
|
const CompositorContext &context() const
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user