blender/intern/cycles/bvh
Sergey Sharybin 9311a5be04 Cycles: Speedup BVH build for certain compilers
The issue was noticed with gcc-4.7 (used by the release build environment)
which didn't generate optimal enough code for BVH references swap. Seems it
looked up for the assign operator for each of the reference structure members
even though nothing special was required for assignment.

Forcing compiler to use simple memory copy gives speedup of like 2-3 times.

The issue doesn't happen with OSX's clang and new gcc-4.9, but since we're
gonna to stick to gcc-4.7 for official releases for quite some time still it's
nice to have performance issues resolved for all the compilers.

Didn't put the code into #ifdef so if in the future some issues appears with
alignment or assignment which need to happen as an operator we notice this
earlier.
2014-11-24 18:50:46 +05:00
..
bvh_binning.cpp Code cleanup: Add -Werror=float-conversion to Cycles 2014-05-03 07:31:46 +10:00
bvh_binning.h Cycles: merging features from tomato branch. 2012-04-28 08:53:59 +00:00
bvh_build.cpp Cycles: Log time spent on the BVH build 2014-11-24 18:50:46 +05:00
bvh_build.h Cycles: optimization for hair BVH build, allow max 2 hair curves per leaf. 2014-04-22 17:15:41 +02:00
bvh_node.cpp style cleanup: assignment & indentation. 2012-06-09 18:56:12 +00:00
bvh_node.h style cleanup: trailing tabs & expand some non prefix tabs into spaces. 2012-10-21 05:46:41 +00:00
bvh_params.h Cycles: Speedup BVH build for certain compilers 2014-11-24 18:50:46 +05:00
bvh_sort.cpp Cycles code refactor: changes to make adding new primitive types easier. 2014-03-29 13:03:46 +01:00
bvh_sort.h style cleanup: block comments 2012-06-09 17:22:52 +00:00
bvh_split.cpp Cycles: optimization for hair BVH build, allow max 2 hair curves per leaf. 2014-04-22 17:15:41 +02:00
bvh_split.h Cycles: optimization for hair BVH build, allow max 2 hair curves per leaf. 2014-04-22 17:15:41 +02:00
bvh.cpp Cycles: Rebuild BVH from scratch if loading cache failed 2014-09-01 18:05:10 +06:00
bvh.h Cycles code refactor: changes to make adding new primitive types easier. 2014-03-29 13:03:46 +01:00
CMakeLists.txt code cleanup: 2012-10-17 04:13:03 +00:00