[Bf-blender-cvs] [fd2de82] blender-v2.72-release: Fix T42160: CUDA error: ILLEGAL_ADDRESS in cuCtxSynchronize()

Sergey Sharybin noreply at git.blender.org
Wed Oct 15 16:37:45 CEST 2014


Commit: fd2de82207e9519f1d1a5d470b45ae573a7bd6bd
Author: Sergey Sharybin
Date:   Wed Oct 15 16:25:04 2014 +0200
Branches: blender-v2.72-release
https://developer.blender.org/rBfd2de82207e9519f1d1a5d470b45ae573a7bd6bd

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