blender/intern/cycles/kernel/svm
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
..
svm_attribute.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_blackbody.h Cycles: Code cleanup, spaces around keywords 2015-03-28 00:15:15 +05:00
svm_brick.h Cleanup: Simplify brick texture code a bit. 2015-02-23 16:49:50 +01:00
svm_brightness.h Cycles: Code cleanup, spaces around keywords 2015-03-28 00:15:15 +05:00
svm_camera.h Cycles: Code cleanup, spaces around keywords 2015-03-28 00:15:15 +05:00
svm_checker.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_closure.h Cycles: Code cleanup, spaces around keywords 2015-03-28 00:15:15 +05:00
svm_convert.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_displace.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_fresnel.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_gamma.h Cycles: Code cleanup, spaces around keywords 2015-03-28 00:15:15 +05:00
svm_geometry.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_gradient.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_hsv.h Cleanup: Typo fix in HSV code. 2015-04-04 07:50:09 +02:00
svm_image.h Cycles: Split BVH nodes storage into inner and leaf nodes 2015-04-20 17:29:51 +05:00
svm_invert.h Cycles: Code cleanup, spaces around keywords 2015-03-28 00:15:15 +05:00
svm_light_path.h Cycles: Avoid float/int conversion in few places 2015-03-31 19:52:14 +05:00
svm_magic.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_mapping.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_math_util.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_math.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_mix.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_musgrave.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_noise.h Cleanup: Remove some unused / unreferenced functions for perdiodic perlin noise. 2014-10-03 18:00:45 +02:00
svm_noisetex.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_normal.h Cycles: Code cleanup, spaces around keywords 2015-03-28 00:15:15 +05:00
svm_ramp.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_sepcomb_hsv.h Cycles: Code cleanup, spaces around keywords 2015-03-28 00:15:15 +05:00
svm_sepcomb_vector.h Cycles: Code cleanup, spaces around keywords 2015-03-28 00:15:15 +05:00
svm_sky.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_tex_coord.h Cycles: Fix for bump node not working with object texture mapping 2015-01-29 21:48:22 +05:00
svm_texture.h Cycles: Code cleanup, spaces around keywords 2015-03-28 00:15:15 +05:00
svm_types.h Fix T43755: Wireframe attribute doesn't work with displace 2015-02-21 17:30:29 +05:00
svm_value.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_vector_transform.h Cycles: Code cleanup, spaces around keywords 2015-03-28 00:15:15 +05:00
svm_voronoi.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_wave.h Cleanup: Fix Cycles Apache header. 2014-12-25 02:50:24 +01:00
svm_wavelength.h Cycles: Code cleanup, spaces around keywords 2015-03-28 00:15:15 +05:00
svm_wireframe.h Cycles: Code cleanup, spaces around keywords 2015-03-28 00:15:15 +05:00
svm.h Cycles: Avoid float/int conversion in few places 2015-03-31 19:52:14 +05:00