diff options
author | mano-wii <germano.costa@ig.com.br> | 2020-01-06 18:33:36 +0300 |
---|---|---|
committer | mano-wii <germano.costa@ig.com.br> | 2020-01-06 18:33:46 +0300 |
commit | 55fbb0fd691e61745c0f3f9dc947155231387b7e (patch) | |
tree | 6135de37b9a21de4de0786e8965bdf5f4f19324b /source/blender/bmesh/tools | |
parent | 60c54be053c1fa0573540551ab322f6cb4a16676 (diff) |
BM_mesh_intersect: Match the mesh in Debug build with Release
Prevents regression in unit tests.
Diffstat (limited to 'source/blender/bmesh/tools')
-rw-r--r-- | source/blender/bmesh/tools/bmesh_intersect.c | 10 |
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; |