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:
authorSergey Sharybin <sergey.vfx@gmail.com>2017-01-12 15:44:35 +0300
committerSergey Sharybin <sergey.vfx@gmail.com>2017-01-12 15:44:35 +0300
commit53fa389802161e9e4ff6b5e0bfaa61cd4c761be6 (patch)
tree485ef4173d970eb3bf10ade844e4d23f4d8dcd56 /intern/cycles/kernel/kernel_debug.h
parent8daf02f134692b21e62649acf2906aed344a70ae (diff)
Cycles: Use dedicated debug passes for traversed nodes and intersection tests
This way it's more clear whether some issue is caused by lots of geometry in the node or by lots of "transparent" BVH nodes.
Diffstat (limited to 'intern/cycles/kernel/kernel_debug.h')
-rw-r--r--intern/cycles/kernel/kernel_debug.h14
1 files changed, 10 insertions, 4 deletions
diff --git a/intern/cycles/kernel/kernel_debug.h b/intern/cycles/kernel/kernel_debug.h
index 24d6458567e..5647bbae5b5 100644
--- a/intern/cycles/kernel/kernel_debug.h
+++ b/intern/cycles/kernel/kernel_debug.h
@@ -18,8 +18,9 @@ CCL_NAMESPACE_BEGIN
ccl_device_inline void debug_data_init(DebugData *debug_data)
{
- debug_data->num_bvh_traversal_steps = 0;
+ debug_data->num_bvh_traversed_nodes = 0;
debug_data->num_bvh_traversed_instances = 0;
+ debug_data->num_bvh_intersections = 0;
debug_data->num_ray_bounces = 0;
}
@@ -30,16 +31,21 @@ ccl_device_inline void kernel_write_debug_passes(KernelGlobals *kg,
int sample)
{
int flag = kernel_data.film.pass_flag;
- if(flag & PASS_BVH_TRAVERSAL_STEPS) {
- kernel_write_pass_float(buffer + kernel_data.film.pass_bvh_traversal_steps,
+ if(flag & PASS_BVH_TRAVERSED_NODES) {
+ kernel_write_pass_float(buffer + kernel_data.film.pass_bvh_traversed_nodes,
sample,
- debug_data->num_bvh_traversal_steps);
+ debug_data->num_bvh_traversed_nodes);
}
if(flag & PASS_BVH_TRAVERSED_INSTANCES) {
kernel_write_pass_float(buffer + kernel_data.film.pass_bvh_traversed_instances,
sample,
debug_data->num_bvh_traversed_instances);
}
+ if(flag & PASS_BVH_INTERSECTIONS) {
+ kernel_write_pass_float(buffer + kernel_data.film.pass_bvh_intersections,
+ sample,
+ debug_data->num_bvh_intersections);
+ }
if(flag & PASS_RAY_BOUNCES) {
kernel_write_pass_float(buffer + kernel_data.film.pass_ray_bounces,
sample,