From 9c2e385509becf22924293a81470f25a88300b62 Mon Sep 17 00:00:00 2001 From: Brecht Van Lommel Date: Thu, 3 Mar 2022 13:38:05 +0100 Subject: 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 --- intern/cycles/kernel/light/light.h | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'intern') 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 -- cgit v1.2.3