[Bf-blender-cvs] [9d633312762] soc-2018-hair-shader: Add nirved's OpenCL compatibility patch
L. E. Segovia
noreply at git.blender.org
Wed May 30 03:31:45 CEST 2018
Commit: 9d6333127623ebed7a275d382e63da1f87712aae
Author: L. E. Segovia
Date: Wed May 30 01:31:24 2018 +0000
Branches: soc-2018-hair-shader
https://developer.blender.org/rB9d6333127623ebed7a275d382e63da1f87712aae
Add nirved's OpenCL compatibility patch
Ref T54796
===================================================================
M intern/cycles/kernel/closure/bsdf_hair_principled.h
M intern/cycles/kernel/kernel_compat_opencl.h
M intern/cycles/kernel/svm/svm_closure.h
===================================================================
diff --git a/intern/cycles/kernel/closure/bsdf_hair_principled.h b/intern/cycles/kernel/closure/bsdf_hair_principled.h
index 83de29d07dc..fac181d4a1c 100644
--- a/intern/cycles/kernel/closure/bsdf_hair_principled.h
+++ b/intern/cycles/kernel/closure/bsdf_hair_principled.h
@@ -144,6 +144,8 @@ ccl_device_inline float4 combine_with_energy(float3 c)
return make_float4(c.x, c.y, c.z, linear_rgb_to_gray(c));
}
+#ifdef __HAIR__
+
ccl_device int bsdf_principled_hair_setup(PrincipledHairBSDF *bsdf)
{
// if((sd->type & PRIMITIVE_ALL_CURVE) == 0) {
@@ -161,6 +163,8 @@ ccl_device int bsdf_principled_hair_setup(PrincipledHairBSDF *bsdf)
return SD_BSDF|SD_BSDF_HAS_EVAL|SD_BSDF_NEEDS_LCG;
}
+#endif /* __HAIR__ */
+
ccl_device_inline void setup_geometry(KernelGlobals *kg, ShaderData *sd, PrincipledHairBSDF *bsdf)
{
/* Compute local frame, aligned to curve tangent and ray direction. */
@@ -478,4 +482,3 @@ ccl_device void bsdf_principled_hair_blur(ShaderClosure *sc, float roughness)
CCL_NAMESPACE_END
#endif /* __BSDF_HAIR_PRINCIPLED_H__ */
-
diff --git a/intern/cycles/kernel/kernel_compat_opencl.h b/intern/cycles/kernel/kernel_compat_opencl.h
index 671c47e2225..7a64385329e 100644
--- a/intern/cycles/kernel/kernel_compat_opencl.h
+++ b/intern/cycles/kernel/kernel_compat_opencl.h
@@ -123,6 +123,7 @@
#define fmaxf(x, y) fmax(((float)(x)), ((float)(y)))
#define fminf(x, y) fmin(((float)(x)), ((float)(y)))
#define fmodf(x, y) fmod((float)(x), (float)(y))
+#define sinhf(x)sinh(((float)(x)))
#ifndef __CL_USE_NATIVE__
# define sinf(x) native_sin(((float)(x)))
diff --git a/intern/cycles/kernel/svm/svm_closure.h b/intern/cycles/kernel/svm/svm_closure.h
index 65cb4cbfd43..6f5c0efb1ef 100644
--- a/intern/cycles/kernel/svm/svm_closure.h
+++ b/intern/cycles/kernel/svm/svm_closure.h
@@ -721,6 +721,7 @@ ccl_device void svm_node_closure_bsdf(KernelGlobals *kg, ShaderData *sd, float *
}
break;
}
+#ifdef __HAIR__
case CLOSURE_BSDF_HAIR_PRINCIPLED_ID: {
float3 weight = sd->svm_closure_weight * mix_weight;
@@ -763,7 +764,6 @@ ccl_device void svm_node_closure_bsdf(KernelGlobals *kg, ShaderData *sd, float *
}
break;
}
-#ifdef __HAIR__
case CLOSURE_BSDF_HAIR_REFLECTION_ID:
case CLOSURE_BSDF_HAIR_TRANSMISSION_ID: {
float3 weight = sd->svm_closure_weight * mix_weight;
@@ -806,7 +806,7 @@ ccl_device void svm_node_closure_bsdf(KernelGlobals *kg, ShaderData *sd, float *
break;
}
-#endif
+#endif /* __HAIR__ */
#ifdef __SUBSURFACE__
case CLOSURE_BSSRDF_CUBIC_ID:
More information about the Bf-blender-cvs
mailing list