diff --git a/glm/detail/func_exponential_simd.inl b/glm/detail/func_exponential_simd.inl index 4b2ef455..a9adea22 100644 --- a/glm/detail/func_exponential_simd.inl +++ b/glm/detail/func_exponential_simd.inl @@ -19,6 +19,7 @@ namespace detail } }; +# if GLM_USE_ALIGNED_GENTYPES == GLM_ENABLE template<> struct compute_sqrt<4, float, aligned_lowp, true> { @@ -29,6 +30,7 @@ namespace detail return Result; } }; +# endif }//namespace detail }//namespace glm diff --git a/glm/detail/func_matrix_simd.inl b/glm/detail/func_matrix_simd.inl index b96c0282..9478ce52 100644 --- a/glm/detail/func_matrix_simd.inl +++ b/glm/detail/func_matrix_simd.inl @@ -61,6 +61,7 @@ namespace detail }; }//namespace detail +# if GLM_USE_ALIGNED_GENTYPES == GLM_ENABLE template<> GLM_FUNC_QUALIFIER mat<4, 4, float, aligned_lowp> outerProduct<4, 4, float, aligned_lowp>(vec<4, float, aligned_lowp> const& c, vec<4, float, aligned_lowp> const& r) { @@ -90,6 +91,7 @@ namespace detail std::memcpy(&Result[0], &NativeResult[0], sizeof(Result)); return Result; } +# endif }//namespace glm #endif diff --git a/glm/detail/qualifier.hpp b/glm/detail/qualifier.hpp index 2437fc06..9765fb2f 100644 --- a/glm/detail/qualifier.hpp +++ b/glm/detail/qualifier.hpp @@ -15,7 +15,7 @@ namespace glm packed_mediump, ///< Typed data is tightly packed in memory and operations are executed with medium precision in term of ULPs for higher performance packed_lowp, ///< Typed data is tightly packed in memory and operations are executed with low precision in term of ULPs to maximize performance -# if (GLM_USE_ALIGNED_GENTYPES == GLM_ENABLE) +# if GLM_USE_ALIGNED_GENTYPES == GLM_ENABLE aligned_highp, ///< Typed data is aligned in memory allowing SIMD optimizations and operations are executed with high precision in term of ULPs aligned_mediump, ///< Typed data is aligned in memory allowing SIMD optimizations and operations are executed with high precision in term of ULPs for higher performance aligned_lowp, // ///< Typed data is aligned in memory allowing SIMD optimizations and operations are executed with high precision in term of ULPs to maximize performance @@ -27,7 +27,7 @@ namespace glm lowp = packed_lowp, ///< By default lowp qualifier is also packed packed = packed_highp, ///< By default packed qualifier is also high precision -# if (GLM_USE_ALIGNED_GENTYPES == GLM_ENABLE) && defined(GLM_FORCE_DEFAULT_ALIGNED_GENTYPES) +# if GLM_USE_ALIGNED_GENTYPES == GLM_ENABLE && defined(GLM_FORCE_DEFAULT_ALIGNED_GENTYPES) defaultp = aligned_highp # else defaultp = highp diff --git a/glm/detail/type_vec4_simd.inl b/glm/detail/type_vec4_simd.inl index db0eb3b2..618c895e 100644 --- a/glm/detail/type_vec4_simd.inl +++ b/glm/detail/type_vec4_simd.inl @@ -147,6 +147,7 @@ namespace detail }; # endif +# if GLM_USE_ALIGNED_GENTYPES == GLM_ENABLE template<> struct compute_vec4_div { @@ -157,6 +158,7 @@ namespace detail return Result; } }; +# endif template struct compute_vec4_and @@ -343,6 +345,7 @@ namespace detail }; }//namespace detail +# if GLM_USE_ALIGNED_GENTYPES == GLM_ENABLE template<> GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX11 vec<4, float, aligned_lowp>::vec(float _s) : data(_mm_set1_ps(_s)) @@ -457,6 +460,7 @@ namespace detail GLM_FUNC_QUALIFIER GLM_CONSTEXPR_CXX11 vec<4, float, aligned_highp>::vec(int32 _x, int32 _y, int32 _z, int32 _w) : data(_mm_castsi128_ps(_mm_set_epi32(_w, _z, _y, _x))) {} +#endif// GLM_USE_ALIGNED_GENTYPES == GLM_ENABLE }//namespace glm #endif//GLM_ARCH & GLM_ARCH_SSE2_BIT