diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-01-19 11:39:35 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2015-01-19 11:39:35 +0300 |
commit | 2f4aef9f3bc1880496d5a8f1a23992f8a03d0af5 (patch) | |
tree | f8b300b29de565f900bfacb4a3503c68ee2f2f0d | |
parent | 32ffc63d20908c6433e0e92488be3b5568f81f69 (diff) |
Cycles: Avoid crash in statistics when canceling BVH build
Also add missing render_time initialization in progress.
-rw-r--r-- | intern/cycles/bvh/bvh_build.cpp | 17 | ||||
-rw-r--r-- | intern/cycles/util/util_progress.h | 1 |
2 files changed, 10 insertions, 8 deletions
diff --git a/intern/cycles/bvh/bvh_build.cpp b/intern/cycles/bvh/bvh_build.cpp index 32946c8b47c..e248040301a 100644 --- a/intern/cycles/bvh/bvh_build.cpp +++ b/intern/cycles/bvh/bvh_build.cpp @@ -268,21 +268,22 @@ BVHNode* BVHBuild::run() if(progress.get_cancel()) { rootnode->deleteSubtree(); rootnode = NULL; + VLOG(1) << "BVH build cancelled."; } else if(!params.use_spatial_split) { /*rotate(rootnode, 4, 5);*/ rootnode->update_visibility(); + VLOG(1) << "BVH build statistics:\n" + << " Build time: " << time_dt() - build_start_time << "\n" + << " Total number of nodes: " + << rootnode->getSubtreeSize(BVH_STAT_NODE_COUNT) << "\n" + << " Number of inner nodes: " + << rootnode->getSubtreeSize(BVH_STAT_INNER_COUNT) << "\n" + << " Number of leaf nodes: " + << rootnode->getSubtreeSize(BVH_STAT_LEAF_COUNT) << "\n"; } } - VLOG(1) << "BVH build statistics:\n" - << " Build time: " << time_dt() - build_start_time << "\n" - << " Total number of nodes: " - << rootnode->getSubtreeSize(BVH_STAT_NODE_COUNT) << "\n" - << " Number of inner nodes: " - << rootnode->getSubtreeSize(BVH_STAT_INNER_COUNT) << "\n" - << " Number of leaf nodes: " - << rootnode->getSubtreeSize(BVH_STAT_LEAF_COUNT) << "\n"; return rootnode; } diff --git a/intern/cycles/util/util_progress.h b/intern/cycles/util/util_progress.h index 315aa753bdd..0ff48630a81 100644 --- a/intern/cycles/util/util_progress.h +++ b/intern/cycles/util/util_progress.h @@ -38,6 +38,7 @@ public: sample = 0; start_time = time_dt(); total_time = 0.0f; + render_time = 0.0f; tile_time = 0.0f; status = "Initializing"; substatus = ""; |