[Bf-blender-cvs] [e3594c8e65f] temp-parallel-multi-function: Merge branch 'master' into parallel-multi-function

Jacques Lucke noreply at git.blender.org
Fri Sep 10 11:02:28 CEST 2021


Commit: e3594c8e65f6e29e4cc647146941f089b5c6d666
Author: Jacques Lucke
Date:   Thu Sep 9 17:47:04 2021 +0200
Branches: temp-parallel-multi-function
https://developer.blender.org/rBe3594c8e65f6e29e4cc647146941f089b5c6d666

Merge branch 'master' into parallel-multi-function

===================================================================



===================================================================

diff --cc source/blender/functions/intern/field.cc
index 06730a8b830,fa7dea97b7f..f680c7ba5ff
--- a/source/blender/functions/intern/field.cc
+++ b/source/blender/functions/intern/field.cc
@@@ -18,12 -18,10 +18,14 @@@
  #include "BLI_multi_value_map.hh"
  #include "BLI_set.hh"
  #include "BLI_stack.hh"
 +#include "BLI_timeit.hh"
  #include "BLI_vector_set.hh"
  
 +#include "FN_field.hh"
 +#include "FN_multi_function_parallel.hh"
 +
+ #include "FN_field.hh"
+ 
  namespace blender::fn {
  
  /* --------------------------------------------------------------------
@@@ -185,8 -183,8 +187,8 @@@ static void build_multi_function_proced
        const Span<GField> operation_inputs = operation.inputs();
  
        if (field_with_index.current_input_index < operation_inputs.size()) {
--        /* Not all inputs are handled yet. Push the next input field to the stack and increment the
--         * input index. */
++        /* Not all inputs are handled yet. Push the next input field to the stack and increment
++         * the input index. */
          fields_to_check.push({operation_inputs[field_with_index.current_input_index]});
          field_with_index.current_input_index++;
        }
@@@ -250,8 -248,8 +252,8 @@@ struct PartiallyInitializedArray : NonC
  };
  
  /**
-- * Evaluate fields in the given context. If possible, multiple fields should be evaluated together,
-- * because that can be more efficient when they share common sub-fields.
++ * Evaluate fields in the given context. If possible, multiple fields should be evaluated
++ * together, because that can be more efficient when they share common sub-fields.
   *
   * \param scope: The resource scope that owns data that makes up the output virtual arrays. Make
   *   sure the scope is not destructed when the output virtual arrays are still used.
@@@ -294,8 -290,8 +296,8 @@@ Vector<const GVArray *> evaluate_fields
    Vector<const GVArray *> field_context_inputs = get_field_context_inputs(
        scope, mask, context, field_tree_info.deduplicated_field_inputs);
  
--  /* Finish fields that output an input varray directly. For those we don't have to do any further
--   * processing. */
++  /* Finish fields that output an input varray directly. For those we don't have to do any
++   * further processing. */
    for (const int out_index : fields_to_evaluate.index_range()) {
      const GFieldRef &field = fields_to_evaluate[out_index];
      if (!field.node().is_input()) {
@@@ -426,8 -419,8 +428,8 @@@
      procedure_executor.call(IndexRange(1), mf_params, mf_context);
    }
  
--  /* Copy data to supplied destination arrays if necessary. In some cases the evaluation above has
--   * written the computed data in the right place already. */
++  /* Copy data to supplied destination arrays if necessary. In some cases the evaluation above
++   * has written the computed data in the right place already. */
    if (!dst_varrays.is_empty()) {
      for (const int out_index : fields_to_evaluate.index_range()) {
        GVMutableArray *output_varray = get_dst_varray_if_available(out_index);



More information about the Bf-blender-cvs mailing list