diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-08-19 14:40:47 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2013-08-19 14:40:47 +0400 |
commit | 08c49d8a121a637bd45c386af1d9d172264e53b0 (patch) | |
tree | fc11c2cd24dc4185e1ea9626ca1d7972ee093b75 /source/blender/blenkernel/intern/navmesh_conversion.c | |
parent | 018ab045e3b9c20e35b5dc658fe35f3327048bbf (diff) |
Use reentrant qsort() in particle codes
Particle system code used global variable to sort hair by orig index,
which is not safe for threading at all.
Replaced this with usage of reentrant version of qsort, which is
now implemented in BLI. It was moved from recast navigation code
to BLI, so more areas could use it (if needed).
--
svn merge -r59086:59087 ^/branches/soc-2013-depsgraph_mt
Diffstat (limited to 'source/blender/blenkernel/intern/navmesh_conversion.c')
-rw-r--r-- | source/blender/blenkernel/intern/navmesh_conversion.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/navmesh_conversion.c b/source/blender/blenkernel/intern/navmesh_conversion.c index 1d662ae3116..68564a1e298 100644 --- a/source/blender/blenkernel/intern/navmesh_conversion.c +++ b/source/blender/blenkernel/intern/navmesh_conversion.c @@ -38,6 +38,7 @@ #include "BLI_utildefines.h" #include "BLI_math.h" +#include "BLI_sort.h" #include "BKE_navmesh_conversion.h" #include "BKE_cdderivedmesh.h" @@ -340,7 +341,7 @@ int buildNavMeshData(const int nverts, const float *verts, trisMapping[i] = i; context.recastData = recastData; context.trisToFacesMap = trisToFacesMap; - recast_qsort(trisMapping, ntris, sizeof(int), &context, compareByData); + BLI_qsort_r(trisMapping, ntris, sizeof(int), &context, compareByData); /* search first valid triangle - triangle of convex polygon */ validTriStart = -1; |