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:
authorInes Almeida <britalmeida@gmail.com>2018-10-13 20:49:26 +0300
committerInes Almeida <britalmeida@gmail.com>2018-10-13 20:49:26 +0300
commitab62b7e971ab446c8c286fac305a846f83161e50 (patch)
tree7fd5a67b9653e2e10efee94374e812e76da86a05 /intern/cycles/util/util_math.h
parentcc8424e73324b772621045c1856f9a8869faa859 (diff)
parentdd6bf3f84a9137affbcd8ba0fc957c32b8c0aff7 (diff)
Merge branch 'origin/blender2.8' into temp-ui-layout-2.8temp-ui-layout-2.8
Diffstat (limited to 'intern/cycles/util/util_math.h')
-rw-r--r--intern/cycles/util/util_math.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/intern/cycles/util/util_math.h b/intern/cycles/util/util_math.h
index 52aeb8d8599..eafae5f31c0 100644
--- a/intern/cycles/util/util_math.h
+++ b/intern/cycles/util/util_math.h
@@ -220,6 +220,30 @@ ccl_device_inline float __uint_as_float(uint i)
u.i = i;
return u.f;
}
+
+ccl_device_inline int4 __float4_as_int4(float4 f)
+{
+#ifdef __KERNEL_SSE__
+ return int4(_mm_castps_si128(f.m128));
+ #else
+ return make_int4(__float_as_int(f.x),
+ __float_as_int(f.y),
+ __float_as_int(f.z),
+ __float_as_int(f.w));
+#endif
+}
+
+ccl_device_inline float4 __int4_as_float4(int4 i)
+{
+#ifdef __KERNEL_SSE__
+ return float4(_mm_castsi128_ps(i.m128));
+#else
+ return make_float4(__int_as_float(i.x),
+ __int_as_float(i.y),
+ __int_as_float(i.z),
+ __int_as_float(i.w));
+#endif
+}
#endif /* __KERNEL_OPENCL__ */
/* Versions of functions which are safe for fast math. */