diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2015-12-30 22:39:56 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2015-12-30 22:39:56 +0300 |
commit | 511e3c5d9d503b47cd5fb6fe48abeafde9fbff2d (patch) | |
tree | 5777460ffb9b9178d9d46c9db74c5c6d8c60b5e0 /source/blender/modifiers | |
parent | d9bb4a200c6e41baaa399993e27944f40c14bca3 (diff) |
BLI_task: change BLI_task_parallel_range_ex() to just take a bool whether to use threading or not, instead of threshold.
From recent experience, turns out we often do want to use something else than basic
range of parallelized forloop as control parameter over threads usage, so now BLI func
only takes a boolean, and caller defines best check for its own case.
Diffstat (limited to 'source/blender/modifiers')
-rw-r--r-- | source/blender/modifiers/intern/MOD_uvwarp.c | 2 | ||||
-rw-r--r-- | source/blender/modifiers/intern/MOD_weightvgproximity.c | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/source/blender/modifiers/intern/MOD_uvwarp.c b/source/blender/modifiers/intern/MOD_uvwarp.c index 34346851318..3b549ec77d3 100644 --- a/source/blender/modifiers/intern/MOD_uvwarp.c +++ b/source/blender/modifiers/intern/MOD_uvwarp.c @@ -210,7 +210,7 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, UVWarpData data = {.mpoly = mpoly, .mloop = mloop, .mloopuv = mloopuv, .dvert = dvert, .defgrp_index = defgrp_index, .warp_mat = warp_mat, .axis_u = axis_u, .axis_v = axis_v}; - BLI_task_parallel_range_ex(0, numPolys, &data, NULL, 0, uv_warp_compute, 1000, false); + BLI_task_parallel_range_ex(0, numPolys, &data, NULL, 0, uv_warp_compute, numPolys > 1000, false); dm->dirty |= DM_DIRTY_TESS_CDLAYERS; diff --git a/source/blender/modifiers/intern/MOD_weightvgproximity.c b/source/blender/modifiers/intern/MOD_weightvgproximity.c index 0a73a187161..be86dfe4a92 100644 --- a/source/blender/modifiers/intern/MOD_weightvgproximity.c +++ b/source/blender/modifiers/intern/MOD_weightvgproximity.c @@ -176,7 +176,8 @@ static void get_vert2geom_distance(int numVerts, float (*v_cos)[3], data.dist[1] = dist_e; data.dist[2] = dist_f; - BLI_task_parallel_range_ex(0, numVerts, &data, &data_chunk, sizeof(data_chunk), vert2geom_task_cb, 10000, false); + BLI_task_parallel_range_ex( + 0, numVerts, &data, &data_chunk, sizeof(data_chunk), vert2geom_task_cb, numVerts > 10000, false); if (dist_v) free_bvhtree_from_mesh(&treeData_v); |