Blender Git Commit Log

Git Commits -> Revision 8bca34f

Revision 8bca34f by Sergey Sharybin (master)
November 25, 2015, 08:01 (GMT)
Cysles: Avoid having ShaderData on the stack

This commit introduces a SSS-oriented intersection structure which is replacing
old logic of having separate arrays for just intersections and shader data and
encapsulates all the data needed for SSS evaluation.

This giver a huge stack memory saving on GPU. In own experiments it gave 25%
memory usage reduction on GTX560Ti (722MB vs. 946MB).

Unfortunately, this gave some performance loss of 20% which only happens on GPU.
This is perhaps due to different memory access pattern. Will be solved in the
future, hopefully.

Famous saying: won in memory - lost in time (which is also valid in other way
around).

Commit Details:

Full Hash: 8bca34fe326d10cc2f20df7fa541179e9ba835d2
Parent Commit: e6fff42
Lines Changed: +290, -109

9 Modified Paths:

/intern/cycles/kernel/geom/geom_bvh.h (+55, -12) (Diff)
/intern/cycles/kernel/geom/geom_bvh_subsurface.h (+26, -11) (Diff)
/intern/cycles/kernel/geom/geom_motion_triangle.h (+20, -7) (Diff)
/intern/cycles/kernel/geom/geom_qbvh_subsurface.h (+24, -8) (Diff)
/intern/cycles/kernel/geom/geom_triangle_intersect.h (+13, -7) (Diff)
/intern/cycles/kernel/kernel_path.h (+22, -5) (Diff)
/intern/cycles/kernel/kernel_path_branched.h (+35, -8) (Diff)
/intern/cycles/kernel/kernel_subsurface.h (+83, -51) (Diff)
/intern/cycles/kernel/kernel_types.h (+12, -0) (Diff)
By: Miika HämäläinenLast update: Nov-07-2014 14:18MiikaHweb | 2003-2021