blender/intern/cycles/render
Sergey Sharybin 828abaf11c Cycles: Split BVH nodes storage into inner and leaf nodes
This way we can get rid of inefficient memory usage caused by BVH boundbox
part being unused by leaf nodes but still being allocated for them. Doing
such split allows to save 6 of float4 values for QBVH per leaf node and 3
of float4 values for regular BVH per leaf node.

This translates into following memory save using 01.01.01.G rendered
without hair:

                   Device memory size   Device memory peak   Global memory peak
Before the patch:  4957                 5051                 7668
With the patch:    4467                 4562                 7332

The measurements are done against current master. Still need to run speed tests
and it's hard to predict if it's faster or not: on the one hand leaf nodes are
now much more coherent in cache, on the other hand they're not so much coherent
with regular nodes anymore.

Reviewers: brecht, juicyfruit

Subscribers: venomgfx, eyecandy

Differential Revision: https://developer.blender.org/D1236
2015-04-20 17:29:51 +05:00
..
attribute.cpp Cycles: Code cleanup, spaces around keywords 2015-03-28 00:15:15 +05:00
attribute.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
background.cpp Cycles: Code cleanup, prepare for strict C++ flags 2015-03-27 18:23:31 +05:00
background.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
bake.cpp Bake-API: reduce memory footprint when baking more than one object (Fix T41092) 2015-04-17 12:25:37 -03:00
bake.h Bake-API: reduce memory footprint when baking more than one object (Fix T41092) 2015-04-17 12:25:37 -03:00
blackbody.cpp Cycles: Code cleanup, spaces around keywords 2015-03-28 00:15:15 +05:00
blackbody.h Cycles: Don't re-generate blackbody/beckmann tables on every shaders update 2015-01-23 14:00:48 +05:00
buffers.cpp Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
buffers.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
camera.cpp Cleanup: style 2015-04-13 22:08:51 +10:00
camera.h Cycles: Cleanup, make more clear what camera utility functions are private/public 2015-04-10 16:25:35 +05:00
CMakeLists.txt Cycles: Synchronize changes with standalone repository 2015-01-01 01:31:07 +05:00
curves.cpp Cycles: Code cleanup, prepare for strict C++ flags 2015-03-27 18:23:31 +05:00
curves.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
film.cpp Cycles: Code cleanup, prepare for strict C++ flags 2015-03-27 18:23:31 +05:00
film.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
graph.cpp Cycles: Cleanup, typos 2015-04-08 01:15:38 +05:00
graph.h Cycles: Synchronize images after building mesh BVH 2015-04-20 17:29:51 +05:00
image.cpp Cycles: Synchronize images after building mesh BVH 2015-04-20 17:29:51 +05:00
image.h Cycles: Synchronize images after building mesh BVH 2015-04-20 17:29:51 +05:00
integrator.cpp Cycles: Code cleanup, prepare for strict C++ flags 2015-03-27 18:23:31 +05:00
integrator.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
light.cpp Cycles: Add some statistics logging 2015-04-10 15:37:49 +05:00
light.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
mesh_displace.cpp Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
mesh.cpp Cycles: Split BVH nodes storage into inner and leaf nodes 2015-04-20 17:29:51 +05:00
mesh.h Cycles: Synchronize images after building mesh BVH 2015-04-20 17:29:51 +05:00
nodes.cpp Cycles: Synchronize images after building mesh BVH 2015-04-20 17:29:51 +05:00
nodes.h Cycles: Synchronize images after building mesh BVH 2015-04-20 17:29:51 +05:00
object.cpp Cycles: Add some statistics logging 2015-04-10 15:37:49 +05:00
object.h Fix T43311: using displacement shader crashes blender 2015-01-19 19:23:21 +05:00
osl.cpp Cycles: Add some statistics logging 2015-04-10 15:37:49 +05:00
osl.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
particles.cpp Cycles: Add some statistics logging 2015-04-10 15:37:49 +05:00
particles.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
scene.cpp Cycles: Synchronize images after building mesh BVH 2015-04-20 17:29:51 +05:00
scene.h Cycles: Split BVH nodes storage into inner and leaf nodes 2015-04-20 17:29:51 +05:00
session.cpp Cycles: More instant feedback on progressive rendering for first sample 2015-04-06 19:28:25 +05:00
session.h Optionally use c++11 stuff instead of boost in cycles where possible. We do and continue to depend on boost though 2015-03-29 22:12:40 +02:00
shader.cpp Cycles: Experiment with making previews more interactive 2015-04-06 19:22:17 +05:00
shader.h Cycles: Experiment with making previews more interactive 2015-04-06 19:22:17 +05:00
sky_model_data.h Cycles: Code cleanyp, sky model 2015-03-28 00:28:37 +05:00
sky_model.cpp Cycles: Code cleanyp, sky model 2015-03-28 00:28:37 +05:00
sky_model.h Cycles: Code cleanyp, sky model 2015-03-28 00:28:37 +05:00
sobol.cpp Fix #29528: crash adding subsurf modifier in a particular scene with viewport render. 2011-12-08 21:55:35 +00:00
sobol.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm.cpp Cycles: Add some statistics logging 2015-04-10 15:37:49 +05:00
svm.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
tables.cpp Cycles: Add some statistics logging 2015-04-10 15:37:49 +05:00
tables.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
tile.cpp Cycles: Code cleanup, spaces around keywords 2015-03-28 00:15:15 +05:00
tile.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00