diff options
author | Paul Lemire <paul.lemire@kdab.com> | 2017-03-15 10:17:05 +0100 |
---|---|---|
committer | Paul Lemire <paul.lemire@kdab.com> | 2018-02-02 13:58:34 +0000 |
commit | 437a33de9336a5c50711e63dd6dfcd86ad28d5a5 (patch) | |
tree | 6f6cbf6fa5285a79cda6a849a0b96e744ec840c6 /src/core/transforms | |
parent | 46319648436814afb5a77755dde6681e304befaf (diff) |
Render: Use SIMD Vectors and Matrices in the backend
Change-Id: I19b3b2f8fcb06eb2bc600ebe370465dd15a8eabc
Reviewed-by: Sean Harmer <sean.harmer@kdab.com>
Diffstat (limited to 'src/core/transforms')
-rw-r--r-- | src/core/transforms/matrix4x4_p.h | 12 | ||||
-rw-r--r-- | src/core/transforms/vector3d_p.h | 12 | ||||
-rw-r--r-- | src/core/transforms/vector4d_p.h | 12 |
3 files changed, 36 insertions, 0 deletions
diff --git a/src/core/transforms/matrix4x4_p.h b/src/core/transforms/matrix4x4_p.h index 18f5db4c3..d100d3d3b 100644 --- a/src/core/transforms/matrix4x4_p.h +++ b/src/core/transforms/matrix4x4_p.h @@ -83,4 +83,16 @@ QT_END_NAMESPACE #endif +template<typename UsingType> +Q_ALWAYS_INLINE QMatrix4x4 convertToQMatrix4x4(const UsingType &v) +{ + return v.toQMatrix4x4(); +} + +template<> +Q_ALWAYS_INLINE QMatrix4x4 convertToQMatrix4x4<QMatrix4x4>(const QMatrix4x4 &v) +{ + return v; +} + #endif // QT3DCORE_MATRIX4X4_P_H diff --git a/src/core/transforms/vector3d_p.h b/src/core/transforms/vector3d_p.h index 6467d7686..80e936903 100644 --- a/src/core/transforms/vector3d_p.h +++ b/src/core/transforms/vector3d_p.h @@ -74,4 +74,16 @@ QT_END_NAMESPACE #endif +template<typename UsingType> +Q_ALWAYS_INLINE QVector3D convertToQVector3D(const UsingType &v) +{ + return v.toQVector3D(); +} + +template<> +Q_ALWAYS_INLINE QVector3D convertToQVector3D<QVector3D>(const QVector3D &v) +{ + return v; +} + #endif // QT3DCORE_VECTOR3D_P_H diff --git a/src/core/transforms/vector4d_p.h b/src/core/transforms/vector4d_p.h index a03dc234f..dbfaffffd 100644 --- a/src/core/transforms/vector4d_p.h +++ b/src/core/transforms/vector4d_p.h @@ -74,4 +74,16 @@ QT_END_NAMESPACE #endif +template<typename UsingType> +Q_ALWAYS_INLINE QVector4D convertToQVector4D(const UsingType &v) +{ + return v.toQVector4D(); +} + +template<> +Q_ALWAYS_INLINE QVector4D convertToQVector4D<QVector4D>(const QVector4D &v) +{ + return v; +} + #endif // QT3DCORE_VECTOR4D_P_H |