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:
authorLukas Stockner <lukas.stockner@freenet.de>2018-10-06 21:39:01 +0300
committerLukas Stockner <lukas.stockner@freenet.de>2018-10-06 22:49:54 +0300
commita0cc7bd961ef2cd501468dce08998992a88b3bed (patch)
tree90a26871e42e7aafc7d17c0172b4513a501896f8 /intern/cycles/util/util_types_int4_impl.h
parent6e08b01bd9ab87f63d8176bf2ec0b4f073a92ee3 (diff)
Cycles: Implement vectorized NLM kernels for faster CPU denoising
Diffstat (limited to 'intern/cycles/util/util_types_int4_impl.h')
-rw-r--r--intern/cycles/util/util_types_int4_impl.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/intern/cycles/util/util_types_int4_impl.h b/intern/cycles/util/util_types_int4_impl.h
index 07cdc88f2dc..a62561709de 100644
--- a/intern/cycles/util/util_types_int4_impl.h
+++ b/intern/cycles/util/util_types_int4_impl.h
@@ -104,6 +104,16 @@ ccl_device_inline int4 make_int4(const float3& f)
return a;
}
+ccl_device_inline int4 make_int4(const float4& f)
+{
+#ifdef __KERNEL_SSE__
+ int4 a(_mm_cvtps_epi32(f.m128));
+#else
+ int4 a = {(int)f.x, (int)f.y, (int)f.z, (int)f.w};
+#endif
+ return a;
+}
+
ccl_device_inline void print_int4(const char *label, const int4& a)
{
printf("%s: %d %d %d %d\n", label, a.x, a.y, a.z, a.w);