Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrecht Van Lommel <brecht@blender.org>2022-03-03 15:38:05 +0300
committerBrecht Van Lommel <brecht@blender.org>2022-03-03 15:42:58 +0300
commit9c2e385509becf22924293a81470f25a88300b62 (patch)
tree0f3fa0d81cb13d9101e2cc7c914d87db88b38b3d
parentd961adb866cc2d7a95e4c6a7f06c49e346ec1abe (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.h10
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