diff options
Diffstat (limited to 'intern/cycles/kernel')
-rw-r--r-- | intern/cycles/kernel/kernel_accumulate.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/intern/cycles/kernel/kernel_accumulate.h b/intern/cycles/kernel/kernel_accumulate.h index ae5f6e5e070..366f25422fd 100644 --- a/intern/cycles/kernel/kernel_accumulate.h +++ b/intern/cycles/kernel/kernel_accumulate.h @@ -557,7 +557,11 @@ ccl_device_inline void path_radiance_sum_shadowcatcher(KernelGlobals *kg, float path_total = average(L->path_total); float shadow; - if(path_total == 0.0f) { + if(UNLIKELY(!isfinite_safe(path_total))) { + kernel_assert(!"Non-finite total radiance along the path"); + shadow = 0.0f; + } + else if(path_total == 0.0f) { shadow = L->shadow_transparency; } else { |