diff options
Diffstat (limited to 'thirdparty/embree/common/math/linearspace3.h')
-rw-r--r-- | thirdparty/embree/common/math/linearspace3.h | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/thirdparty/embree/common/math/linearspace3.h b/thirdparty/embree/common/math/linearspace3.h index 9eaa2cc2bb..f6d2318fa0 100644 --- a/thirdparty/embree/common/math/linearspace3.h +++ b/thirdparty/embree/common/math/linearspace3.h @@ -19,6 +19,7 @@ namespace embree /*! default matrix constructor */ __forceinline LinearSpace3 ( ) {} + __forceinline LinearSpace3 ( const LinearSpace3& other ) { vx = other.vx; vy = other.vy; vz = other.vz; } __forceinline LinearSpace3& operator=( const LinearSpace3& other ) { vx = other.vx; vy = other.vy; vz = other.vz; return *this; } @@ -90,17 +91,20 @@ namespace embree Vector vx,vy,vz; }; +#if !defined(__SYCL_DEVICE_ONLY__) + /*! compute transposed matrix */ template<> __forceinline const LinearSpace3<Vec3fa> LinearSpace3<Vec3fa>::transposed() const { vfloat4 rx,ry,rz; transpose((vfloat4&)vx,(vfloat4&)vy,(vfloat4&)vz,vfloat4(zero),rx,ry,rz); return LinearSpace3<Vec3fa>(Vec3fa(rx),Vec3fa(ry),Vec3fa(rz)); } - +#endif + template<typename T> __forceinline const LinearSpace3<T> transposed(const LinearSpace3<T>& xfm) { return xfm.transposed(); } - + //////////////////////////////////////////////////////////////////////////////// // Unary Operators //////////////////////////////////////////////////////////////////////////////// |