diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-12-12 09:04:01 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-12-12 09:04:01 +0400 |
commit | 3d69dbd44a8c14c54785833fc469ee14173c6132 (patch) | |
tree | dd6a25201b769c5312e83f1ea05290f432808ab0 /source/blender/modifiers/intern/MOD_decimate.c | |
parent | 21a2660290fd74da5adea6df944922180ffe6c91 (diff) |
use openmp to thread some common bmesh operations
- BM_mesh_elem_toolflags_ensure / bmo_flag_layer_alloc / bmo_flag_layer_free / bmo_flag_layer_clear
- BM_mesh_select_flush
- EDBM_index_arrays_init
notes:
- mostly use openmp `sections` to split operations on vert/edge/face since this is a fairly minor change.
- split tool flag pool in 3, this means we can allocate exact sizes needed and iterate on them in threads without alloc'ing.
Diffstat (limited to 'source/blender/modifiers/intern/MOD_decimate.c')
-rw-r--r-- | source/blender/modifiers/intern/MOD_decimate.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/source/blender/modifiers/intern/MOD_decimate.c b/source/blender/modifiers/intern/MOD_decimate.c index 28cdfa810fa..a23b677f8e6 100644 --- a/source/blender/modifiers/intern/MOD_decimate.c +++ b/source/blender/modifiers/intern/MOD_decimate.c @@ -188,7 +188,9 @@ static DerivedMesh *applyModifier(ModifierData *md, Object *ob, /* update for display only */ dmd->face_count = bm->totface; result = CDDM_from_bmesh(bm, FALSE); - BLI_assert(bm->toolflagpool == NULL); /* make sure we never alloc'd this */ + BLI_assert(bm->vtoolflagpool == NULL); /* make sure we never alloc'd this */ + BLI_assert(bm->etoolflagpool == NULL); + BLI_assert(bm->ftoolflagpool == NULL); BM_mesh_free(bm); #ifdef USE_TIMEIT |