diff --git a/release/datafiles/locale b/release/datafiles/locale index f7b706dd643..2cef4877edc 160000 --- a/release/datafiles/locale +++ b/release/datafiles/locale @@ -1 +1 @@ -Subproject commit f7b706dd6434db2d752f47c4b8c3148b2990fd73 +Subproject commit 2cef4877edc40875978c4e95322bb5193f5815bf diff --git a/release/scripts/addons b/release/scripts/addons index 4cb833e84ac..bcd08a9506d 160000 --- a/release/scripts/addons +++ b/release/scripts/addons @@ -1 +1 @@ -Subproject commit 4cb833e84acfd2be5fa08ce75118ce9cb60643b8 +Subproject commit bcd08a9506d33bdd7358201031b04d041ef22d94 diff --git a/release/scripts/addons_contrib b/release/scripts/addons_contrib index 8970953d4a8..f948f658ba3 160000 --- a/release/scripts/addons_contrib +++ b/release/scripts/addons_contrib @@ -1 +1 @@ -Subproject commit 8970953d4a8a4ea3bf77c66370c817ed0cf1308a +Subproject commit f948f658ba33eb670a65e0bba058d43138abea7e diff --git a/source/blender/nodes/geometry/nodes/node_geo_attribute_curve_map.cc b/source/blender/nodes/geometry/nodes/node_geo_attribute_curve_map.cc index ba2e5b08352..2fc86269797 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_attribute_curve_map.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_attribute_curve_map.cc @@ -15,6 +15,7 @@ */ #include "BLI_blenlib.h" +#include "BLI_task.hh" #include "BKE_colortools.h" @@ -143,9 +144,11 @@ static void execute_on_component(const GeoNodeExecParams ¶ms, GeometryCompon GVArray_Typed attribute_in = component.attribute_get_for_read( input_name, result_domain, float(0.0f)); MutableSpan results = attribute_result.as_span(); - for (const int i : IndexRange(attribute_in.size())) { - results[i] = BKE_curvemapping_evaluateF(cumap, 3, attribute_in[i]); - } + parallel_for(IndexRange(attribute_in.size()), 512, [&](IndexRange range) { + for (const int i : range) { + results[i] = BKE_curvemapping_evaluateF(cumap, 3, attribute_in[i]); + } + }); break; } case CD_PROP_FLOAT3: { @@ -153,9 +156,11 @@ static void execute_on_component(const GeoNodeExecParams ¶ms, GeometryCompon GVArray_Typed attribute_in = component.attribute_get_for_read( input_name, result_domain, float3(0.0f)); MutableSpan results = attribute_result.as_span(); - for (const int i : IndexRange(attribute_in.size())) { - BKE_curvemapping_evaluate3F(cumap, results[i], attribute_in[i]); - } + parallel_for(IndexRange(attribute_in.size()), 512, [&](IndexRange range) { + for (const int i : range) { + BKE_curvemapping_evaluate3F(cumap, results[i], attribute_in[i]); + } + }); break; } case CD_PROP_COLOR: { @@ -163,9 +168,11 @@ static void execute_on_component(const GeoNodeExecParams ¶ms, GeometryCompon GVArray_Typed attribute_in = component.attribute_get_for_read( input_name, result_domain, Color4f(0.0f, 0.0f, 0.0f, 1.0f)); MutableSpan results = attribute_result.as_span(); - for (const int i : IndexRange(attribute_in.size())) { - BKE_curvemapping_evaluateRGBF(cumap, results[i], attribute_in[i]); - } + parallel_for(IndexRange(attribute_in.size()), 512, [&](IndexRange range) { + for (const int i : range) { + BKE_curvemapping_evaluateRGBF(cumap, results[i], attribute_in[i]); + } + }); break; } default: {