summaryrefslogtreecommitdiffstats
path: root/thirdparty/embree/common/math/vec4.h
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/embree/common/math/vec4.h')
-rw-r--r--thirdparty/embree/common/math/vec4.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/thirdparty/embree/common/math/vec4.h b/thirdparty/embree/common/math/vec4.h
index 10c53f47b4..5647859257 100644
--- a/thirdparty/embree/common/math/vec4.h
+++ b/thirdparty/embree/common/math/vec4.h
@@ -3,7 +3,7 @@
#pragma once
-#include "math.h"
+#include "emath.h"
#include "vec3.h"
namespace embree
@@ -221,6 +221,8 @@ namespace embree
{
template<> __forceinline Vec4<float>::Vec4( const Vec3fx& a ) { x = a.x; y = a.y; z = a.z; w = a.w; }
+#if !defined(__SYCL_DEVICE_ONLY__)
+
#if defined(__AVX__)
template<> __forceinline Vec4<vfloat4>::Vec4( const Vec3fx& a ) {
x = a.x; y = a.y; z = a.z; w = a.w;
@@ -240,4 +242,25 @@ namespace embree
#if defined(__AVX512F__)
template<> __forceinline Vec4<vfloat16>::Vec4( const Vec3fx& a ) : x(a.x), y(a.y), z(a.z), w(a.w) {}
#endif
+
+#else
+
+#if defined(__SSE__)
+ template<> __forceinline Vec4<vfloat4>::Vec4(const Vec3fx& a) {
+ x = a.x; y = a.y; z = a.z; w = a.w;
+ }
+#endif
+#if defined(__AVX__)
+ template<> __forceinline Vec4<vfloat8>::Vec4(const Vec3fx& a) {
+ x = a.x; y = a.y; z = a.z; w = a.w;
+ }
+#endif
+#if defined(__AVX512F__)
+ template<> __forceinline Vec4<vfloat16>::Vec4(const Vec3fx& a) {
+ x = a.x; y = a.y; z = a.z; w = a.w;
+ }
+#endif
+
+#endif
}
+