blender/intern/cycles/kernel/geom
Sergey Sharybin 42aeb608e7 Cycles: Implement AVX2 version of triangle_intersect
This commit basically vectorizes existing code using AVX2 instructions
(without modifying algorithm itself). This gives quite nice speedups:

  BMW:        -8%
  Classroom:  -5%
  Cat:        -5%
  Koro:       +1%
  Barcelona:  -8%

That's on Linux machine, reported performance improvement on Windows
goes up to 20%.

Not currently sure why Koro is somewhat slower because it mainly uses
curve intersection tests, could be a time noise? Or osmething with the
cache utilization perhaps? In any case speedup in other scenes makes
me thinking that current state is acceptable for initial implementation.

This is again inspired by Maxym Dmytrychenko.
2016-10-12 14:11:55 +02:00
..
geom_attribute.h Cycles: Fix regression where smoke wouldn't show in renders 2016-08-17 10:43:13 -04:00
geom_curve.h Fix Cycles CUDA performance on CUDA 8.0. 2016-10-03 22:15:25 +02:00
geom_motion_curve.h Cycles: Cleanup and optimization comment update 2015-01-17 00:15:47 +05:00
geom_motion_triangle.h Cycles: Cleanup file headers 2016-09-29 10:11:40 +02:00
geom_object.h Cycles: Also support the constant emission speedup for mesh lights 2016-09-14 18:53:35 +02:00
geom_patch.h Cycles microdisplacement: Support for Catmull-Clark subdivision via OpenSubdiv 2016-08-07 11:13:11 -04:00
geom_primitive.h Cycles: Add AttributeDescriptor 2016-08-05 23:49:21 -04:00
geom_subd_triangle.h Cycles microdisplacement: Allow kernels to be built without patch evaluation 2016-08-15 11:13:18 -04:00
geom_triangle_intersect.h Cycles: Implement AVX2 version of triangle_intersect 2016-10-12 14:11:55 +02:00
geom_triangle.h Cycles: Cleanup file headers 2016-09-29 10:11:40 +02:00
geom_volume.h Fix a few OpenCL compiler warnings. 2016-09-03 23:06:12 +02:00
geom.h Cycles: Cleanup file headers 2016-09-29 10:11:40 +02:00