[Bf-blender-cvs] [3126319] master: Fix T43511: Major slow down with many instanced objects in cycles GPU

Sergey Sharybin noreply at git.blender.org
Mon Feb 2 13:36:06 CET 2015


Commit: 31263192bbb97e97d7e9674c7d90fa209718be4b
Author: Sergey Sharybin
Date:   Mon Feb 2 17:06:15 2015 +0500
Branches: master
https://developer.blender.org/rB31263192bbb97e97d7e9674c7d90fa209718be4b

Fix T43511: Major slow down with many instanced objects in cycles GPU

Slowdown was caused by watertight intersection commit and follow-up workaorund
for compiler crash which uninlined utility function which rotates the ray.

Now it's only uninlined for sm_50 and sm_52 experimental kernels which are the
only ones which failed to compile.

Rendering still might be a bit slower but at least shouldn't be that dramatic.

===================================================================

M	intern/cycles/kernel/geom/geom_triangle_intersect.h

===================================================================

diff --git a/intern/cycles/kernel/geom/geom_triangle_intersect.h b/intern/cycles/kernel/geom/geom_triangle_intersect.h
index bd5861d..329b18f 100644
--- a/intern/cycles/kernel/geom/geom_triangle_intersect.h
+++ b/intern/cycles/kernel/geom/geom_triangle_intersect.h
@@ -50,7 +50,7 @@ typedef struct IsectPrecalc {
 } IsectPrecalc;
 
 /* Workaround for CUDA toolkit 6.5.16. */
-#ifdef __KERNEL_CPU__
+#if defined(__KERNEL_CPU__) || !defined(__KERNEL_CUDA_EXPERIMENTAL__) || __CUDA_ARCH__ < 500
 ccl_device_inline
 #else
 ccl_device_noinline




More information about the Bf-blender-cvs mailing list