Commit: 3ea4ca7b97409bc88e900fc4b96ddbfd70307a25
Author: mattoverby
Date:   Wed Aug 19 13:35:11 2020 -0500
Branches: soc-2020-soft-body
https://developer.blender.org/rB3ea4ca7b97409bc88e900fc4b96ddbfd70307a25

changing slice a bit

===================================================================

M       extern/softbody/src/admmpd_collision.cpp

===================================================================

diff --git a/extern/softbody/src/admmpd_collision.cpp 
b/extern/softbody/src/admmpd_collision.cpp
index 1c42a7b1b19..061369b993b 100644
--- a/extern/softbody/src/admmpd_collision.cpp
+++ b/extern/softbody/src/admmpd_collision.cpp
@@ -315,12 +315,18 @@ int EmbeddedMeshCollision::detect(
        const auto & per_thread_function = 
[&per_embedded_vertex_detect,&max_threads,&nev]
                (DetectThreadData *td, int thread_idx)
        {
-       int slice = std::max((int)std::round((nev+1)/double(max_threads)),1);
+               float slice_f = float(nev+1) / float(max_threads);
+       int slice = std::max((int)std::ceil(slice_f),1);
                for (int i=0; i<slice; ++i)
                {
                        int vi = i*max_threads + thread_idx;
-                       if (vi >= nev)
+
+                       // Yeah okay I know this is dumb and I can just do a 
better job
+                       // of calculating the slice. We can save thread 
optimization
+                       // for the future, since this will be written different 
anyway.
+                       if (vi >= nev) {
                                break;
+                       }
 
                        per_embedded_vertex_detect(td,thread_idx,vi);
                }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
https://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to