[Bf-blender-cvs] [0a0360c8cde] temp-geometry-nodes-fields--fields: Fix constant input test
Hans Goudey
noreply at git.blender.org
Thu Aug 26 18:20:06 CEST 2021
Commit: 0a0360c8cde505341e11512dc6f2ccf76c4894c3
Author: Hans Goudey
Date: Thu Aug 26 11:19:58 2021 -0500
Branches: temp-geometry-nodes-fields--fields
https://developer.blender.org/rB0a0360c8cde505341e11512dc6f2ccf76c4894c3
Fix constant input test
===================================================================
M source/blender/functions/intern/field.cc
===================================================================
diff --git a/source/blender/functions/intern/field.cc b/source/blender/functions/intern/field.cc
index acecbfd79ec..ac017822733 100644
--- a/source/blender/functions/intern/field.cc
+++ b/source/blender/functions/intern/field.cc
@@ -27,13 +27,16 @@ static void add_field_parameters(const Field &field,
[&](const Field &input_field) { add_field_parameters(input_field, builder, output_map); });
/* Add the immediate inputs to this field. */
+ Vector<MFVariable *> inputs;
field.foreach_input([&](const Field &input_field) {
- builder.add_input_parameter(output_map.lookup(&input_field)->data_type());
+ MFVariable *input = output_map.lookup(&input_field);
+ builder.add_input_parameter(input->data_type());
+ inputs.append(input);
});
- Vector<MFVariable *> outputs = builder.add_call(field.function());
+ Vector<MFVariable *> outputs = builder.add_call(field.function(), inputs);
- // builder.add_destruct(inputs);
+ builder.add_destruct(inputs);
/* TODO: How to support multiple outputs?! */
BLI_assert(outputs.size() == 1);
@@ -50,17 +53,14 @@ static void build_procedure(const Span<Field> fields, MFProcedure &procedure)
add_field_parameters(field, builder, output_map);
}
- /* TODO: Move this to the proper place. */
- for (MFVariable *variable : output_map.values()) {
- builder.add_destruct(*variable);
- }
-
builder.add_return();
for (const Field &field : fields) {
builder.add_output_parameter(*output_map.lookup(&field));
}
+ std::cout << procedure.to_dot();
+
BLI_assert(procedure.validate());
}
More information about the Bf-blender-cvs
mailing list