|
|
@@ -24,26 +24,26 @@ namespace detail
|
|
|
};
|
|
|
|
|
|
template<qualifier Q, int E0, int E1, int E2, int E3>
|
|
|
- struct _swizzle_base1<4, int32, Q, E0,E1,E2,E3, true> : public _swizzle_base0<int32, 4>
|
|
|
+ struct _swizzle_base1<4, int, Q, E0,E1,E2,E3, true> : public _swizzle_base0<int, 4>
|
|
|
{
|
|
|
- GLM_FUNC_QUALIFIER vec<4, int32, Q> operator ()() const
|
|
|
+ GLM_FUNC_QUALIFIER vec<4, int, Q> operator ()() const
|
|
|
{
|
|
|
__m128i data = *reinterpret_cast<__m128i const*>(&this->_buffer);
|
|
|
|
|
|
- vec<4, int32, Q> Result;
|
|
|
+ vec<4, int, Q> Result;
|
|
|
Result.data = _mm_shuffle_epi32(data, _MM_SHUFFLE(E3, E2, E1, E0));
|
|
|
return Result;
|
|
|
}
|
|
|
};
|
|
|
|
|
|
template<qualifier Q, int E0, int E1, int E2, int E3>
|
|
|
- struct _swizzle_base1<4, uint32, Q, E0,E1,E2,E3, true> : public _swizzle_base0<uint32, 4>
|
|
|
+ struct _swizzle_base1<4, uint, Q, E0,E1,E2,E3, true> : public _swizzle_base0<uint, 4>
|
|
|
{
|
|
|
- GLM_FUNC_QUALIFIER vec<4, uint32, Q> operator ()() const
|
|
|
+ GLM_FUNC_QUALIFIER vec<4, uint, Q> operator ()() const
|
|
|
{
|
|
|
__m128i data = *reinterpret_cast<__m128i const*>(&this->_buffer);
|
|
|
|
|
|
- vec<4, uint32, Q> Result;
|
|
|
+ vec<4, uint, Q> Result;
|
|
|
Result.data = _mm_shuffle_epi32(data, _MM_SHUFFLE(E3, E2, E1, E0));
|
|
|
return Result;
|
|
|
}
|
|
|
@@ -313,9 +313,9 @@ namespace detail
|
|
|
};
|
|
|
|
|
|
template<qualifier Q>
|
|
|
- struct compute_vec4_equal<int32, Q, true, 32, true>
|
|
|
+ struct compute_vec4_equal<int, Q, true, 32, true>
|
|
|
{
|
|
|
- static bool call(vec<4, int32, Q> const& v1, vec<4, int32, Q> const& v2)
|
|
|
+ static bool call(vec<4, int, Q> const& v1, vec<4, int, Q> const& v2)
|
|
|
{
|
|
|
//return _mm_movemask_epi8(_mm_cmpeq_epi32(v1.data, v2.data)) != 0;
|
|
|
__m128i neq = _mm_xor_si128(v1.data, v2.data);
|
|
|
@@ -333,9 +333,9 @@ namespace detail
|
|
|
};
|
|
|
|
|
|
template<qualifier Q>
|
|
|
- struct compute_vec4_nequal<int32, Q, true, 32, true>
|
|
|
+ struct compute_vec4_nequal<int, Q, true, 32, true>
|
|
|
{
|
|
|
- static bool call(vec<4, int32, Q> const& v1, vec<4, int32, Q> const& v2)
|
|
|
+ static bool call(vec<4, int, Q> const& v1, vec<4, int, Q> const& v2)
|
|
|
{
|
|
|
//return _mm_movemask_epi8(_mm_cmpneq_epi32(v1.data, v2.data)) != 0;
|
|
|
__m128i neq = _mm_xor_si128(v1.data, v2.data);
|
|
|
@@ -378,33 +378,33 @@ namespace detail
|
|
|
# endif
|
|
|
|
|
|
template<>
|
|
|
- GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int32, aligned_lowp>::vec(int32 _s) :
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int, aligned_lowp>::vec(int _s) :
|
|
|
data(_mm_set1_epi32(_s))
|
|
|
{}
|
|
|
|
|
|
template<>
|
|
|
- GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int32, aligned_mediump>::vec(int32 _s) :
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int, aligned_mediump>::vec(int _s) :
|
|
|
data(_mm_set1_epi32(_s))
|
|
|
{}
|
|
|
|
|
|
template<>
|
|
|
- GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int32, aligned_highp>::vec(int32 _s) :
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int, aligned_highp>::vec(int _s) :
|
|
|
data(_mm_set1_epi32(_s))
|
|
|
{}
|
|
|
|
|
|
# if GLM_ARCH & GLM_ARCH_AVX2_BIT
|
|
|
template<>
|
|
|
- GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int64, aligned_lowp>::vec(int64 _s) :
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, detail::int64, aligned_lowp>::vec(detail::int64 _s) :
|
|
|
data(_mm256_set1_epi64x(_s))
|
|
|
{}
|
|
|
|
|
|
template<>
|
|
|
- GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int64, aligned_mediump>::vec(int64 _s) :
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, detail::int64, aligned_mediump>::vec(detail::int64 _s) :
|
|
|
data(_mm256_set1_epi64x(_s))
|
|
|
{}
|
|
|
|
|
|
template<>
|
|
|
- GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int64, aligned_highp>::vec(int64 _s) :
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int64, aligned_highp>::vec(detail::int64 _s) :
|
|
|
data(_mm256_set1_epi64x(_s))
|
|
|
{}
|
|
|
# endif
|
|
|
@@ -426,37 +426,37 @@ namespace detail
|
|
|
|
|
|
template<>
|
|
|
template<>
|
|
|
- GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int32, aligned_lowp>::vec(int32 _x, int32 _y, int32 _z, int32 _w) :
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int, aligned_lowp>::vec(int _x, int _y, int _z, int _w) :
|
|
|
data(_mm_set_epi32(_w, _z, _y, _x))
|
|
|
{}
|
|
|
|
|
|
template<>
|
|
|
template<>
|
|
|
- GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int32, aligned_mediump>::vec(int32 _x, int32 _y, int32 _z, int32 _w) :
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int, aligned_mediump>::vec(int _x, int _y, int _z, int _w) :
|
|
|
data(_mm_set_epi32(_w, _z, _y, _x))
|
|
|
{}
|
|
|
|
|
|
template<>
|
|
|
template<>
|
|
|
- GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int32, aligned_highp>::vec(int32 _x, int32 _y, int32 _z, int32 _w) :
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, int, aligned_highp>::vec(int _x, int _y, int _z, int _w) :
|
|
|
data(_mm_set_epi32(_w, _z, _y, _x))
|
|
|
{}
|
|
|
|
|
|
template<>
|
|
|
template<>
|
|
|
- GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_lowp>::vec(int32 _x, int32 _y, int32 _z, int32 _w) :
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_lowp>::vec(int _x, int _y, int _z, int _w) :
|
|
|
data(_mm_cvtepi32_ps(_mm_set_epi32(_w, _z, _y, _x)))
|
|
|
{}
|
|
|
|
|
|
template<>
|
|
|
template<>
|
|
|
- GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_mediump>::vec(int32 _x, int32 _y, int32 _z, int32 _w) :
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_mediump>::vec(int _x, int _y, int _z, int _w) :
|
|
|
data(_mm_cvtepi32_ps(_mm_set_epi32(_w, _z, _y, _x)))
|
|
|
{}
|
|
|
|
|
|
template<>
|
|
|
template<>
|
|
|
- GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_highp>::vec(int32 _x, int32 _y, int32 _z, int32 _w) :
|
|
|
+ GLM_FUNC_QUALIFIER GLM_CONSTEXPR vec<4, float, aligned_highp>::vec(int _x, int _y, int _z, int _w) :
|
|
|
data(_mm_cvtepi32_ps(_mm_set_epi32(_w, _z, _y, _x)))
|
|
|
{}
|
|
|
#endif// GLM_CONFIG_ALIGNED_GENTYPES == GLM_ENABLE
|