Fixed build error #190

master
Christophe Riccio ago%!(EXTRA string=11 years)
parent 10778448ef
commit 9a3d7a115c
  1. 2
      glm/detail/func_common.hpp
  2. 33
      glm/detail/intrinsic_geometric.inl

@ -170,7 +170,7 @@ namespace glm
/// @tparam genType Floating-point or integer; scalar or vector types. /// @tparam genType Floating-point or integer; scalar or vector types.
/// ///
/// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/min.xml">GLSL min man page</a> /// @see <a href="http://www.opengl.org/sdk/docs/manglsl/xhtml/min.xml">GLSL min man page</a>
/// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a><<<<<<< HEAD /// @see <a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.20.8.pdf">GLSL 4.20.8 specification, section 8.3 Common Functions</a>
template <typename genType> template <typename genType>
GLM_FUNC_DECL genType min( GLM_FUNC_DECL genType min(
genType const & x, genType const & x,

@ -32,36 +32,33 @@ namespace detail{
//length //length
GLM_FUNC_QUALIFIER __m128 sse_len_ps(__m128 x) GLM_FUNC_QUALIFIER __m128 sse_len_ps(__m128 x)
{ {
__m128 dot0 = sse_dot_ps(x, x); __m128 dot0 = sse_dot_ps(x, x);
__m128 sqt0 = _mm_sqrt_ps(dot0); __m128 sqt0 = _mm_sqrt_ps(dot0);
return sqt0; return sqt0;
} }
//distance //distance
GLM_FUNC_QUALIFIER __m128 sse_dst_ps(__m128 p0, __m128 p1) GLM_FUNC_QUALIFIER __m128 sse_dst_ps(__m128 p0, __m128 p1)
{ {
__m128 sub0 = _mm_sub_ps(p0, p1); __m128 sub0 = _mm_sub_ps(p0, p1);
__m128 len0 = sse_len_ps(sub0); __m128 len0 = sse_len_ps(sub0);
return len0; return len0;
} }
//dot //dot
GLM_FUNC_QUALIFIER __m128 sse_dot_ps(__m128 v1, __m128 v2) GLM_FUNC_QUALIFIER __m128 sse_dot_ps(__m128 v1, __m128 v2)
{ {
<<<<<<< HEAD
# if(GLM_ARCH & GLM_ARCH_AVX) # if(GLM_ARCH & GLM_ARCH_AVX)
======= return _mm_dp_ps(v1, v2, 0xff);
# if((GLM_ARCH & GLM_ARCH_AVX) == GLM_ARCH_AVX) # else
>>>>>>> 0.9.5 __m128 mul0 = _mm_mul_ps(v1, v2);
return _mm_dp_ps(v1, v2, 0xff); __m128 swp0 = _mm_shuffle_ps(mul0, mul0, _MM_SHUFFLE(2, 3, 0, 1));
# else __m128 add0 = _mm_add_ps(mul0, swp0);
__m128 mul0 = _mm_mul_ps(v1, v2); __m128 swp1 = _mm_shuffle_ps(add0, add0, _MM_SHUFFLE(0, 1, 2, 3));
__m128 swp0 = _mm_shuffle_ps(mul0, mul0, _MM_SHUFFLE(2, 3, 0, 1)); __m128 add1 = _mm_add_ps(add0, swp1);
__m128 add0 = _mm_add_ps(mul0, swp0); return add1;
__m128 swp1 = _mm_shuffle_ps(add0, add0, _MM_SHUFFLE(0, 1, 2, 3)); # endif
__m128 add1 = _mm_add_ps(add0, swp1);
return add1;
# endif
} }
// SSE1 // SSE1

Loading…
Cancel
Save