mirror of
https://github.com/microsoft/DirectXMath
synced 2024-11-21 20:00:12 +00:00
DirectXMath 3.08
This commit is contained in:
parent
51802de35b
commit
fea9eabc4e
@ -1965,8 +1965,8 @@ inline void XM_CALLCONV BoundingOrientedBox::Transform( BoundingOrientedBox& Out
|
||||
XMVECTOR dY = XMVector3Length( M.r[1] );
|
||||
XMVECTOR dZ = XMVector3Length( M.r[2] );
|
||||
|
||||
XMVECTOR VectorScale = XMVectorSelect( dX, dY, g_XMSelect1000 );
|
||||
VectorScale = XMVectorSelect( VectorScale, dZ, g_XMSelect1100 );
|
||||
XMVECTOR VectorScale = XMVectorSelect( dY, dX, g_XMSelect1000 );
|
||||
VectorScale = XMVectorSelect( dZ, VectorScale, g_XMSelect1100 );
|
||||
vExtents = vExtents * VectorScale;
|
||||
|
||||
// Store the box.
|
||||
|
@ -17,7 +17,7 @@
|
||||
#error DirectX Math requires C++
|
||||
#endif
|
||||
|
||||
#define DIRECTX_MATH_VERSION 307
|
||||
#define DIRECTX_MATH_VERSION 308
|
||||
|
||||
|
||||
#if defined(_MSC_VER) && !defined(_M_ARM) && !defined(_M_ARM64) && (!_MANAGED) && (!_M_CEE) && (!defined(_M_IX86_FP) || (_M_IX86_FP > 1)) && !defined(_XM_NO_INTRINSICS_) && !defined(_XM_VECTORCALL_)
|
||||
@ -32,6 +32,12 @@
|
||||
#define XM_CALLCONV __fastcall
|
||||
#endif
|
||||
|
||||
#if defined(_MSC_VER) && (_MSC_VER < 1800)
|
||||
#define XM_CTOR_DEFAULT {}
|
||||
#else
|
||||
#define XM_CTOR_DEFAULT =default;
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
#if !defined(_XM_ARM_NEON_INTRINSICS_) && !defined(_XM_SSE_INTRINSICS_) && !defined(_XM_NO_INTRINSICS_)
|
||||
@ -117,8 +123,10 @@
|
||||
|
||||
#if defined(_XM_NO_MOVNT_)
|
||||
#define XM_STREAM_PS( p, a ) _mm_store_ps( p, a )
|
||||
#define XM_SFENCE()
|
||||
#else
|
||||
#define XM_STREAM_PS( p, a ) _mm_stream_ps( p, a )
|
||||
#define XM_SFENCE() _mm_sfence()
|
||||
#endif
|
||||
|
||||
#define XM_PERMUTE_PS( v, c ) _mm_shuffle_ps( v, v, c )
|
||||
@ -413,7 +421,7 @@ __declspec(align(16)) struct XMMATRIX
|
||||
XMVECTOR r[4];
|
||||
#endif
|
||||
|
||||
XMMATRIX() {}
|
||||
XMMATRIX() XM_CTOR_DEFAULT
|
||||
XMMATRIX(FXMVECTOR R0, FXMVECTOR R1, FXMVECTOR R2, CXMVECTOR R3) { r[0] = R0; r[1] = R1; r[2] = R2; r[3] = R3; }
|
||||
XMMATRIX(float m00, float m01, float m02, float m03,
|
||||
float m10, float m11, float m12, float m13,
|
||||
@ -453,7 +461,7 @@ struct XMFLOAT2
|
||||
float x;
|
||||
float y;
|
||||
|
||||
XMFLOAT2() {}
|
||||
XMFLOAT2() XM_CTOR_DEFAULT
|
||||
XMFLOAT2(float _x, float _y) : x(_x), y(_y) {}
|
||||
explicit XMFLOAT2(_In_reads_(2) const float *pArray) : x(pArray[0]), y(pArray[1]) {}
|
||||
|
||||
@ -463,7 +471,7 @@ struct XMFLOAT2
|
||||
// 2D Vector; 32 bit floating point components aligned on a 16 byte boundary
|
||||
__declspec(align(16)) struct XMFLOAT2A : public XMFLOAT2
|
||||
{
|
||||
XMFLOAT2A() : XMFLOAT2() {}
|
||||
XMFLOAT2A() XM_CTOR_DEFAULT
|
||||
XMFLOAT2A(float _x, float _y) : XMFLOAT2(_x, _y) {}
|
||||
explicit XMFLOAT2A(_In_reads_(2) const float *pArray) : XMFLOAT2(pArray) {}
|
||||
|
||||
@ -477,7 +485,7 @@ struct XMINT2
|
||||
int32_t x;
|
||||
int32_t y;
|
||||
|
||||
XMINT2() {}
|
||||
XMINT2() XM_CTOR_DEFAULT
|
||||
XMINT2(int32_t _x, int32_t _y) : x(_x), y(_y) {}
|
||||
explicit XMINT2(_In_reads_(2) const int32_t *pArray) : x(pArray[0]), y(pArray[1]) {}
|
||||
|
||||
@ -490,7 +498,7 @@ struct XMUINT2
|
||||
uint32_t x;
|
||||
uint32_t y;
|
||||
|
||||
XMUINT2() {}
|
||||
XMUINT2() XM_CTOR_DEFAULT
|
||||
XMUINT2(uint32_t _x, uint32_t _y) : x(_x), y(_y) {}
|
||||
explicit XMUINT2(_In_reads_(2) const uint32_t *pArray) : x(pArray[0]), y(pArray[1]) {}
|
||||
|
||||
@ -505,7 +513,7 @@ struct XMFLOAT3
|
||||
float y;
|
||||
float z;
|
||||
|
||||
XMFLOAT3() {}
|
||||
XMFLOAT3() XM_CTOR_DEFAULT
|
||||
XMFLOAT3(float _x, float _y, float _z) : x(_x), y(_y), z(_z) {}
|
||||
explicit XMFLOAT3(_In_reads_(3) const float *pArray) : x(pArray[0]), y(pArray[1]), z(pArray[2]) {}
|
||||
|
||||
@ -515,7 +523,7 @@ struct XMFLOAT3
|
||||
// 3D Vector; 32 bit floating point components aligned on a 16 byte boundary
|
||||
__declspec(align(16)) struct XMFLOAT3A : public XMFLOAT3
|
||||
{
|
||||
XMFLOAT3A() : XMFLOAT3() {}
|
||||
XMFLOAT3A() XM_CTOR_DEFAULT
|
||||
XMFLOAT3A(float _x, float _y, float _z) : XMFLOAT3(_x, _y, _z) {}
|
||||
explicit XMFLOAT3A(_In_reads_(3) const float *pArray) : XMFLOAT3(pArray) {}
|
||||
|
||||
@ -530,7 +538,7 @@ struct XMINT3
|
||||
int32_t y;
|
||||
int32_t z;
|
||||
|
||||
XMINT3() {}
|
||||
XMINT3() XM_CTOR_DEFAULT
|
||||
XMINT3(int32_t _x, int32_t _y, int32_t _z) : x(_x), y(_y), z(_z) {}
|
||||
explicit XMINT3(_In_reads_(3) const int32_t *pArray) : x(pArray[0]), y(pArray[1]), z(pArray[2]) {}
|
||||
|
||||
@ -544,7 +552,7 @@ struct XMUINT3
|
||||
uint32_t y;
|
||||
uint32_t z;
|
||||
|
||||
XMUINT3() {}
|
||||
XMUINT3() XM_CTOR_DEFAULT
|
||||
XMUINT3(uint32_t _x, uint32_t _y, uint32_t _z) : x(_x), y(_y), z(_z) {}
|
||||
explicit XMUINT3(_In_reads_(3) const uint32_t *pArray) : x(pArray[0]), y(pArray[1]), z(pArray[2]) {}
|
||||
|
||||
@ -560,7 +568,7 @@ struct XMFLOAT4
|
||||
float z;
|
||||
float w;
|
||||
|
||||
XMFLOAT4() {}
|
||||
XMFLOAT4() XM_CTOR_DEFAULT
|
||||
XMFLOAT4(float _x, float _y, float _z, float _w) : x(_x), y(_y), z(_z), w(_w) {}
|
||||
explicit XMFLOAT4(_In_reads_(4) const float *pArray) : x(pArray[0]), y(pArray[1]), z(pArray[2]), w(pArray[3]) {}
|
||||
|
||||
@ -570,7 +578,7 @@ struct XMFLOAT4
|
||||
// 4D Vector; 32 bit floating point components aligned on a 16 byte boundary
|
||||
__declspec(align(16)) struct XMFLOAT4A : public XMFLOAT4
|
||||
{
|
||||
XMFLOAT4A() : XMFLOAT4() {}
|
||||
XMFLOAT4A() XM_CTOR_DEFAULT
|
||||
XMFLOAT4A(float _x, float _y, float _z, float _w) : XMFLOAT4(_x, _y, _z, _w) {}
|
||||
explicit XMFLOAT4A(_In_reads_(4) const float *pArray) : XMFLOAT4(pArray) {}
|
||||
|
||||
@ -586,7 +594,7 @@ struct XMINT4
|
||||
int32_t z;
|
||||
int32_t w;
|
||||
|
||||
XMINT4() {}
|
||||
XMINT4() XM_CTOR_DEFAULT
|
||||
XMINT4(int32_t _x, int32_t _y, int32_t _z, int32_t _w) : x(_x), y(_y), z(_z), w(_w) {}
|
||||
explicit XMINT4(_In_reads_(4) const int32_t *pArray) : x(pArray[0]), y(pArray[1]), z(pArray[2]), w(pArray[3]) {}
|
||||
|
||||
@ -601,7 +609,7 @@ struct XMUINT4
|
||||
uint32_t z;
|
||||
uint32_t w;
|
||||
|
||||
XMUINT4() {}
|
||||
XMUINT4() XM_CTOR_DEFAULT
|
||||
XMUINT4(uint32_t _x, uint32_t _y, uint32_t _z, uint32_t _w) : x(_x), y(_y), z(_z), w(_w) {}
|
||||
explicit XMUINT4(_In_reads_(4) const uint32_t *pArray) : x(pArray[0]), y(pArray[1]), z(pArray[2]), w(pArray[3]) {}
|
||||
|
||||
@ -623,7 +631,7 @@ struct XMFLOAT3X3
|
||||
float m[3][3];
|
||||
};
|
||||
|
||||
XMFLOAT3X3() {}
|
||||
XMFLOAT3X3() XM_CTOR_DEFAULT
|
||||
XMFLOAT3X3(float m00, float m01, float m02,
|
||||
float m10, float m11, float m12,
|
||||
float m20, float m21, float m22);
|
||||
@ -651,7 +659,7 @@ struct XMFLOAT4X3
|
||||
float m[4][3];
|
||||
};
|
||||
|
||||
XMFLOAT4X3() {}
|
||||
XMFLOAT4X3() XM_CTOR_DEFAULT
|
||||
XMFLOAT4X3(float m00, float m01, float m02,
|
||||
float m10, float m11, float m12,
|
||||
float m20, float m21, float m22,
|
||||
@ -668,7 +676,7 @@ struct XMFLOAT4X3
|
||||
// 4x3 Matrix: 32 bit floating point components aligned on a 16 byte boundary
|
||||
__declspec(align(16)) struct XMFLOAT4X3A : public XMFLOAT4X3
|
||||
{
|
||||
XMFLOAT4X3A() : XMFLOAT4X3() {}
|
||||
XMFLOAT4X3A() XM_CTOR_DEFAULT
|
||||
XMFLOAT4X3A(float m00, float m01, float m02,
|
||||
float m10, float m11, float m12,
|
||||
float m20, float m21, float m22,
|
||||
@ -698,7 +706,7 @@ struct XMFLOAT4X4
|
||||
float m[4][4];
|
||||
};
|
||||
|
||||
XMFLOAT4X4() {}
|
||||
XMFLOAT4X4() XM_CTOR_DEFAULT
|
||||
XMFLOAT4X4(float m00, float m01, float m02, float m03,
|
||||
float m10, float m11, float m12, float m13,
|
||||
float m20, float m21, float m22, float m23,
|
||||
@ -714,7 +722,7 @@ struct XMFLOAT4X4
|
||||
// 4x4 Matrix: 32 bit floating point components aligned on a 16 byte boundary
|
||||
__declspec(align(16)) struct XMFLOAT4X4A : public XMFLOAT4X4
|
||||
{
|
||||
XMFLOAT4X4A() : XMFLOAT4X4() {}
|
||||
XMFLOAT4X4A() XM_CTOR_DEFAULT
|
||||
XMFLOAT4X4A(float m00, float m01, float m02, float m03,
|
||||
float m10, float m11, float m12, float m13,
|
||||
float m20, float m21, float m22, float m23,
|
||||
@ -1672,6 +1680,7 @@ XMGLOBALCONST XMVECTORF32 g_XMNegIdentityR2 = {0.0f, 0.0f,-1.0f, 0.0f};
|
||||
XMGLOBALCONST XMVECTORF32 g_XMNegIdentityR3 = {0.0f, 0.0f, 0.0f,-1.0f};
|
||||
XMGLOBALCONST XMVECTORU32 g_XMNegativeZero = {0x80000000, 0x80000000, 0x80000000, 0x80000000};
|
||||
XMGLOBALCONST XMVECTORU32 g_XMNegate3 = {0x80000000, 0x80000000, 0x80000000, 0x00000000};
|
||||
XMGLOBALCONST XMVECTORU32 g_XMMaskXY = {0xFFFFFFFF, 0xFFFFFFFF, 0x00000000, 0x00000000};
|
||||
XMGLOBALCONST XMVECTORU32 g_XMMask3 = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000};
|
||||
XMGLOBALCONST XMVECTORU32 g_XMMaskX = {0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000};
|
||||
XMGLOBALCONST XMVECTORU32 g_XMMaskY = {0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000};
|
||||
@ -1779,6 +1788,12 @@ XMGLOBALCONST XMVECTORF32 g_XMLogEst6 = {+0.057148f, +0.057148f, +0.05
|
||||
XMGLOBALCONST XMVECTORF32 g_XMLogEst7 = {-0.010578f, -0.010578f, -0.010578f, -0.010578f};
|
||||
XMGLOBALCONST XMVECTORF32 g_XMLgE = {+1.442695f, +1.442695f, +1.442695f, +1.442695f};
|
||||
XMGLOBALCONST XMVECTORF32 g_XMInvLgE = {+6.93147182e-1f, +6.93147182e-1f, +6.93147182e-1f, +6.93147182e-1f};
|
||||
XMGLOBALCONST XMVECTORF32 g_UByteMax = {255.0f, 255.0f, 255.0f, 255.0f};
|
||||
XMGLOBALCONST XMVECTORF32 g_ByteMin = {-127.0f, -127.0f, -127.0f, -127.0f};
|
||||
XMGLOBALCONST XMVECTORF32 g_ByteMax = {127.0f, 127.0f, 127.0f, 127.0f};
|
||||
XMGLOBALCONST XMVECTORF32 g_ShortMin = {-32767.0f, -32767.0f, -32767.0f, -32767.0f};
|
||||
XMGLOBALCONST XMVECTORF32 g_ShortMax = {32767.0f, 32767.0f, 32767.0f, 32767.0f};
|
||||
XMGLOBALCONST XMVECTORF32 g_UShortMax = {65535.0f, 65535.0f, 65535.0f, 65535.0f};
|
||||
|
||||
/****************************************************************************
|
||||
*
|
||||
|
@ -1962,6 +1962,7 @@ inline XMMATRIX XM_CALLCONV XMMatrixPerspectiveLH
|
||||
float FarZ
|
||||
)
|
||||
{
|
||||
assert(NearZ > 0.f && FarZ > 0.f);
|
||||
assert(!XMScalarNearEqual(ViewWidth, 0.0f, 0.00001f));
|
||||
assert(!XMScalarNearEqual(ViewHeight, 0.0f, 0.00001f));
|
||||
assert(!XMScalarNearEqual(FarZ, NearZ, 0.00001f));
|
||||
@ -2049,6 +2050,7 @@ inline XMMATRIX XM_CALLCONV XMMatrixPerspectiveRH
|
||||
float FarZ
|
||||
)
|
||||
{
|
||||
assert(NearZ > 0.f && FarZ > 0.f);
|
||||
assert(!XMScalarNearEqual(ViewWidth, 0.0f, 0.00001f));
|
||||
assert(!XMScalarNearEqual(ViewHeight, 0.0f, 0.00001f));
|
||||
assert(!XMScalarNearEqual(FarZ, NearZ, 0.00001f));
|
||||
@ -2136,6 +2138,7 @@ inline XMMATRIX XM_CALLCONV XMMatrixPerspectiveFovLH
|
||||
float FarZ
|
||||
)
|
||||
{
|
||||
assert(NearZ > 0.f && FarZ > 0.f);
|
||||
assert(!XMScalarNearEqual(FovAngleY, 0.0f, 0.00001f * 2.0f));
|
||||
assert(!XMScalarNearEqual(AspectHByW, 0.0f, 0.00001f));
|
||||
assert(!XMScalarNearEqual(FarZ, NearZ, 0.00001f));
|
||||
@ -2237,6 +2240,7 @@ inline XMMATRIX XM_CALLCONV XMMatrixPerspectiveFovRH
|
||||
float FarZ
|
||||
)
|
||||
{
|
||||
assert(NearZ > 0.f && FarZ > 0.f);
|
||||
assert(!XMScalarNearEqual(FovAngleY, 0.0f, 0.00001f * 2.0f));
|
||||
assert(!XMScalarNearEqual(AspectHByW, 0.0f, 0.00001f));
|
||||
assert(!XMScalarNearEqual(FarZ, NearZ, 0.00001f));
|
||||
@ -2338,6 +2342,7 @@ inline XMMATRIX XM_CALLCONV XMMatrixPerspectiveOffCenterLH
|
||||
float FarZ
|
||||
)
|
||||
{
|
||||
assert(NearZ > 0.f && FarZ > 0.f);
|
||||
assert(!XMScalarNearEqual(ViewRight, ViewLeft, 0.00001f));
|
||||
assert(!XMScalarNearEqual(ViewTop, ViewBottom, 0.00001f));
|
||||
assert(!XMScalarNearEqual(FarZ, NearZ, 0.00001f));
|
||||
@ -2435,6 +2440,7 @@ inline XMMATRIX XM_CALLCONV XMMatrixPerspectiveOffCenterRH
|
||||
float FarZ
|
||||
)
|
||||
{
|
||||
assert(NearZ > 0.f && FarZ > 0.f);
|
||||
assert(!XMScalarNearEqual(ViewRight, ViewLeft, 0.00001f));
|
||||
assert(!XMScalarNearEqual(ViewTop, ViewBottom, 0.00001f));
|
||||
assert(!XMScalarNearEqual(FarZ, NearZ, 0.00001f));
|
||||
|
@ -399,7 +399,6 @@ inline XMVECTOR XM_CALLCONV XMQuaternionSlerpV
|
||||
#elif defined(_XM_SSE_INTRINSICS_)
|
||||
static const XMVECTORF32 OneMinusEpsilon = {1.0f - 0.00001f, 1.0f - 0.00001f, 1.0f - 0.00001f, 1.0f - 0.00001f};
|
||||
static const XMVECTORU32 SignMask2 = {0x80000000,0x00000000,0x00000000,0x00000000};
|
||||
static const XMVECTORU32 MaskXY = {0xFFFFFFFF,0xFFFFFFFF,0x00000000,0x00000000};
|
||||
|
||||
XMVECTOR CosOmega = XMQuaternionDot(Q0, Q1);
|
||||
|
||||
@ -418,7 +417,7 @@ inline XMVECTOR XM_CALLCONV XMQuaternionSlerpV
|
||||
XMVECTOR Omega = XMVectorATan2(SinOmega, CosOmega);
|
||||
|
||||
XMVECTOR V01 = XM_PERMUTE_PS(T,_MM_SHUFFLE(2,3,0,1));
|
||||
V01 = _mm_and_ps(V01,MaskXY);
|
||||
V01 = _mm_and_ps(V01,g_XMMaskXY);
|
||||
V01 = _mm_xor_ps(V01,SignMask2);
|
||||
V01 = _mm_add_ps(g_XMIdentityR0, V01);
|
||||
|
||||
|
@ -7655,6 +7655,8 @@ inline XMFLOAT4* XM_CALLCONV XMVector2TransformStream
|
||||
}
|
||||
}
|
||||
|
||||
XM_SFENCE();
|
||||
|
||||
return pOutputStream;
|
||||
#endif
|
||||
}
|
||||
@ -8022,6 +8024,8 @@ inline XMFLOAT2* XM_CALLCONV XMVector2TransformCoordStream
|
||||
}
|
||||
}
|
||||
|
||||
XM_SFENCE();
|
||||
|
||||
return pOutputStream;
|
||||
#endif
|
||||
}
|
||||
@ -8327,6 +8331,8 @@ inline XMFLOAT2* XM_CALLCONV XMVector2TransformNormalStream
|
||||
}
|
||||
}
|
||||
|
||||
XM_SFENCE();
|
||||
|
||||
return pOutputStream;
|
||||
#endif
|
||||
}
|
||||
@ -10052,6 +10058,8 @@ inline XMFLOAT4* XM_CALLCONV XMVector3TransformStream
|
||||
}
|
||||
}
|
||||
|
||||
XM_SFENCE();
|
||||
|
||||
return pOutputStream;
|
||||
#endif
|
||||
}
|
||||
@ -10550,6 +10558,8 @@ inline XMFLOAT3* XM_CALLCONV XMVector3TransformCoordStream
|
||||
pOutputVector += OutputStride;
|
||||
}
|
||||
|
||||
XM_SFENCE();
|
||||
|
||||
return pOutputStream;
|
||||
#endif
|
||||
}
|
||||
@ -10974,6 +10984,8 @@ inline XMFLOAT3* XM_CALLCONV XMVector3TransformNormalStream
|
||||
pOutputVector += OutputStride;
|
||||
}
|
||||
|
||||
XM_SFENCE();
|
||||
|
||||
return pOutputStream;
|
||||
#endif
|
||||
}
|
||||
@ -11542,6 +11554,8 @@ inline XMFLOAT3* XM_CALLCONV XMVector3ProjectStream
|
||||
pOutputVector += OutputStride;
|
||||
}
|
||||
|
||||
XM_SFENCE();
|
||||
|
||||
return pOutputStream;
|
||||
#endif
|
||||
}
|
||||
@ -12129,6 +12143,8 @@ inline XMFLOAT3* XM_CALLCONV XMVector3UnprojectStream
|
||||
pOutputVector += OutputStride;
|
||||
}
|
||||
|
||||
XM_SFENCE();
|
||||
|
||||
return pOutputStream;
|
||||
#endif
|
||||
}
|
||||
@ -13843,6 +13859,8 @@ inline XMFLOAT4* XM_CALLCONV XMVector4TransformStream
|
||||
}
|
||||
}
|
||||
|
||||
XM_SFENCE();
|
||||
|
||||
return pOutputStream;
|
||||
#endif
|
||||
}
|
||||
|
@ -45,7 +45,7 @@ struct XMCOLOR
|
||||
uint32_t c;
|
||||
};
|
||||
|
||||
XMCOLOR() {}
|
||||
XMCOLOR() XM_CTOR_DEFAULT
|
||||
XMCOLOR(uint32_t Color) : c(Color) {}
|
||||
XMCOLOR(float _r, float _g, float _b, float _a);
|
||||
explicit XMCOLOR(_In_reads_(4) const float *pArray);
|
||||
@ -75,7 +75,7 @@ struct XMHALF2
|
||||
uint32_t v;
|
||||
};
|
||||
|
||||
XMHALF2() {}
|
||||
XMHALF2() XM_CTOR_DEFAULT
|
||||
explicit XMHALF2(uint32_t Packed) : v(Packed) {}
|
||||
XMHALF2(HALF _x, HALF _y) : x(_x), y(_y) {}
|
||||
explicit XMHALF2(_In_reads_(2) const HALF *pArray) : x(pArray[0]), y(pArray[1]) {}
|
||||
@ -100,7 +100,7 @@ struct XMSHORTN2
|
||||
uint32_t v;
|
||||
};
|
||||
|
||||
XMSHORTN2() {}
|
||||
XMSHORTN2() XM_CTOR_DEFAULT
|
||||
explicit XMSHORTN2(uint32_t Packed) : v(Packed) {}
|
||||
XMSHORTN2(int16_t _x, int16_t _y) : x(_x), y(_y) {}
|
||||
explicit XMSHORTN2(_In_reads_(2) const int16_t *pArray) : x(pArray[0]), y(pArray[1]) {}
|
||||
@ -124,7 +124,7 @@ struct XMSHORT2
|
||||
uint32_t v;
|
||||
};
|
||||
|
||||
XMSHORT2() {}
|
||||
XMSHORT2() XM_CTOR_DEFAULT
|
||||
explicit XMSHORT2(uint32_t Packed) : v(Packed) {}
|
||||
XMSHORT2(int16_t _x, int16_t _y) : x(_x), y(_y) {}
|
||||
explicit XMSHORT2(_In_reads_(2) const int16_t *pArray) : x(pArray[0]), y(pArray[1]) {}
|
||||
@ -148,7 +148,7 @@ struct XMUSHORTN2
|
||||
uint32_t v;
|
||||
};
|
||||
|
||||
XMUSHORTN2() {}
|
||||
XMUSHORTN2() XM_CTOR_DEFAULT
|
||||
explicit XMUSHORTN2(uint32_t Packed) : v(Packed) {}
|
||||
XMUSHORTN2(uint16_t _x, uint16_t _y) : x(_x), y(_y) {}
|
||||
explicit XMUSHORTN2(_In_reads_(2) const uint16_t *pArray) : x(pArray[0]), y(pArray[1]) {}
|
||||
@ -172,7 +172,7 @@ struct XMUSHORT2
|
||||
uint32_t v;
|
||||
};
|
||||
|
||||
XMUSHORT2() {}
|
||||
XMUSHORT2() XM_CTOR_DEFAULT
|
||||
explicit XMUSHORT2(uint32_t Packed) : v(Packed) {}
|
||||
XMUSHORT2(uint16_t _x, uint16_t _y) : x(_x), y(_y) {}
|
||||
explicit XMUSHORT2(_In_reads_(2) const uint16_t *pArray) : x(pArray[0]), y(pArray[1]) {}
|
||||
@ -197,7 +197,7 @@ struct XMBYTEN2
|
||||
uint16_t v;
|
||||
};
|
||||
|
||||
XMBYTEN2() {}
|
||||
XMBYTEN2() XM_CTOR_DEFAULT
|
||||
explicit XMBYTEN2(uint16_t Packed) : v(Packed) {}
|
||||
XMBYTEN2(int8_t _x, int8_t _y) : x(_x), y(_y) {}
|
||||
explicit XMBYTEN2(_In_reads_(2) const int8_t *pArray) : x(pArray[0]), y(pArray[1]) {}
|
||||
@ -221,7 +221,7 @@ struct XMBYTE2
|
||||
uint16_t v;
|
||||
};
|
||||
|
||||
XMBYTE2() {}
|
||||
XMBYTE2() XM_CTOR_DEFAULT
|
||||
explicit XMBYTE2(uint16_t Packed) : v(Packed) {}
|
||||
XMBYTE2(int8_t _x, int8_t _y) : x(_x), y(_y) {}
|
||||
explicit XMBYTE2(_In_reads_(2) const int8_t *pArray) : x(pArray[0]), y(pArray[1]) {}
|
||||
@ -245,7 +245,7 @@ struct XMUBYTEN2
|
||||
uint16_t v;
|
||||
};
|
||||
|
||||
XMUBYTEN2() {}
|
||||
XMUBYTEN2() XM_CTOR_DEFAULT
|
||||
explicit XMUBYTEN2(uint16_t Packed) : v(Packed) {}
|
||||
XMUBYTEN2(uint8_t _x, uint8_t _y) : x(_x), y(_y) {}
|
||||
explicit XMUBYTEN2(_In_reads_(2) const uint8_t *pArray) : x(pArray[0]), y(pArray[1]) {}
|
||||
@ -269,7 +269,7 @@ struct XMUBYTE2
|
||||
uint16_t v;
|
||||
};
|
||||
|
||||
XMUBYTE2() {}
|
||||
XMUBYTE2() XM_CTOR_DEFAULT
|
||||
explicit XMUBYTE2(uint16_t Packed) : v(Packed) {}
|
||||
XMUBYTE2(uint8_t _x, uint8_t _y) : x(_x), y(_y) {}
|
||||
explicit XMUBYTE2(_In_reads_(2) const uint8_t *pArray) : x(pArray[0]), y(pArray[1]) {}
|
||||
@ -295,7 +295,7 @@ struct XMU565
|
||||
uint16_t v;
|
||||
};
|
||||
|
||||
XMU565() {}
|
||||
XMU565() XM_CTOR_DEFAULT
|
||||
explicit XMU565(uint16_t Packed) : v(Packed) {}
|
||||
XMU565(uint8_t _x, uint8_t _y, uint8_t _z) : x(_x), y(_y), z(_z) {}
|
||||
explicit XMU565(_In_reads_(3) const int8_t *pArray) : x(pArray[0]), y(pArray[1]), z(pArray[2]) {}
|
||||
@ -333,7 +333,7 @@ struct XMFLOAT3PK
|
||||
uint32_t v;
|
||||
};
|
||||
|
||||
XMFLOAT3PK() {}
|
||||
XMFLOAT3PK() XM_CTOR_DEFAULT
|
||||
explicit XMFLOAT3PK(uint32_t Packed) : v(Packed) {}
|
||||
XMFLOAT3PK(float _x, float _y, float _z);
|
||||
explicit XMFLOAT3PK(_In_reads_(3) const float *pArray);
|
||||
@ -366,7 +366,7 @@ struct XMFLOAT3SE
|
||||
uint32_t v;
|
||||
};
|
||||
|
||||
XMFLOAT3SE() {}
|
||||
XMFLOAT3SE() XM_CTOR_DEFAULT
|
||||
explicit XMFLOAT3SE(uint32_t Packed) : v(Packed) {}
|
||||
XMFLOAT3SE(float _x, float _y, float _z);
|
||||
explicit XMFLOAT3SE(_In_reads_(3) const float *pArray);
|
||||
@ -393,7 +393,7 @@ struct XMHALF4
|
||||
uint64_t v;
|
||||
};
|
||||
|
||||
XMHALF4() {}
|
||||
XMHALF4() XM_CTOR_DEFAULT
|
||||
explicit XMHALF4(uint64_t Packed) : v(Packed) {}
|
||||
XMHALF4(HALF _x, HALF _y, HALF _z, HALF _w) : x(_x), y(_y), z(_z), w(_w) {}
|
||||
explicit XMHALF4(_In_reads_(4) const HALF *pArray) : x(pArray[0]), y(pArray[1]), z(pArray[2]), w(pArray[3]) {}
|
||||
@ -420,7 +420,7 @@ struct XMSHORTN4
|
||||
uint64_t v;
|
||||
};
|
||||
|
||||
XMSHORTN4() {}
|
||||
XMSHORTN4() XM_CTOR_DEFAULT
|
||||
explicit XMSHORTN4(uint64_t Packed) : v(Packed) {}
|
||||
XMSHORTN4(int16_t _x, int16_t _y, int16_t _z, int16_t _w) : x(_x), y(_y), z(_z), w(_w) {}
|
||||
explicit XMSHORTN4(_In_reads_(4) const int16_t *pArray) : x(pArray[0]), y(pArray[1]), z(pArray[2]), w(pArray[3]) {}
|
||||
@ -446,7 +446,7 @@ struct XMSHORT4
|
||||
uint64_t v;
|
||||
};
|
||||
|
||||
XMSHORT4() {}
|
||||
XMSHORT4() XM_CTOR_DEFAULT
|
||||
explicit XMSHORT4(uint64_t Packed) : v(Packed) {}
|
||||
XMSHORT4(int16_t _x, int16_t _y, int16_t _z, int16_t _w) : x(_x), y(_y), z(_z), w(_w) {}
|
||||
explicit XMSHORT4(_In_reads_(4) const int16_t *pArray) : x(pArray[0]), y(pArray[1]), z(pArray[2]), w(pArray[3]) {}
|
||||
@ -472,7 +472,7 @@ struct XMUSHORTN4
|
||||
uint64_t v;
|
||||
};
|
||||
|
||||
XMUSHORTN4() {}
|
||||
XMUSHORTN4() XM_CTOR_DEFAULT
|
||||
explicit XMUSHORTN4(uint64_t Packed) : v(Packed) {}
|
||||
XMUSHORTN4(uint16_t _x, uint16_t _y, uint16_t _z, uint16_t _w) : x(_x), y(_y), z(_z), w(_w) {}
|
||||
explicit XMUSHORTN4(_In_reads_(4) const uint16_t *pArray) : x(pArray[0]), y(pArray[1]), z(pArray[2]), w(pArray[3]) {}
|
||||
@ -498,7 +498,7 @@ struct XMUSHORT4
|
||||
uint64_t v;
|
||||
};
|
||||
|
||||
XMUSHORT4() {}
|
||||
XMUSHORT4() XM_CTOR_DEFAULT
|
||||
explicit XMUSHORT4(uint64_t Packed) : v(Packed) {}
|
||||
XMUSHORT4(uint16_t _x, uint16_t _y, uint16_t _z, uint16_t _w) : x(_x), y(_y), z(_z), w(_w) {}
|
||||
explicit XMUSHORT4(_In_reads_(4) const uint16_t *pArray) : x(pArray[0]), y(pArray[1]), z(pArray[2]), w(pArray[3]) {}
|
||||
@ -530,7 +530,7 @@ struct XMXDECN4
|
||||
uint32_t v;
|
||||
};
|
||||
|
||||
XMXDECN4() {}
|
||||
XMXDECN4() XM_CTOR_DEFAULT
|
||||
explicit XMXDECN4(uint32_t Packed) : v(Packed) {}
|
||||
XMXDECN4(float _x, float _y, float _z, float _w);
|
||||
explicit XMXDECN4(_In_reads_(4) const float *pArray);
|
||||
@ -561,7 +561,7 @@ struct XMXDEC4
|
||||
uint32_t v;
|
||||
};
|
||||
|
||||
XMXDEC4() {}
|
||||
XMXDEC4() XM_CTOR_DEFAULT
|
||||
explicit XMXDEC4(uint32_t Packed) : v(Packed) {}
|
||||
XMXDEC4(float _x, float _y, float _z, float _w);
|
||||
explicit XMXDEC4(_In_reads_(4) const float *pArray);
|
||||
@ -592,7 +592,7 @@ struct XMDECN4
|
||||
uint32_t v;
|
||||
};
|
||||
|
||||
XMDECN4() {}
|
||||
XMDECN4() XM_CTOR_DEFAULT
|
||||
explicit XMDECN4(uint32_t Packed) : v(Packed) {}
|
||||
XMDECN4(float _x, float _y, float _z, float _w);
|
||||
explicit XMDECN4(_In_reads_(4) const float *pArray);
|
||||
@ -623,7 +623,7 @@ struct XMDEC4
|
||||
uint32_t v;
|
||||
};
|
||||
|
||||
XMDEC4() {}
|
||||
XMDEC4() XM_CTOR_DEFAULT
|
||||
explicit XMDEC4(uint32_t Packed) : v(Packed) {}
|
||||
XMDEC4(float _x, float _y, float _z, float _w);
|
||||
explicit XMDEC4(_In_reads_(4) const float *pArray);
|
||||
@ -654,7 +654,7 @@ struct XMUDECN4
|
||||
uint32_t v;
|
||||
};
|
||||
|
||||
XMUDECN4() {}
|
||||
XMUDECN4() XM_CTOR_DEFAULT
|
||||
explicit XMUDECN4(uint32_t Packed) : v(Packed) {}
|
||||
XMUDECN4(float _x, float _y, float _z, float _w);
|
||||
explicit XMUDECN4(_In_reads_(4) const float *pArray);
|
||||
@ -685,7 +685,7 @@ struct XMUDEC4
|
||||
uint32_t v;
|
||||
};
|
||||
|
||||
XMUDEC4() {}
|
||||
XMUDEC4() XM_CTOR_DEFAULT
|
||||
explicit XMUDEC4(uint32_t Packed) : v(Packed) {}
|
||||
XMUDEC4(float _x, float _y, float _z, float _w);
|
||||
explicit XMUDEC4(_In_reads_(4) const float *pArray);
|
||||
@ -712,7 +712,7 @@ struct XMBYTEN4
|
||||
uint32_t v;
|
||||
};
|
||||
|
||||
XMBYTEN4() {}
|
||||
XMBYTEN4() XM_CTOR_DEFAULT
|
||||
XMBYTEN4(int8_t _x, int8_t _y, int8_t _z, int8_t _w) : x(_x), y(_y), z(_z), w(_w) {}
|
||||
explicit XMBYTEN4(uint32_t Packed) : v(Packed) {}
|
||||
explicit XMBYTEN4(_In_reads_(4) const int8_t *pArray) : x(pArray[0]), y(pArray[1]), z(pArray[2]), w(pArray[3]) {}
|
||||
@ -738,7 +738,7 @@ struct XMBYTE4
|
||||
uint32_t v;
|
||||
};
|
||||
|
||||
XMBYTE4() {}
|
||||
XMBYTE4() XM_CTOR_DEFAULT
|
||||
XMBYTE4(int8_t _x, int8_t _y, int8_t _z, int8_t _w) : x(_x), y(_y), z(_z), w(_w) {}
|
||||
explicit XMBYTE4(uint32_t Packed) : v(Packed) {}
|
||||
explicit XMBYTE4(_In_reads_(4) const int8_t *pArray) : x(pArray[0]), y(pArray[1]), z(pArray[2]), w(pArray[3]) {}
|
||||
@ -764,7 +764,7 @@ struct XMUBYTEN4
|
||||
uint32_t v;
|
||||
};
|
||||
|
||||
XMUBYTEN4() {}
|
||||
XMUBYTEN4() XM_CTOR_DEFAULT
|
||||
XMUBYTEN4(uint8_t _x, uint8_t _y, uint8_t _z, uint8_t _w) : x(_x), y(_y), z(_z), w(_w) {}
|
||||
explicit XMUBYTEN4(uint32_t Packed) : v(Packed) {}
|
||||
explicit XMUBYTEN4(_In_reads_(4) const uint8_t *pArray) : x(pArray[0]), y(pArray[1]), z(pArray[2]), w(pArray[3]) {}
|
||||
@ -790,7 +790,7 @@ struct XMUBYTE4
|
||||
uint32_t v;
|
||||
};
|
||||
|
||||
XMUBYTE4() {}
|
||||
XMUBYTE4() XM_CTOR_DEFAULT
|
||||
XMUBYTE4(uint8_t _x, uint8_t _y, uint8_t _z, uint8_t _w) : x(_x), y(_y), z(_z), w(_w) {}
|
||||
explicit XMUBYTE4(uint32_t Packed) : v(Packed) {}
|
||||
explicit XMUBYTE4(_In_reads_(4) const uint8_t *pArray) : x(pArray[0]), y(pArray[1]), z(pArray[2]), w(pArray[3]) {}
|
||||
@ -817,7 +817,7 @@ struct XMUNIBBLE4
|
||||
uint16_t v;
|
||||
};
|
||||
|
||||
XMUNIBBLE4() {}
|
||||
XMUNIBBLE4() XM_CTOR_DEFAULT
|
||||
explicit XMUNIBBLE4(uint16_t Packed) : v(Packed) {}
|
||||
XMUNIBBLE4(int8_t _x, int8_t _y, int8_t _z, int8_t _w) : x(_x), y(_y), z(_z), w(_w) {}
|
||||
explicit XMUNIBBLE4(_In_reads_(4) const int8_t *pArray) : x(pArray[0]), y(pArray[1]), z(pArray[2]), w(pArray[3]) {}
|
||||
@ -846,7 +846,7 @@ struct XMU555
|
||||
uint16_t v;
|
||||
};
|
||||
|
||||
XMU555() {}
|
||||
XMU555() XM_CTOR_DEFAULT
|
||||
explicit XMU555(uint16_t Packed) : v(Packed) {}
|
||||
XMU555(int8_t _x, int8_t _y, int8_t _z, bool _w) : x(_x), y(_y), z(_z), w(_w ? 0x1 : 0) {}
|
||||
XMU555(_In_reads_(3) const int8_t *pArray, _In_ bool _w) : x(pArray[0]), y(pArray[1]), z(pArray[2]), w(_w ? 0x1 : 0) {}
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user