Cycles: Un-inline triangle_intersect_precalc() on Apple OpenCL
authorSergey Sharybin <sergey.vfx@gmail.com>
Sat, 20 Jun 2015 16:00:30 +0000 (18:00 +0200)
committerSergey Sharybin <sergey.vfx@gmail.com>
Sat, 20 Jun 2015 16:00:30 +0000 (18:00 +0200)
This gives quite the same problems as experimental CUDA kernels
and for until it's found a root cause of the problem we'd just
explicitly uninline the function.

intern/cycles/kernel/geom/geom_triangle_intersect.h

index 5f41012bf308d0f67fa369a21ce85521dd840c8b..2b7f4d7431f1407cbed6dd82b151ae59db6843ea 100644 (file)
@@ -63,9 +63,11 @@ ccl_device_noinline
 ccl_device_inline
 #    endif
 #  endif  /* (defined(i386) || defined(_M_IX86)) */
-#else  /* defined(__KERNEL_CUDA__) */
+#elif defined(__KERNEL_OPENCL_APPLE__)
+ccl_device_noinline
+#else  /* defined(__KERNEL_OPENCL_APPLE__) */
 ccl_device_inline
-#endif  /* defined(__KERNEL_CUDA__) */
+#endif  /* defined(__KERNEL_OPENCL_APPLE__) */
 void triangle_intersect_precalc(float3 dir,
                                 IsectPrecalc *isect_precalc)
 {