|
|
@ -10,8 +10,7 @@ namespace detail |
|
|
|
{ |
|
|
|
{ |
|
|
|
GLM_FUNC_QUALIFIER static float call(tvec4<float, P> const& x, tvec4<float, P> const& y) |
|
|
|
GLM_FUNC_QUALIFIER static float call(tvec4<float, P> const& x, tvec4<float, P> const& y) |
|
|
|
{ |
|
|
|
{ |
|
|
|
__m128 const dot0 = glm_f32v1_dot(x.data, y.data); |
|
|
|
return _mm_cvtss_f32(glm_f32v1_dot(x.data, y.data)); |
|
|
|
return _mm_cvtss_f32(dot0); |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
@ -36,9 +35,8 @@ namespace detail |
|
|
|
{ |
|
|
|
{ |
|
|
|
GLM_FUNC_QUALIFIER static tvec4<float, P> call(tvec4<float, P> const & v) |
|
|
|
GLM_FUNC_QUALIFIER static tvec4<float, P> call(tvec4<float, P> const & v) |
|
|
|
{ |
|
|
|
{ |
|
|
|
__m128 const nrm0 = glm_f32v4_nrm(v.data); |
|
|
|
|
|
|
|
tvec4<float, P> result(uninitialize); |
|
|
|
tvec4<float, P> result(uninitialize); |
|
|
|
result.data = nrm0; |
|
|
|
result.data = glm_f32v4_nrm(v.data); |
|
|
|
return result; |
|
|
|
return result; |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
@ -48,9 +46,8 @@ namespace detail |
|
|
|
{ |
|
|
|
{ |
|
|
|
GLM_FUNC_QUALIFIER static tvec4<float, P> call(tvec4<float, P> const & N, tvec4<float, P> const & I, tvec4<float, P> const & Nref) |
|
|
|
GLM_FUNC_QUALIFIER static tvec4<float, P> call(tvec4<float, P> const & N, tvec4<float, P> const & I, tvec4<float, P> const & Nref) |
|
|
|
{ |
|
|
|
{ |
|
|
|
__m128 const ffd0 = glm_f32v4_ffd(N.data. I.data, Nref.data); |
|
|
|
|
|
|
|
tvec4<float, P> result(uninitialize); |
|
|
|
tvec4<float, P> result(uninitialize); |
|
|
|
result.data = ffd0; |
|
|
|
result.data = glm_f32v4_ffd(N.data. I.data, Nref.data); |
|
|
|
return result; |
|
|
|
return result; |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
@ -60,9 +57,8 @@ namespace detail |
|
|
|
{ |
|
|
|
{ |
|
|
|
GLM_FUNC_QUALIFIER static tvec4<float, P> call(tvec4<float, P> const & I, tvec4<float, P> const & N) |
|
|
|
GLM_FUNC_QUALIFIER static tvec4<float, P> call(tvec4<float, P> const & I, tvec4<float, P> const & N) |
|
|
|
{ |
|
|
|
{ |
|
|
|
__m128 const rfe0 = glm_f32v4_rfe(I.data, N.data); |
|
|
|
|
|
|
|
tvec4<float, P> result(uninitialize); |
|
|
|
tvec4<float, P> result(uninitialize); |
|
|
|
result.data = rfe0; |
|
|
|
result.data = glm_f32v4_rfe(I.data, N.data); |
|
|
|
return result; |
|
|
|
return result; |
|
|
|
} |
|
|
|
} |
|
|
|
}; |
|
|
|
}; |
|
|
|