diff options
author | Brecht Van Lommel <brecht@blender.org> | 2022-03-03 15:38:05 +0300 |
---|---|---|
committer | Brecht Van Lommel <brecht@blender.org> | 2022-03-03 15:42:58 +0300 |
commit | 9c2e385509becf22924293a81470f25a88300b62 (patch) | |
tree | 0f3fa0d81cb13d9101e2cc7c914d87db88b38b3d | |
parent | d961adb866cc2d7a95e4c6a7f06c49e346ec1abe (diff) |
Fix Cycles hang in classroom scene with upcomping AMD driver version 22.10
This is a workaround until there is a fix in the HIP compiler or driver.
Differential Revision: https://developer.blender.org/D14232
-rw-r--r-- | intern/cycles/kernel/light/light.h | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/intern/cycles/kernel/light/light.h b/intern/cycles/kernel/light/light.h index d05fe47cc2c..40642bdb413 100644 --- a/intern/cycles/kernel/light/light.h +++ b/intern/cycles/kernel/light/light.h @@ -394,11 +394,19 @@ ccl_device bool light_sample_from_distant_ray(KernelGlobals kg, float costheta = dot(-lightD, ray_D); float cosangle = klight->distant.cosangle; + /* Workaround to prevent a hang in the classroom scene with AMD HIP drivers 22.10, + * Remove when a compiler fix is available. */ +#ifdef __HIP__ + ls->shader = klight->shader_id; +#endif + if (costheta < cosangle) return false; ls->type = type; +#ifndef __HIP__ ls->shader = klight->shader_id; +#endif ls->object = PRIM_NONE; ls->prim = PRIM_NONE; ls->lamp = lamp; @@ -947,4 +955,4 @@ ccl_device_inline bool light_distribution_sample_new_position(KernelGlobals kg, } } -CCL_NAMESPACE_END
\ No newline at end of file +CCL_NAMESPACE_END |