[Bf-blender-cvs] [cccc40db51a] master: Fix T57963: Cycles crash using AO for displacement.
Brecht Van Lommel
noreply at git.blender.org
Thu Dec 6 19:55:35 CET 2018
Commit: cccc40db51a0b73d396952be65ef351a7c68ed4f
Author: Brecht Van Lommel
Date: Thu Dec 6 19:50:05 2018 +0100
Branches: master
https://developer.blender.org/rBcccc40db51a0b73d396952be65ef351a7c68ed4f
Fix T57963: Cycles crash using AO for displacement.
Note this is not supported, there exists no geometry at this point, but
it should not crash at least.
===================================================================
M intern/cycles/kernel/svm/svm_ao.h
M intern/cycles/kernel/svm/svm_bevel.h
===================================================================
diff --git a/intern/cycles/kernel/svm/svm_ao.h b/intern/cycles/kernel/svm/svm_ao.h
index 0337c88a543..15d074780c4 100644
--- a/intern/cycles/kernel/svm/svm_ao.h
+++ b/intern/cycles/kernel/svm/svm_ao.h
@@ -33,6 +33,11 @@ ccl_device_noinline float svm_ao(KernelGlobals *kg,
return 1.0f;
}
+ /* Can't raytrace from shaders like displacement, before BVH exists. */
+ if (kernel_data.bvh.bvh_layout == BVH_LAYOUT_NONE) {
+ return 1.0f;
+ }
+
if(flags & NODE_AO_INSIDE) {
N = -N;
}
diff --git a/intern/cycles/kernel/svm/svm_bevel.h b/intern/cycles/kernel/svm/svm_bevel.h
index 79d0fb6ddbe..96d132acd73 100644
--- a/intern/cycles/kernel/svm/svm_bevel.h
+++ b/intern/cycles/kernel/svm/svm_bevel.h
@@ -34,6 +34,11 @@ ccl_device_noinline float3 svm_bevel(
return sd->N;
}
+ /* Can't raytrace from shaders like displacement, before BVH exists. */
+ if (kernel_data.bvh.bvh_layout == BVH_LAYOUT_NONE) {
+ return sd->N;
+ }
+
/* Don't bevel for blurry indirect rays. */
if(state->min_ray_pdf < 8.0f) {
return sd->N;
More information about the Bf-blender-cvs
mailing list