Cycles: Add support for debug passes
authorSergey Sharybin <sergey.vfx@gmail.com>
Sat, 4 Oct 2014 13:00:26 +0000 (19:00 +0600)
committerSergey Sharybin <sergey.vfx@gmail.com>
Sat, 4 Oct 2014 13:00:26 +0000 (19:00 +0600)
commit27d660ad20a57a8f688890a04d2eb629e39a3f19
tree218c119ef8908566cb411fce385cb51a72b7b85f
parent8ac3c3d3ee229ba5b2df90f2276db1049bd104cc
Cycles: Add support for debug passes

Currently only summed number of traversal steps and intersections used by the
camera ray intersection pass is implemented, but in the future we will support
more debug passes which would help checking what things makes the scene slow.
Example of such extra passes could be number of bounces, time spent on the
shader tree evaluation and so.

Implementation from the Cycles side is pretty much straightforward, could only
mention here that it's a build-time option disabled by default.

From the blender side it's implemented as a PASS_DEBUG with several subtypes
possible. This way we don't need to create an extra DNA pass type for each of
the debug passes, saving us a bits.

Reviewers: campbellbarton

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D813
21 files changed:
CMakeLists.txt
build_files/scons/tools/btools.py
intern/cycles/CMakeLists.txt
intern/cycles/SConscript
intern/cycles/blender/blender_session.cpp
intern/cycles/kernel/CMakeLists.txt
intern/cycles/kernel/geom/geom_bvh_traversal.h
intern/cycles/kernel/kernel_debug.h [new file with mode: 0644]
intern/cycles/kernel/kernel_path.h
intern/cycles/kernel/kernel_types.h
intern/cycles/render/buffers.cpp
intern/cycles/render/film.cpp
source/blender/makesdna/DNA_scene_types.h
source/blender/makesrna/SConscript
source/blender/makesrna/intern/CMakeLists.txt
source/blender/makesrna/intern/SConscript
source/blender/makesrna/intern/rna_render.c
source/blender/render/CMakeLists.txt
source/blender/render/SConscript
source/blender/render/extern/include/RE_pipeline.h
source/blender/render/intern/source/render_result.c