[Bf-blender-cvs] [acd7f50] master: Fix T42160: CUDA error: ILLEGAL_ADDRESS in cuCtxSynchronize()

Sergey Sharybin noreply at git.blender.org
Wed Oct 15 16:26:12 CEST 2014


Commit: acd7f503086147670b6a3e15e251696efcbce7f3
Author: Sergey Sharybin
Date:   Wed Oct 15 16:25:04 2014 +0200
Branches: master
https://developer.blender.org/rBacd7f503086147670b6a3e15e251696efcbce7f3

Fix T42160: CUDA error: ILLEGAL_ADDRESS in cuCtxSynchronize()

This is so-called GPU limitation boundary hit, told compiler to NOT include
volume bound function, otherwise some real weird things used to happen.

We actually might want to do the same for CPU, inlining everything is not
the way to get fastest code.

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

M	intern/cycles/kernel/kernel_path_volume.h

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

diff --git a/intern/cycles/kernel/kernel_path_volume.h b/intern/cycles/kernel/kernel_path_volume.h
index da2d5e6..d814383 100644
--- a/intern/cycles/kernel/kernel_path_volume.h
+++ b/intern/cycles/kernel/kernel_path_volume.h
@@ -56,7 +56,12 @@ ccl_device void kernel_path_volume_connect_light(KernelGlobals *kg, RNG *rng,
 #endif
 }
 
-ccl_device bool kernel_path_volume_bounce(KernelGlobals *kg, RNG *rng,
+#ifdef __KERNEL_GPU__
+ccl_device_noinline
+#else
+ccl_device
+#endif
+bool kernel_path_volume_bounce(KernelGlobals *kg, RNG *rng,
 	ShaderData *sd, float3 *throughput, PathState *state, PathRadiance *L, Ray *ray)
 {
 	/* sample phase function */




More information about the Bf-blender-cvs mailing list