[Bf-blender-cvs] [3d56c89] openvdb: Clear map when releasing memory, add some debug prints.
Kévin Dietrich
noreply at git.blender.org
Sun Nov 13 21:44:22 CET 2016
Commit: 3d56c890e8aaac1af4709c99e8bfc3af4dc050e4
Author: Kévin Dietrich
Date: Wed May 11 13:52:36 2016 +0200
Branches: openvdb
https://developer.blender.org/rB3d56c890e8aaac1af4709c99e8bfc3af4dc050e4
Clear map when releasing memory, add some debug prints.
===================================================================
M intern/cycles/util/util_volume.cpp
===================================================================
diff --git a/intern/cycles/util/util_volume.cpp b/intern/cycles/util/util_volume.cpp
index f48b983..9f0d4f3 100644
--- a/intern/cycles/util/util_volume.cpp
+++ b/intern/cycles/util/util_volume.cpp
@@ -16,6 +16,8 @@
#include "util_volume.h"
+#include <cstdio>
+
#if defined(HAS_CPP11_FEATURES) && defined(_MSC_VER)
namespace std {
@@ -39,6 +41,8 @@ void release_map_memory(unordered_map<pthread_t, T> &map)
for(iter = map.begin(); iter != map.end(); ++iter) {
delete iter->second;
}
+
+ map.clear();
}
template <typename IsectorType>
@@ -46,6 +50,8 @@ void create_isectors_threads(unordered_map<pthread_t, IsectorType *> &isect_map,
const vector<pthread_t> &thread_ids,
const IsectorType &main_isect)
{
+ std::fprintf(stderr, "%s", __func__);
+
release_map_memory(isect_map);
pthread_t my_thread = pthread_self();
@@ -59,6 +65,8 @@ void create_isectors_threads(unordered_map<pthread_t, IsectorType *> &isect_map,
if (isect_map.find(my_thread) == isect_map.end()) {
isect_map[my_thread] = new IsectorType(main_isect);
}
+
+ std::fprintf(stderr, ": %ld isectors, %ld threads\n", isect_map.size(), thread_ids.size());
}
template <typename SamplerType, typename AccessorType>
@@ -68,6 +76,7 @@ void create_samplers_threads(unordered_map<pthread_t, SamplerType *> &sampler_ma
const openvdb::math::Transform *transform,
const AccessorType &main_accessor)
{
+ std::fprintf(stderr, "%s", __func__);
release_map_memory(sampler_map);
pthread_t my_thread = pthread_self();
@@ -86,6 +95,8 @@ void create_samplers_threads(unordered_map<pthread_t, SamplerType *> &sampler_ma
accessors.push_back(accessor);
sampler_map[my_thread] = new SamplerType(*accessor, *transform);
}
+
+ std::fprintf(stderr, ": %ld samplers, %ld threads\n", sampler_map.size(), thread_ids.size());
}
/* ********** OpenVDB floating pointing scalar volume ************ */
More information about the Bf-blender-cvs
mailing list