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:
authorJeroen Bakker <j.bakker@atmind.nl>2022-03-02 18:03:01 +0300
committerJeroen Bakker <j.bakker@atmind.nl>2022-03-02 18:03:01 +0300
commita41c2a513761e8884e92526b069ff6eed8168676 (patch)
treee624093127815a09d2807dccddaabea35510e154 /source/blender/nodes/geometry/nodes/node_geo_raycast.cc
parenta23b4429915ca8597510b57353c4df331487c620 (diff)
parentc23ec04b4e30f300a670f1cb1dc882e0608d09ad (diff)
Merge branch 'master' into temp-image-buffer-rasterizertemp-image-buffer-rasterizer
Diffstat (limited to 'source/blender/nodes/geometry/nodes/node_geo_raycast.cc')
-rw-r--r--source/blender/nodes/geometry/nodes/node_geo_raycast.cc9
1 files changed, 4 insertions, 5 deletions
diff --git a/source/blender/nodes/geometry/nodes/node_geo_raycast.cc b/source/blender/nodes/geometry/nodes/node_geo_raycast.cc
index 1797364ad72..231ef547a8b 100644
--- a/source/blender/nodes/geometry/nodes/node_geo_raycast.cc
+++ b/source/blender/nodes/geometry/nodes/node_geo_raycast.cc
@@ -141,10 +141,13 @@ static void raycast_to_mesh(IndexMask mask,
{
BVHTreeFromMesh tree_data;
BKE_bvhtree_from_mesh_get(&tree_data, &mesh, BVHTREE_FROM_LOOPTRI, 4);
+ BLI_SCOPED_DEFER([&]() { free_bvhtree_from_mesh(&tree_data); });
+
if (tree_data.tree == nullptr) {
- free_bvhtree_from_mesh(&tree_data);
return;
}
+ /* We shouldn't be rebuilding the BVH tree when calling this function in parallel. */
+ BLI_assert(tree_data.cached);
for (const int i : mask) {
const float ray_length = ray_lengths[i];
@@ -197,10 +200,6 @@ static void raycast_to_mesh(IndexMask mask,
}
}
}
-
- /* We shouldn't be rebuilding the BVH tree when calling this function in parallel. */
- BLI_assert(tree_data.cached);
- free_bvhtree_from_mesh(&tree_data);
}
class RaycastFunction : public fn::MultiFunction {