Browse Source

Improved alignment

Christophe Riccio 15 years ago
parent
commit
ce78b77f86
3 changed files with 6 additions and 3 deletions
  1. 4 1
      glm/core/_detail.hpp
  2. 1 1
      glm/gtx/simd_mat4.hpp
  3. 1 1
      glm/gtx/simd_vec4.hpp

+ 4 - 1
glm/core/_detail.hpp

@@ -333,11 +333,13 @@ namespace detail
 #if((GLM_COMPILER & GLM_COMPILER_VC) && (GLM_COMPILER >= GLM_COMPILER_VC2005))
 #	define GLM_DEPRECATED __declspec(deprecated)
 #	define GLM_ALIGN(x) __declspec(align(x)) 
+#	define GLM_ALIGNED_STRUCT(x) __declspec(align(x)) struct 
 #	define GLM_RESTRICT __declspec(restrict)
 #	define GLM_RESTRICT_VAR __restrict
 #elif((GLM_COMPILER & GLM_COMPILER_GCC) && (GLM_COMPILER >= GLM_COMPILER_GCC31))
 #	define GLM_DEPRECATED __attribute__((__deprecated__))
 #	define GLM_ALIGN(x) __attribute__((aligned(x)))
+#	define GLM_ALIGNED_STRUCT(x) struct __attribute__((aligned(x)))
 #	if(GLM_COMPILER >= GLM_COMPILER_GCC33)
 #		define GLM_RESTRICT __restrict__
 #		define GLM_RESTRICT_VAR __restrict__
@@ -349,7 +351,8 @@ namespace detail
 #	define GLM_RESTRICT_VAR __restrict__
 #else
 #	define GLM_DEPRECATED
-#	define GLM_ALIGN(x) 
+#	define GLM_ALIGN
+#	define GLM_ALIGNED_STRUCT(x) 
 #	define GLM_RESTRICT
 #	define GLM_RESTRICT_VAR
 #endif//GLM_COMPILER

+ 1 - 1
glm/gtx/simd_mat4.hpp

@@ -34,7 +34,7 @@ namespace glm
 	{
 		/// 4x4 Matrix implemented using SIMD SEE intrinsics.
 		/// \ingroup gtx_simd_mat4
-		GLM_ALIGN(16) struct fmat4x4SIMD
+		GLM_ALIGNED_STRUCT(16) fmat4x4SIMD
 		{
 			enum ctor{null};
 

+ 1 - 1
glm/gtx/simd_vec4.hpp

@@ -34,7 +34,7 @@ namespace glm
 	{
 		/// 4-dimensional vector implemented using SIMD SEE intrinsics.
 		/// \ingroup gtx_simd_vec4
-		GLM_ALIGN(4) struct fvec4SIMD
+		GLM_ALIGNED_STRUCT(4) fvec4SIMD
 		{
 			enum ctor{null};
 			typedef __m128 value_type;