diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-01-09 18:15:33 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2018-01-09 18:15:33 +0300 |
commit | 6deb908a5c9f34deb4c19561082b14d8eda51e43 (patch) | |
tree | e72c9fd7b77f486deea839428573c0788c9ceda9 /source/blender/modifiers/intern/MOD_weightvgproximity.c | |
parent | 1cab3be7a7af483ed645c2912b3aed3292812746 (diff) | |
parent | 932d448ae013b5425efa974be5a106d9d6a16652 (diff) |
Merge branch 'master' into blender2.8
Diffstat (limited to 'source/blender/modifiers/intern/MOD_weightvgproximity.c')
-rw-r--r-- | source/blender/modifiers/intern/MOD_weightvgproximity.c | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/source/blender/modifiers/intern/MOD_weightvgproximity.c b/source/blender/modifiers/intern/MOD_weightvgproximity.c index c8bbbfe44b2..82f44f36545 100644 --- a/source/blender/modifiers/intern/MOD_weightvgproximity.c +++ b/source/blender/modifiers/intern/MOD_weightvgproximity.c @@ -90,10 +90,10 @@ typedef struct Vert2GeomDataChunk { /** * Callback used by BLI_task 'for loop' helper. */ -static void vert2geom_task_cb_ex(void *userdata, void *userdata_chunk, const int iter, const int UNUSED(thread_id)) +static void vert2geom_task_cb_ex(void *userdata, const int iter, const ParallelRangeTLS *tls) { Vert2GeomData *data = userdata; - Vert2GeomDataChunk *data_chunk = userdata_chunk; + Vert2GeomDataChunk *data_chunk = tls->userdata_chunk; float tmp_co[3]; int i; @@ -177,9 +177,16 @@ 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_ex, - numVerts > 10000, false); + ParallelRangeSettings settings; + BLI_parallel_range_settings_defaults(&settings); + settings.use_threading = (numVerts > 10000); + settings.userdata_chunk = &data_chunk; + settings.userdata_chunk_size = sizeof(data_chunk); + BLI_task_parallel_range( + 0, numVerts, + &data, + vert2geom_task_cb_ex, + &settings); if (dist_v) free_bvhtree_from_mesh(&treeData_v); |