blender/intern/cycles/kernel/geom
Sergey Sharybin 8bca34fe32 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).
2015-11-25 13:01:22 +05:00
..
geom_attribute.h Cycles: OpenCL kernel split 2015-05-09 19:52:40 +05:00
geom_bvh_shadow.h Cycles: Fix wrong intersection with motion blur and degenerate object transform 2015-10-09 15:58:03 +05:00
geom_bvh_subsurface.h Cysles: Avoid having ShaderData on the stack 2015-11-25 13:01:22 +05:00
geom_bvh_traversal.h Cycles: Fix wrong intersection with motion blur and degenerate object transform 2015-10-09 15:58:03 +05:00
geom_bvh_volume_all.h Cycles: Fix wrong intersection with motion blur and degenerate object transform 2015-10-09 15:58:03 +05:00
geom_bvh_volume.h Cycles: Fix wrong intersection with motion blur and degenerate object transform 2015-10-09 15:58:03 +05:00
geom_bvh.h Cysles: Avoid having ShaderData on the stack 2015-11-25 13:01:22 +05:00
geom_curve.h Cycles: Enable hair for split kernels when using Intel or NVidia drivers 2015-05-14 18:48:56 +05:00
geom_motion_curve.h Cycles: Cleanup and optimization comment update 2015-01-17 00:15:47 +05:00
geom_motion_triangle.h Cysles: Avoid having ShaderData on the stack 2015-11-25 13:01:22 +05:00
geom_object.h Cycles: Fix wrong intersection with motion blur and degenerate object transform 2015-10-09 15:58:03 +05:00
geom_primitive.h Cycles: OpenCL kernel split 2015-05-09 19:52:40 +05:00
geom_qbvh_shadow.h Cycles: Fix wrong intersection with motion blur and degenerate object transform 2015-10-09 15:58:03 +05:00
geom_qbvh_subsurface.h Cysles: Avoid having ShaderData on the stack 2015-11-25 13:01:22 +05:00
geom_qbvh_traversal.h Cycles: Fix wrong intersection with motion blur and degenerate object transform 2015-10-09 15:58:03 +05:00
geom_qbvh_volume_all.h Cycles: Fix wrong intersection with motion blur and degenerate object transform 2015-10-09 15:58:03 +05:00
geom_qbvh_volume.h Cycles: Fix wrong intersection with motion blur and degenerate object transform 2015-10-09 15:58:03 +05:00
geom_qbvh.h Fix T43027: OpenCL kernel compilation broken after QBVH 2015-01-02 14:58:01 +05:00
geom_triangle_intersect.h Cysles: Avoid having ShaderData on the stack 2015-11-25 13:01:22 +05:00
geom_triangle.h Cycles: OpenCL kernel split 2015-05-09 19:52:40 +05:00
geom_volume.h Fix T44269: Typo in volume_attribute_float:geom_volume.h 2015-04-05 19:07:45 +05:00
geom.h Cycles: Split BVH nodes storage into inner and leaf nodes 2015-04-20 17:29:51 +05:00