Blender Git Loki
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)
/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)