[Bf-blender-cvs] [abed72f22cd] functions: store tuple as resource in function
Jacques Lucke
noreply at git.blender.org
Thu Sep 26 16:51:38 CEST 2019
Commit: abed72f22cd19cb8b7d9243a249639c573b3b805
Author: Jacques Lucke
Date: Thu Sep 26 13:49:11 2019 +0200
Branches: functions
https://developer.blender.org/rBabed72f22cd19cb8b7d9243a249639c573b3b805
store tuple as resource in function
===================================================================
M source/blender/functions/frontends/data_flow_nodes/unlinked_input_inserters.cpp
===================================================================
diff --git a/source/blender/functions/frontends/data_flow_nodes/unlinked_input_inserters.cpp b/source/blender/functions/frontends/data_flow_nodes/unlinked_input_inserters.cpp
index 0546a9a9056..df2a04853f2 100644
--- a/source/blender/functions/frontends/data_flow_nodes/unlinked_input_inserters.cpp
+++ b/source/blender/functions/frontends/data_flow_nodes/unlinked_input_inserters.cpp
@@ -96,12 +96,12 @@ void DynamicSocketLoader::insert(VTreeDataGraphBuilder &builder,
class ConstantOutput : public TupleCallBody {
private:
- std::unique_ptr<Tuple> m_tuple;
+ Tuple *m_tuple;
public:
- void set_tuple(std::unique_ptr<Tuple> tuple)
+ void set_tuple(Tuple *tuple)
{
- m_tuple = std::move(tuple);
+ m_tuple = tuple;
}
void call(Tuple &UNUSED(fn_in), Tuple &fn_out, ExecutionContext &UNUSED(ctx)) const override
@@ -116,12 +116,12 @@ class ConstantOutput : public TupleCallBody {
class ConstantOutputGen : public LLVMBuildIRBody {
private:
- std::unique_ptr<Tuple> m_tuple;
+ Tuple *m_tuple;
public:
- void set_tuple(std::unique_ptr<Tuple> tuple)
+ void set_tuple(Tuple *tuple)
{
- m_tuple = std::move(tuple);
+ m_tuple = tuple;
}
void build_ir(CodeBuilder &builder,
@@ -168,17 +168,18 @@ void ConstantInputsHandler::insert(VTreeDataGraphBuilder &builder,
ConstantOutput &tuple_call_body = *fn->add_body<ConstantOutput>();
ConstantOutputGen &build_ir_body = *fn->add_body<ConstantOutputGen>();
- Tuple *tuple1 = new Tuple(tuple_call_body.meta_out());
- Tuple *tuple2 = new Tuple(tuple_call_body.meta_out());
+ std::unique_ptr<Tuple> inputs_tuple = std::unique_ptr<Tuple>(
+ new Tuple(tuple_call_body.meta_out()));
for (uint i = 0; i < unlinked_inputs.size(); i++) {
VirtualSocket *vsocket = unlinked_inputs[i];
- socket_loaders->load(vsocket, *tuple1, i);
- Tuple::copy_element(*tuple1, i, *tuple2, i);
+ socket_loaders->load(vsocket, *inputs_tuple, i);
}
- tuple_call_body.set_tuple(std::unique_ptr<Tuple>(tuple1));
- build_ir_body.set_tuple(std::unique_ptr<Tuple>(tuple2));
+ tuple_call_body.set_tuple(inputs_tuple.get());
+ build_ir_body.set_tuple(inputs_tuple.get());
+
+ fn->add_resource(std::move(inputs_tuple), "Tuple containing function inputs");
BuilderNode *node = builder.insert_function(fn);
r_new_origins.copy_from(node->outputs());
More information about the Bf-blender-cvs
mailing list