Commit: f48b9823a4f67660a785025540b8e19343f89d02 Author: Jacques Lucke Date: Sun Apr 28 18:45:09 2019 +0200 Branches: functions https://developer.blender.org/rBf48b9823a4f67660a785025540b8e19343f89d02
deduplicate code to setup tuples =================================================================== M source/blender/functions/backends/tuple_call/fgraph_tuple_call.cpp =================================================================== diff --git a/source/blender/functions/backends/tuple_call/fgraph_tuple_call.cpp b/source/blender/functions/backends/tuple_call/fgraph_tuple_call.cpp index 982135a39ae..1830514ba22 100644 --- a/source/blender/functions/backends/tuple_call/fgraph_tuple_call.cpp +++ b/source/blender/functions/backends/tuple_call/fgraph_tuple_call.cpp @@ -242,6 +242,18 @@ class ExecuteFGraph : public TupleCallBody { } }; +#define SETUP_SUB_TUPLES(node_id, body, body_in, body_out) \ + Tuple body_in(body->meta_in(), \ + storage.node_input_values_ptr(node_id), \ + storage.node_input_inits_ptr(node_id), \ + true, \ + false); \ + Tuple body_out(body->meta_out(), \ + storage.node_output_values_ptr(node_id), \ + storage.node_output_inits_ptr(node_id), \ + true, \ + false); + void evaluate_graph_to_compute_outputs(SocketValueStorage &storage, Tuple &fn_out, ExecutionContext &ctx) const @@ -281,17 +293,6 @@ class ExecuteFGraph : public TupleCallBody { if (m_node_info[node_id].is_lazy) { LazyInTupleCallBody *body = (LazyInTupleCallBody *)m_node_info[node_id].body; - Tuple body_in(body->meta_in(), - storage.node_input_values_ptr(node_id), - storage.node_input_inits_ptr(node_id), - true, - false); - Tuple body_out(body->meta_out(), - storage.node_output_values_ptr(node_id), - storage.node_output_inits_ptr(node_id), - true, - false); - if (lazy_states.empty() || lazy_states.peek().node_id != node_id) { bool required_inputs_computed = true; @@ -309,6 +310,8 @@ class ExecuteFGraph : public TupleCallBody { LazyState state(user_data); state.start_next_entry(); + SETUP_SUB_TUPLES(node_id, body, body_in, body_out); + SourceInfoStackFrame frame(m_graph->source_info_of_node(node_id)); ctx.stack().push(&frame); body->call(body_in, body_out, ctx, state); @@ -333,6 +336,8 @@ class ExecuteFGraph : public TupleCallBody { LazyState &state = lazy_states.peek().state; state.start_next_entry(); + SETUP_SUB_TUPLES(node_id, body, body_in, body_out); + SourceInfoStackFrame frame(m_graph->source_info_of_node(node_id)); ctx.stack().push(&frame); body->call(body_in, body_out, ctx, state); @@ -370,16 +375,7 @@ class ExecuteFGraph : public TupleCallBody { TupleCallBody *body = (TupleCallBody *)m_node_info[node_id].body; BLI_assert(body); - Tuple body_in(body->meta_in(), - storage.node_input_values_ptr(node_id), - storage.node_input_inits_ptr(node_id), - true, - true); - Tuple body_out(body->meta_out(), - storage.node_output_values_ptr(node_id), - storage.node_output_inits_ptr(node_id), - true, - false); + SETUP_SUB_TUPLES(node_id, body, body_in, body_out); SourceInfo *source_info = m_graph->source_info_of_node(node_id); body->call__setup_stack(body_in, body_out, ctx, source_info); _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org https://lists.blender.org/mailman/listinfo/bf-blender-cvs