Commit: 46fe816fc6517989f41871710be4a4551020d007
Author: Jacques Lucke
Date:   Sun Sep 26 15:07:27 2021 +0200
Branches: temp-varray-get-set-multiple
https://developer.blender.org/rB46fe816fc6517989f41871710be4a4551020d007

use threads

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

M       source/blender/functions/intern/field.cc

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

diff --git a/source/blender/functions/intern/field.cc 
b/source/blender/functions/intern/field.cc
index c34182924cb..5f4b395e36a 100644
--- a/source/blender/functions/intern/field.cc
+++ b/source/blender/functions/intern/field.cc
@@ -18,6 +18,7 @@
 #include "BLI_multi_value_map.hh"
 #include "BLI_set.hh"
 #include "BLI_stack.hh"
+#include "BLI_task.hh"
 #include "BLI_vector_set.hh"
 
 #include "FN_field.hh"
@@ -468,7 +469,10 @@ Vector<const GVArray *> evaluate_fields(ResourceScope 
&scope,
         /* The result has been written into the destination provided by the 
caller already. */
         continue;
       }
-      output_varray->set_multiple_by_copy(*computed_varray, mask);
+      threading::parallel_for(mask.index_range(), 1024, [&](IndexRange range) {
+        const IndexMask sub_mask = mask.slice(range);
+        output_varray->set_multiple_by_copy(*computed_varray, sub_mask);
+      });
       r_varrays[out_index] = output_varray;
     }
   }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
List details, subscription details or unsubscribe:
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to