|
|
|
@ -49,9 +49,12 @@ |
|
|
|
|
#define GLM_PLATFORM_ANDROID 0x00100000 |
|
|
|
|
#define GLM_PLATFORM_CHROME_NACL 0x00200000 |
|
|
|
|
#define GLM_PLATFORM_UNIX 0x00400000 |
|
|
|
|
#define GLM_PLATFORM_QNXNTO 0x00800000 |
|
|
|
|
|
|
|
|
|
#ifdef GLM_FORCE_PLATFORM_UNKNOWN |
|
|
|
|
# define GLM_PLATFORM GLM_PLATFORM_UNKNOWN |
|
|
|
|
#elif defined(__QNXNTO__) |
|
|
|
|
# define GLM_PLATFORM GLM_PLATFORM_QNXNTO |
|
|
|
|
#elif defined(__APPLE__) |
|
|
|
|
# define GLM_PLATFORM GLM_PLATFORM_APPLE |
|
|
|
|
#elif defined(_WIN32) |
|
|
|
@ -471,10 +474,10 @@ |
|
|
|
|
|
|
|
|
|
#define GLM_ARCH_PURE 0x0000 |
|
|
|
|
#define GLM_ARCH_SSE2 0x0001 |
|
|
|
|
#define GLM_ARCH_SSE3 0x0002 | GLM_ARCH_SSE2 |
|
|
|
|
#define GLM_ARCH_SSE4 0x0004 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2 |
|
|
|
|
#define GLM_ARCH_AVX 0x0008 | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2 |
|
|
|
|
#define GLM_ARCH_AVX2 0x0010 | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2 |
|
|
|
|
#define GLM_ARCH_SSE3 0x0002// | GLM_ARCH_SSE2
|
|
|
|
|
#define GLM_ARCH_SSE4 0x0004// | GLM_ARCH_SSE3 | GLM_ARCH_SSE2
|
|
|
|
|
#define GLM_ARCH_AVX 0x0008// | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2
|
|
|
|
|
#define GLM_ARCH_AVX2 0x0010// | GLM_ARCH_AVX | GLM_ARCH_SSE4 | GLM_ARCH_SSE3 | GLM_ARCH_SSE2
|
|
|
|
|
|
|
|
|
|
#if(defined(GLM_FORCE_PURE)) |
|
|
|
|
# define GLM_ARCH GLM_ARCH_PURE |
|
|
|
@ -504,6 +507,8 @@ |
|
|
|
|
# else |
|
|
|
|
# define GLM_ARCH GLM_ARCH_PURE |
|
|
|
|
# endif |
|
|
|
|
#elif((GLM_PLATFORM & GLM_PLATFORM_APPLE) && (GLM_COMPILER & GLM_COMPILER_GCC)) |
|
|
|
|
# define GLM_ARCH GLM_ARCH_PURE |
|
|
|
|
#elif(((GLM_COMPILER & GLM_COMPILER_GCC) && (defined(__i386__) || defined(__x86_64__))) || (GLM_COMPILER & GLM_COMPILER_LLVM_GCC)) |
|
|
|
|
# if(defined(__AVX2__)) |
|
|
|
|
# define GLM_ARCH GLM_ARCH_AVX2 |
|
|
|
@ -522,23 +527,23 @@ |
|
|
|
|
# define GLM_ARCH GLM_ARCH_PURE |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#if(GLM_ARCH != GLM_ARCH_PURE) |
|
|
|
|
#if((GLM_ARCH & GLM_ARCH_AVX2) == GLM_ARCH_AVX2) |
|
|
|
|
//#if(GLM_ARCH != GLM_ARCH_PURE)
|
|
|
|
|
#if(GLM_ARCH & GLM_ARCH_AVX2) |
|
|
|
|
# include <immintrin.h> |
|
|
|
|
#endif//GLM_ARCH
|
|
|
|
|
#if((GLM_ARCH & GLM_ARCH_AVX) == GLM_ARCH_AVX) |
|
|
|
|
#if(GLM_ARCH & GLM_ARCH_AVX) |
|
|
|
|
# include <immintrin.h> |
|
|
|
|
#endif//GLM_ARCH
|
|
|
|
|
#if((GLM_ARCH & GLM_ARCH_SSE4) == GLM_ARCH_SSE4) |
|
|
|
|
#if(GLM_ARCH & GLM_ARCH_SSE4) |
|
|
|
|
# include <smmintrin.h> |
|
|
|
|
#endif//GLM_ARCH
|
|
|
|
|
#if((GLM_ARCH & GLM_ARCH_SSE3) == GLM_ARCH_SSE3) |
|
|
|
|
#if(GLM_ARCH & GLM_ARCH_SSE3) |
|
|
|
|
# include <pmmintrin.h> |
|
|
|
|
#endif//GLM_ARCH
|
|
|
|
|
#if((GLM_ARCH & GLM_ARCH_SSE2) == GLM_ARCH_SSE2) |
|
|
|
|
#if(GLM_ARCH & GLM_ARCH_SSE2) |
|
|
|
|
# include <emmintrin.h> |
|
|
|
|
#endif//GLM_ARCH
|
|
|
|
|
#endif//(GLM_ARCH != GLM_ARCH_PURE)
|
|
|
|
|
//#endif//(GLM_ARCH != GLM_ARCH_PURE)
|
|
|
|
|
|
|
|
|
|
#if(defined(GLM_MESSAGES) && !defined(GLM_MESSAGE_ARCH_DISPLAYED)) |
|
|
|
|
# define GLM_MESSAGE_ARCH_DISPLAYED |
|
|
|
|