Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormano-wii <germano.costa@ig.com.br>2020-01-06 18:33:36 +0300
committermano-wii <germano.costa@ig.com.br>2020-01-06 18:33:46 +0300
commit55fbb0fd691e61745c0f3f9dc947155231387b7e (patch)
tree6135de37b9a21de4de0786e8965bdf5f4f19324b /source/blender/bmesh
parent60c54be053c1fa0573540551ab322f6cb4a16676 (diff)
BM_mesh_intersect: Match the mesh in Debug build with Release
Prevents regression in unit tests.
Diffstat (limited to 'source/blender/bmesh')
-rw-r--r--source/blender/bmesh/tools/bmesh_intersect.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/source/blender/bmesh/tools/bmesh_intersect.c b/source/blender/bmesh/tools/bmesh_intersect.c
index 9a3cade85db..df88dcf3006 100644
--- a/source/blender/bmesh/tools/bmesh_intersect.c
+++ b/source/blender/bmesh/tools/bmesh_intersect.c
@@ -1082,7 +1082,15 @@ bool BM_mesh_intersect(BMesh *bm,
tree_b = tree_a;
}
- overlap = BLI_bvhtree_overlap(tree_b, tree_a, &tree_overlap_tot, NULL, NULL);
+ int flag = BVH_OVERLAP_USE_THREADING | BVH_OVERLAP_RETURN_PAIRS;
+# if DEBUG
+ /* The overlap result must match that obtained in Release to succeed
+ * in the `bmesh_boolean` test. */
+ if (looptris_tot < 1024) {
+ flag &= ~BVH_OVERLAP_USE_THREADING;
+ }
+# endif
+ overlap = BLI_bvhtree_overlap_ex(tree_b, tree_a, &tree_overlap_tot, NULL, NULL, 0, flag);
if (overlap) {
uint i;