blender/intern/cycles
Sergey Sharybin 064caae7b2 Cycles: BVH-related SSE optimization
Several ideas here:

- Optimize calculation of near_{x,y,z} in a way that does not require
  3 if() statements per update, which avoids negative effect of wrong
  branch prediction.

- Optimization of direction clamping for BVH.

- Optimization of point/direction transform.

Brings ~1.5% speedup again depending on a scene (unfortunately, this
speedup can't be sum across all previous commits because speedup of
each of the changes varies from scene to scene, but it still seems to
be nice solid speedup of few percent on Linux and bigger speedup was
reported on Windows).

Once again ,thanks Maxym for inspiration!

Still TODO: We have multiple places where we need to calculate near
x,y,z indices in BVH, for now it's only done for main BVH traversal.
Will try to move this calculation to an utility function and see if
that can be easily re-used across all the BVH flavors.
2016-10-25 14:47:34 +02:00
..
app Cycles Standalone: Fix support for subdivision meshes 2016-08-24 10:39:00 -04:00
blender Cycles: Remove explicit std:: from types where possible 2016-10-24 12:31:11 +02:00
bvh Cycles: Fix uninitialized variable from the previous commit 2016-10-24 12:54:24 +02:00
cmake CMake: Fix typo in CUDA dynload commit 2016-01-14 12:48:14 +05:00
device Cycles: Remove explicit std:: from types where possible 2016-10-24 12:31:11 +02:00
doc
graph Cycles: Don't use guarded vector for statically initialized data 2016-10-24 14:18:22 +02:00
kernel Cycles: BVH-related SSE optimization 2016-10-25 14:47:34 +02:00
render Cycles: Remove explicit std:: from types where possible 2016-10-24 12:31:11 +02:00
subd Cycles: Cleanup, style 2016-10-24 12:26:12 +02:00
test Cycles: Cleanup, style 2016-10-24 12:26:12 +02:00
util Cycles: BVH-related SSE optimization 2016-10-25 14:47:34 +02:00
CMakeLists.txt Cycles microdisplacement: Support for Catmull-Clark subdivision via OpenSubdiv 2016-08-07 11:13:11 -04:00