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:
-rw-r--r--intern/cycles/kernel/geom/geom_curve_intersect.h6
m---------release/datafiles/locale0
-rw-r--r--source/blender/blenlib/BLI_compiler_attrs.h10
3 files changed, 10 insertions, 6 deletions
diff --git a/intern/cycles/kernel/geom/geom_curve_intersect.h b/intern/cycles/kernel/geom/geom_curve_intersect.h
index b6b58b52a29..5cf8713e3a8 100644
--- a/intern/cycles/kernel/geom/geom_curve_intersect.h
+++ b/intern/cycles/kernel/geom/geom_curve_intersect.h
@@ -874,13 +874,15 @@ ccl_device_inline float3 curve_refine(KernelGlobals *kg,
float gd = isect->v;
/* direction from inside to surface of curve */
- sd->Ng = (dif - tg * sd->u * l) / (P_curve[0].w + sd->u * l * gd);
+ float denom = fmaxf(P_curve[0].w + sd->u * l * gd, 1e-8f);
+ sd->Ng = (dif - tg * sd->u * l) / denom;
/* adjustment for changing radius */
if(gd != 0.0f) {
sd->Ng = sd->Ng - gd * tg;
- sd->Ng = normalize(sd->Ng);
}
+
+ sd->Ng = normalize(sd->Ng);
}
sd->N = sd->Ng;
diff --git a/release/datafiles/locale b/release/datafiles/locale
-Subproject d3349b42856d00c278f72f2a5909a6c96b9cdb5
+Subproject fec9a7e88c8686830e9210099818a61489e699e
diff --git a/source/blender/blenlib/BLI_compiler_attrs.h b/source/blender/blenlib/BLI_compiler_attrs.h
index 2b6baa0d67b..09c0426db92 100644
--- a/source/blender/blenlib/BLI_compiler_attrs.h
+++ b/source/blender/blenlib/BLI_compiler_attrs.h
@@ -93,10 +93,12 @@
#endif
/* Use to suppress '-Wimplicit-fallthrough' (in place of 'break'). */
-#if defined(__GNUC__) && (__GNUC__ >= 7) /* gcc7.0+ only */
-# define ATTR_FALLTHROUGH __attribute__((fallthrough))
-#else
-# define ATTR_FALLTHROUGH ((void)0)
+#ifndef ATTR_FALLTHROUGH
+# if defined(__GNUC__) && (__GNUC__ >= 7) /* gcc7.0+ only */
+# define ATTR_FALLTHROUGH __attribute__((fallthrough))
+# else
+# define ATTR_FALLTHROUGH ((void)0)
+# endif
#endif
/* Declare the memory alignment in Bytes. */