This commit is contained in:
Christophe Riccio 2016-01-01 12:52:27 +01:00
commit c49f4198bc
3 changed files with 10 additions and 17 deletions

View File

@ -395,13 +395,13 @@
#elif defined(GLM_FORCE_SSE2) #elif defined(GLM_FORCE_SSE2)
# define GLM_ARCH (GLM_ARCH_SSE2) # define GLM_ARCH (GLM_ARCH_SSE2)
#elif (GLM_COMPILER & (GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM | GLM_COMPILER_GCC)) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_LINUX)) #elif (GLM_COMPILER & (GLM_COMPILER_APPLE_CLANG | GLM_COMPILER_LLVM | GLM_COMPILER_GCC)) || ((GLM_COMPILER & GLM_COMPILER_INTEL) && (GLM_PLATFORM & GLM_PLATFORM_LINUX))
# if(__AVX2__) # if defined(__AVX2__)
# define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2) # define GLM_ARCH (GLM_ARCH_AVX2 | GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
# elif(__AVX__) # elif defined(__AVX__)
# define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2) # define GLM_ARCH (GLM_ARCH_AVX | GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
# elif(__SSE3__) # elif defined(__SSE3__)
# define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2) # define GLM_ARCH (GLM_ARCH_SSE3 | GLM_ARCH_SSE2)
# elif(__SSE2__) # elif defined(__SSE2__)
# define GLM_ARCH (GLM_ARCH_SSE2) # define GLM_ARCH (GLM_ARCH_SSE2)
# else # else
# define GLM_ARCH GLM_ARCH_PURE # define GLM_ARCH GLM_ARCH_PURE
@ -457,13 +457,6 @@
#endif//GLM_ARCH #endif//GLM_ARCH
#if GLM_ARCH & GLM_ARCH_SSE2 #if GLM_ARCH & GLM_ARCH_SSE2
# include <emmintrin.h> # include <emmintrin.h>
# if(GLM_COMPILER == GLM_COMPILER_VC2005) // VC2005 is missing some intrinsics, workaround
inline float _mm_cvtss_f32(__m128 A) { return A.m128_f32[0]; }
inline __m128 _mm_castpd_ps(__m128d PD) { union { __m128 ps; __m128d pd; } c; c.pd = PD; return c.ps; }
inline __m128d _mm_castps_pd(__m128 PS) { union { __m128 ps; __m128d pd; } c; c.ps = PS; return c.pd; }
inline __m128i _mm_castps_si128(__m128 PS) { union { __m128 ps; __m128i pi; } c; c.ps = PS; return c.pi; }
inline __m128 _mm_castsi128_ps(__m128i PI) { union { __m128 ps; __m128i pi; } c; c.pi = PI; return c.ps; }
# endif
#endif//GLM_ARCH #endif//GLM_ARCH
#if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_ARCH_DISPLAYED) #if defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_ARCH_DISPLAYED)
@ -1008,7 +1001,7 @@ namespace detail
} }
}//namespace glm }//namespace glm
# define GLM_COUNTOF(arr) glm::countof(arr) # define GLM_COUNTOF(arr) glm::countof(arr)
#elif _MSC_VER #elif defined(_MSC_VER)
# define GLM_COUNTOF(arr) _countof(arr) # define GLM_COUNTOF(arr) _countof(arr)
#else #else
# define GLM_COUNTOF(arr) sizeof(arr) / sizeof(arr[0]) # define GLM_COUNTOF(arr) sizeof(arr) / sizeof(arr[0])

View File

@ -52,12 +52,12 @@ namespace detail
i(0) i(0)
{} {}
GLM_FUNC_QUALIFIER uif32(float f) : GLM_FUNC_QUALIFIER uif32(float f_) :
f(f) f(f_)
{} {}
GLM_FUNC_QUALIFIER uif32(uint32 i) : GLM_FUNC_QUALIFIER uif32(uint32 i_) :
i(i) i(i_)
{} {}
float f; float f;

View File

@ -64,7 +64,7 @@ namespace glm
GLM_FUNC_DECL tmat4x4<T, P> translate( GLM_FUNC_DECL tmat4x4<T, P> translate(
tvec3<T, P> const & v); tvec3<T, P> const & v);
/// Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in degrees. /// Builds a rotation 4 * 4 matrix created from an axis of 3 scalars and an angle expressed in radians.
/// @see gtc_matrix_transform /// @see gtc_matrix_transform
/// @see gtx_transform /// @see gtx_transform
template <typename T, precision P> template <typename T, precision P>