diff options
author | Ines Almeida <britalmeida@gmail.com> | 2018-10-13 20:49:26 +0300 |
---|---|---|
committer | Ines Almeida <britalmeida@gmail.com> | 2018-10-13 20:49:26 +0300 |
commit | ab62b7e971ab446c8c286fac305a846f83161e50 (patch) | |
tree | 7fd5a67b9653e2e10efee94374e812e76da86a05 /intern/cycles/util/util_math.h | |
parent | cc8424e73324b772621045c1856f9a8869faa859 (diff) | |
parent | dd6bf3f84a9137affbcd8ba0fc957c32b8c0aff7 (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.h | 24 |
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. */ |