diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-10-15 18:25:04 +0400 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2014-10-15 18:25:04 +0400 |
commit | acd7f503086147670b6a3e15e251696efcbce7f3 (patch) | |
tree | ade493000c535923618f0e42a366135a1d191cbd | |
parent | 591dc63eb13150b7cdb1b4ead739c8dd334bb4e3 (diff) |
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.
-rw-r--r-- | intern/cycles/kernel/kernel_path_volume.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/intern/cycles/kernel/kernel_path_volume.h b/intern/cycles/kernel/kernel_path_volume.h index da2d5e6eca8..d8143832294 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 */ |