RetroArch
xnamath.h
Go to the documentation of this file.
1 /*++
2 
3 Copyright (c) Microsoft Corporation. All rights reserved.
4 
5 Module Name:
6 
7  xnamath.h
8 
9 Abstract:
10 
11  XNA math library for Windows and Xbox 360
12 --*/
13 
14 #if defined(_MSC_VER) && (_MSC_VER > 1000)
15 #pragma once
16 #endif
17 
18 #ifndef __XNAMATH_H__
19 #define __XNAMATH_H__
20 
21 #ifdef __XBOXMATH_H__
22 #error XNAMATH and XBOXMATH are incompatible in the same compilation module. Use one or the other.
23 #endif
24 
25 #define XNAMATH_VERSION 203
26 
27 #if !defined(_XM_X64_) && !defined(_XM_X86_)
28 #if defined(_M_AMD64) || defined(_AMD64_)
29 #define _XM_X64_
30 #elif defined(_M_IX86) || defined(_X86_)
31 #define _XM_X86_
32 #endif
33 #endif
34 
35 #if !defined(_XM_BIGENDIAN_) && !defined(_XM_LITTLEENDIAN_)
36 #if defined(_XM_X64_) || defined(_XM_X86_)
37 #define _XM_LITTLEENDIAN_
38 #elif defined(_XBOX_VER)
39 #define _XM_BIGENDIAN_
40 #else
41 #error xnamath.h only supports x86, x64, or XBox 360 targets
42 #endif
43 #endif
44 
45 #if defined(_XM_X86_) || defined(_XM_X64_)
46 #define _XM_SSE_INTRINSICS_
47 #if !defined(__cplusplus) && !defined(_XM_NO_INTRINSICS_)
48 #error xnamath.h only supports C compliation for Xbox 360 targets and no intrinsics cases for x86/x64
49 #endif
50 #elif defined(_XBOX_VER)
51 #if !defined(__VMX128_SUPPORTED) && !defined(_XM_NO_INTRINSICS_)
52 #error xnamath.h requires VMX128 compiler support for XBOX 360
53 #endif // !__VMX128_SUPPORTED && !_XM_NO_INTRINSICS_
54 #define _XM_VMX128_INTRINSICS_
55 #else
56 #error xnamath.h only supports x86, x64, or XBox 360 targets
57 #endif
58 
59 
60 #if defined(_XM_SSE_INTRINSICS_)
61 #ifndef _XM_NO_INTRINSICS_
62 #include <xmmintrin.h>
63 #include <emmintrin.h>
64 #endif
65 #elif defined(_XM_VMX128_INTRINSICS_)
66 #error This version of xnamath.h is for Windows use only
67 #endif
68 
69 #if defined(_XM_SSE_INTRINSICS_)
70 #pragma warning(push)
71 #pragma warning(disable:4985)
72 #endif
73 #include <math.h>
74 #if defined(_XM_SSE_INTRINSICS_)
75 #pragma warning(pop)
76 #endif
77 
78 #include <sal.h>
79 
80 #if !defined(XMINLINE)
81 #if !defined(XM_NO_MISALIGNED_VECTOR_ACCESS)
82 #define XMINLINE __inline
83 #else
84 #define XMINLINE __forceinline
85 #endif
86 #endif
87 
88 #if !defined(XMFINLINE)
89 #define XMFINLINE __forceinline
90 #endif
91 
92 #if !defined(XMDEBUG)
93 #if defined(_DEBUG)
94 #define XMDEBUG
95 #endif
96 #endif // !XMDEBUG
97 
98 #if !defined(XMASSERT)
99 #if defined(_PREFAST_)
100 #define XMASSERT(Expression) __analysis_assume((Expression))
101 #elif defined(XMDEBUG) // !_PREFAST_
102 #define XMASSERT(Expression) ((VOID)((Expression) || (XMAssert(#Expression, __FILE__, __LINE__), 0)))
103 #else // !XMDEBUG
104 #define XMASSERT(Expression) ((VOID)0)
105 #endif // !XMDEBUG
106 #endif // !XMASSERT
107 
108 #if !defined(XM_NO_ALIGNMENT)
109 #define _DECLSPEC_ALIGN_16_ __declspec(align(16))
110 #else
111 #define _DECLSPEC_ALIGN_16_
112 #endif
113 
114 
115 #if defined(_MSC_VER) && (_MSC_VER<1500) && (_MSC_VER>=1400)
116 #define _XM_ISVS2005_
117 #endif
118 
119 /****************************************************************************
120  *
121  * Constant definitions
122  *
123  ****************************************************************************/
124 
125 #define XM_PI 3.141592654f
126 #define XM_2PI 6.283185307f
127 #define XM_1DIVPI 0.318309886f
128 #define XM_1DIV2PI 0.159154943f
129 #define XM_PIDIV2 1.570796327f
130 #define XM_PIDIV4 0.785398163f
131 
132 #define XM_SELECT_0 0x00000000
133 #define XM_SELECT_1 0xFFFFFFFF
134 
135 #define XM_PERMUTE_0X 0x00010203
136 #define XM_PERMUTE_0Y 0x04050607
137 #define XM_PERMUTE_0Z 0x08090A0B
138 #define XM_PERMUTE_0W 0x0C0D0E0F
139 #define XM_PERMUTE_1X 0x10111213
140 #define XM_PERMUTE_1Y 0x14151617
141 #define XM_PERMUTE_1Z 0x18191A1B
142 #define XM_PERMUTE_1W 0x1C1D1E1F
143 
144 #define XM_CRMASK_CR6 0x000000F0
145 #define XM_CRMASK_CR6TRUE 0x00000080
146 #define XM_CRMASK_CR6FALSE 0x00000020
147 #define XM_CRMASK_CR6BOUNDS XM_CRMASK_CR6FALSE
148 
149 #define XM_CACHE_LINE_SIZE 64
150 
151 /****************************************************************************
152  *
153  * Macros
154  *
155  ****************************************************************************/
156 
157 // Unit conversion
158 
159 XMFINLINE FLOAT XMConvertToRadians(FLOAT fDegrees) { return fDegrees * (XM_PI / 180.0f); }
160 XMFINLINE FLOAT XMConvertToDegrees(FLOAT fRadians) { return fRadians * (180.0f / XM_PI); }
161 
162 // Condition register evaluation proceeding a recording (Rc) comparison
163 
164 #define XMComparisonAllTrue(CR) (((CR) & XM_CRMASK_CR6TRUE) == XM_CRMASK_CR6TRUE)
165 #define XMComparisonAnyTrue(CR) (((CR) & XM_CRMASK_CR6FALSE) != XM_CRMASK_CR6FALSE)
166 #define XMComparisonAllFalse(CR) (((CR) & XM_CRMASK_CR6FALSE) == XM_CRMASK_CR6FALSE)
167 #define XMComparisonAnyFalse(CR) (((CR) & XM_CRMASK_CR6TRUE) != XM_CRMASK_CR6TRUE)
168 #define XMComparisonMixed(CR) (((CR) & XM_CRMASK_CR6) == 0)
169 #define XMComparisonAllInBounds(CR) (((CR) & XM_CRMASK_CR6BOUNDS) == XM_CRMASK_CR6BOUNDS)
170 #define XMComparisonAnyOutOfBounds(CR) (((CR) & XM_CRMASK_CR6BOUNDS) != XM_CRMASK_CR6BOUNDS)
171 
172 
173 #define XMMin(a, b) (((a) < (b)) ? (a) : (b))
174 #define XMMax(a, b) (((a) > (b)) ? (a) : (b))
175 
176 /****************************************************************************
177  *
178  * Data types
179  *
180  ****************************************************************************/
181 
182 #pragma warning(push)
183 #pragma warning(disable:4201 4365 4324)
184 
185 #if !defined (_XM_X86_) && !defined(_XM_X64_)
186 #pragma bitfield_order(push)
187 #pragma bitfield_order(lsb_to_msb)
188 #endif // !_XM_X86_ && !_XM_X64_
189 
190 #if defined(_XM_NO_INTRINSICS_) && !defined(_XBOX_VER)
191 // The __vector4 structure is an intrinsic on Xbox but must be separately defined
192 // for x86/x64
193 typedef struct __vector4
194 {
195  union
196  {
197  float vector4_f32[4];
198  unsigned int vector4_u32[4];
199 #ifndef XM_STRICT_VECTOR4
200  struct
201  {
202  FLOAT x;
203  FLOAT y;
204  FLOAT z;
205  FLOAT w;
206  };
207  FLOAT v[4];
208  UINT u[4];
209 #endif // !XM_STRICT_VECTOR4
210  };
211 } __vector4;
212 #endif // _XM_NO_INTRINSICS_
213 
214 #if (defined (_XM_X86_) || defined(_XM_X64_)) && defined(_XM_NO_INTRINSICS_)
215 typedef UINT __vector4i[4];
216 #else
217 typedef __declspec(align(16)) UINT __vector4i[4];
218 #endif
219 
220 // Vector intrinsic: Four 32 bit floating point components aligned on a 16 byte
221 // boundary and mapped to hardware vector registers
222 #if defined(_XM_SSE_INTRINSICS_) && !defined(_XM_NO_INTRINSICS_)
223 typedef __m128 XMVECTOR;
224 #else
225 typedef __vector4 XMVECTOR;
226 #endif
227 
228 // Conversion types for constants
230  union {
231  float f[4];
233  };
234 
235 #if defined(__cplusplus)
236  inline operator XMVECTOR() const { return v; }
237 #if !defined(_XM_NO_INTRINSICS_) && defined(_XM_SSE_INTRINSICS_)
238  inline operator __m128i() const { return reinterpret_cast<const __m128i *>(&v)[0]; }
239  inline operator __m128d() const { return reinterpret_cast<const __m128d *>(&v)[0]; }
240 #endif
241 #endif // __cplusplus
242 } XMVECTORF32;
243 
245  union {
246  INT i[4];
248  };
249 #if defined(__cplusplus)
250  inline operator XMVECTOR() const { return v; }
251 #if !defined(_XM_NO_INTRINSICS_) && defined(_XM_SSE_INTRINSICS_)
252  inline operator __m128i() const { return reinterpret_cast<const __m128i *>(&v)[0]; }
253  inline operator __m128d() const { return reinterpret_cast<const __m128d *>(&v)[0]; }
254 #endif
255 #endif // __cplusplus
256 } XMVECTORI32;
257 
259  union {
260  BYTE u[16];
262  };
263 #if defined(__cplusplus)
264  inline operator XMVECTOR() const { return v; }
265 #if !defined(_XM_NO_INTRINSICS_) && defined(_XM_SSE_INTRINSICS_)
266  inline operator __m128i() const { return reinterpret_cast<const __m128i *>(&v)[0]; }
267  inline operator __m128d() const { return reinterpret_cast<const __m128d *>(&v)[0]; }
268 #endif
269 #endif // __cplusplus
270 } XMVECTORU8;
271 
273  union {
274  UINT u[4];
276  };
277 #if defined(__cplusplus)
278  inline operator XMVECTOR() const { return v; }
279 #if !defined(_XM_NO_INTRINSICS_) && defined(_XM_SSE_INTRINSICS_)
280  inline operator __m128i() const { return reinterpret_cast<const __m128i *>(&v)[0]; }
281  inline operator __m128d() const { return reinterpret_cast<const __m128d *>(&v)[0]; }
282 #endif
283 #endif // __cplusplus
284 } XMVECTORU32;
285 
286 // Fix-up for (1st-3rd) XMVECTOR parameters that are pass-in-register for x86 and Xbox 360, but not for other targets
287 #if defined(_XM_VMX128_INTRINSICS_) && !defined(_XM_NO_INTRINSICS_)
288 typedef const XMVECTOR FXMVECTOR;
289 #elif defined(_XM_X86_) && !defined(_XM_NO_INTRINSICS_)
290 typedef const XMVECTOR FXMVECTOR;
291 #elif defined(__cplusplus)
292 typedef const XMVECTOR& FXMVECTOR;
293 #else
294 typedef const XMVECTOR FXMVECTOR;
295 #endif
296 
297 // Fix-up for (4th+) XMVECTOR parameters to pass in-register for Xbox 360 and by reference otherwise
298 #if defined(_XM_VMX128_INTRINSICS_) && !defined(_XM_NO_INTRINSICS_)
299 typedef const XMVECTOR CXMVECTOR;
300 #elif defined(__cplusplus)
301 typedef const XMVECTOR& CXMVECTOR;
302 #else
303 typedef const XMVECTOR CXMVECTOR;
304 #endif
305 
306 // Vector operators
307 #if defined(__cplusplus) && !defined(XM_NO_OPERATOR_OVERLOADS)
308 
309 XMVECTOR operator+ (FXMVECTOR V);
310 XMVECTOR operator- (FXMVECTOR V);
311 
312 XMVECTOR& operator+= (XMVECTOR& V1, FXMVECTOR V2);
313 XMVECTOR& operator-= (XMVECTOR& V1, FXMVECTOR V2);
314 XMVECTOR& operator*= (XMVECTOR& V1, FXMVECTOR V2);
315 XMVECTOR& operator/= (XMVECTOR& V1, FXMVECTOR V2);
316 XMVECTOR& operator*= (XMVECTOR& V, FLOAT S);
317 XMVECTOR& operator/= (XMVECTOR& V, FLOAT S);
318 
319 XMVECTOR operator+ (FXMVECTOR V1, FXMVECTOR V2);
320 XMVECTOR operator- (FXMVECTOR V1, FXMVECTOR V2);
321 XMVECTOR operator* (FXMVECTOR V1, FXMVECTOR V2);
322 XMVECTOR operator/ (FXMVECTOR V1, FXMVECTOR V2);
323 XMVECTOR operator* (FXMVECTOR V, FLOAT S);
324 XMVECTOR operator* (FLOAT S, FXMVECTOR V);
325 XMVECTOR operator/ (FXMVECTOR V, FLOAT S);
326 
327 #endif // __cplusplus && !XM_NO_OPERATOR_OVERLOADS
328 
329 // Matrix type: Sixteen 32 bit floating point components aligned on a
330 // 16 byte boundary and mapped to four hardware vector registers
331 #if (defined(_XM_X86_) || defined(_XM_X64_)) && defined(_XM_NO_INTRINSICS_)
332 typedef struct _XMMATRIX
333 #else
335 #endif
336 {
337  union
338  {
340  struct
341  {
346  };
347  FLOAT m[4][4];
348  };
349 
350 #ifdef __cplusplus
351 
352  _XMMATRIX() {};
354  _XMMATRIX(FLOAT m00, FLOAT m01, FLOAT m02, FLOAT m03,
355  FLOAT m10, FLOAT m11, FLOAT m12, FLOAT m13,
356  FLOAT m20, FLOAT m21, FLOAT m22, FLOAT m23,
357  FLOAT m30, FLOAT m31, FLOAT m32, FLOAT m33);
358  _XMMATRIX(CONST FLOAT *pArray);
359 
360  FLOAT operator() (UINT Row, UINT Column) CONST { return m[Row][Column]; }
361  FLOAT& operator() (UINT Row, UINT Column) { return m[Row][Column]; }
362 
363  _XMMATRIX& operator= (CONST _XMMATRIX& M);
364 
365 #ifndef XM_NO_OPERATOR_OVERLOADS
366  _XMMATRIX& operator*= (CONST _XMMATRIX& M);
367  _XMMATRIX operator* (CONST _XMMATRIX& M) CONST;
368 #endif // !XM_NO_OPERATOR_OVERLOADS
369 
370 #endif // __cplusplus
371 
372 } XMMATRIX;
373 
374 // Fix-up for XMMATRIX parameters to pass in-register on Xbox 360, by reference otherwise
375 #if defined(_XM_VMX128_INTRINSICS_)
376 typedef const XMMATRIX CXMMATRIX;
377 #elif defined(__cplusplus)
378 typedef const XMMATRIX& CXMMATRIX;
379 #else
380 typedef const XMMATRIX CXMMATRIX;
381 #endif
382 
383 // 16 bit floating point number consisting of a sign bit, a 5 bit biased
384 // exponent, and a 10 bit mantissa
385 //typedef WORD HALF;
386 typedef USHORT HALF;
387 
388 // 2D Vector; 32 bit floating point components
389 typedef struct _XMFLOAT2
390 {
393 
394 #ifdef __cplusplus
395 
396  _XMFLOAT2() {};
397  _XMFLOAT2(FLOAT _x, FLOAT _y) : x(_x), y(_y) {};
398  _XMFLOAT2(CONST FLOAT *pArray);
399 
400  _XMFLOAT2& operator= (CONST _XMFLOAT2& Float2);
401 
402 #endif // __cplusplus
403 
404 } XMFLOAT2;
405 
406 // 2D Vector; 32 bit floating point components aligned on a 16 byte boundary
407 #ifdef __cplusplus
408 __declspec(align(16)) struct XMFLOAT2A : public XMFLOAT2
409 {
410  XMFLOAT2A() : XMFLOAT2() {};
411  XMFLOAT2A(FLOAT _x, FLOAT _y) : XMFLOAT2(_x, _y) {};
412  XMFLOAT2A(CONST FLOAT *pArray) : XMFLOAT2(pArray) {};
413 
414  XMFLOAT2A& operator= (CONST XMFLOAT2A& Float2);
415 };
416 #else
417 typedef __declspec(align(16)) XMFLOAT2 XMFLOAT2A;
418 #endif // __cplusplus
419 
420 // 2D Vector; 16 bit floating point components
421 typedef struct _XMHALF2
422 {
425 
426 #ifdef __cplusplus
427 
428  _XMHALF2() {};
429  _XMHALF2(HALF _x, HALF _y) : x(_x), y(_y) {};
430  _XMHALF2(CONST HALF *pArray);
432  _XMHALF2(CONST FLOAT *pArray);
433 
434  _XMHALF2& operator= (CONST _XMHALF2& Half2);
435 
436 #endif // __cplusplus
437 
438 } XMHALF2;
439 
440 // 2D Vector; 16 bit signed normalized integer components
441 typedef struct _XMSHORTN2
442 {
443  SHORT x;
444  SHORT y;
445 
446 #ifdef __cplusplus
447 
448  _XMSHORTN2() {};
449  _XMSHORTN2(SHORT _x, SHORT _y) : x(_x), y(_y) {};
450  _XMSHORTN2(CONST SHORT *pArray);
452  _XMSHORTN2(CONST FLOAT *pArray);
453 
454  _XMSHORTN2& operator= (CONST _XMSHORTN2& ShortN2);
455 
456 #endif // __cplusplus
457 
458 } XMSHORTN2;
459 
460 // 2D Vector; 16 bit signed integer components
461 typedef struct _XMSHORT2
462 {
463  SHORT x;
464  SHORT y;
465 
466 #ifdef __cplusplus
467 
468  _XMSHORT2() {};
469  _XMSHORT2(SHORT _x, SHORT _y) : x(_x), y(_y) {};
470  _XMSHORT2(CONST SHORT *pArray);
472  _XMSHORT2(CONST FLOAT *pArray);
473 
474  _XMSHORT2& operator= (CONST _XMSHORT2& Short2);
475 
476 #endif // __cplusplus
477 
478 } XMSHORT2;
479 
480 // 2D Vector; 16 bit unsigned normalized integer components
481 typedef struct _XMUSHORTN2
482 {
483  USHORT x;
484  USHORT y;
485 
486 #ifdef __cplusplus
487 
488  _XMUSHORTN2() {};
489  _XMUSHORTN2(USHORT _x, USHORT _y) : x(_x), y(_y) {};
490  _XMUSHORTN2(CONST USHORT *pArray);
492  _XMUSHORTN2(CONST FLOAT *pArray);
493 
494  _XMUSHORTN2& operator= (CONST _XMUSHORTN2& UShortN2);
495 
496 #endif // __cplusplus
497 
498 } XMUSHORTN2;
499 
500 // 2D Vector; 16 bit unsigned integer components
501 typedef struct _XMUSHORT2
502 {
503  USHORT x;
504  USHORT y;
505 
506 #ifdef __cplusplus
507 
508  _XMUSHORT2() {};
509  _XMUSHORT2(USHORT _x, USHORT _y) : x(_x), y(_y) {};
510  _XMUSHORT2(CONST USHORT *pArray);
512  _XMUSHORT2(CONST FLOAT *pArray);
513 
514  _XMUSHORT2& operator= (CONST _XMUSHORT2& UShort2);
515 
516 #endif // __cplusplus
517 
518 } XMUSHORT2;
519 
520 // 3D Vector; 32 bit floating point components
521 typedef struct _XMFLOAT3
522 {
526 
527 #ifdef __cplusplus
528 
529  _XMFLOAT3() {};
530  _XMFLOAT3(FLOAT _x, FLOAT _y, FLOAT _z) : x(_x), y(_y), z(_z) {};
531  _XMFLOAT3(CONST FLOAT *pArray);
532 
533  _XMFLOAT3& operator= (CONST _XMFLOAT3& Float3);
534 
535 #endif // __cplusplus
536 
537 } XMFLOAT3;
538 
539 // 3D Vector; 32 bit floating point components aligned on a 16 byte boundary
540 #ifdef __cplusplus
541 __declspec(align(16)) struct XMFLOAT3A : public XMFLOAT3
542 {
543  XMFLOAT3A() : XMFLOAT3() {};
544  XMFLOAT3A(FLOAT _x, FLOAT _y, FLOAT _z) : XMFLOAT3(_x, _y, _z) {};
545  XMFLOAT3A(CONST FLOAT *pArray) : XMFLOAT3(pArray) {};
546 
547  XMFLOAT3A& operator= (CONST XMFLOAT3A& Float3);
548 };
549 #else
550 typedef __declspec(align(16)) XMFLOAT3 XMFLOAT3A;
551 #endif // __cplusplus
552 
553 // 3D Vector; 11-11-10 bit normalized components packed into a 32 bit integer
554 // The normalized 3D Vector is packed into 32 bits as follows: a 10 bit signed,
555 // normalized integer for the z component and 11 bit signed, normalized
556 // integers for the x and y components. The z component is stored in the
557 // most significant bits and the x component in the least significant bits
558 // (Z10Y11X11): [32] zzzzzzzz zzyyyyyy yyyyyxxx xxxxxxxx [0]
559 typedef struct _XMHENDN3
560 {
561  union
562  {
563  struct
564  {
565  INT x : 11; // -1023/1023 to 1023/1023
566  INT y : 11; // -1023/1023 to 1023/1023
567  INT z : 10; // -511/511 to 511/511
568  };
570  };
571 
572 #ifdef __cplusplus
573 
574  _XMHENDN3() {};
575  _XMHENDN3(UINT Packed) : v(Packed) {};
577  _XMHENDN3(CONST FLOAT *pArray);
578 
579  operator UINT () { return v; }
580 
581  _XMHENDN3& operator= (CONST _XMHENDN3& HenDN3);
582  _XMHENDN3& operator= (CONST UINT Packed);
583 
584 #endif // __cplusplus
585 
586 } XMHENDN3;
587 
588 // 3D Vector; 11-11-10 bit components packed into a 32 bit integer
589 // The 3D Vector is packed into 32 bits as follows: a 10 bit signed,
590 // integer for the z component and 11 bit signed integers for the
591 // x and y components. The z component is stored in the
592 // most significant bits and the x component in the least significant bits
593 // (Z10Y11X11): [32] zzzzzzzz zzyyyyyy yyyyyxxx xxxxxxxx [0]
594 typedef struct _XMHEND3
595 {
596  union
597  {
598  struct
599  {
600  INT x : 11; // -1023 to 1023
601  INT y : 11; // -1023 to 1023
602  INT z : 10; // -511 to 511
603  };
605  };
606 
607 #ifdef __cplusplus
608 
609  _XMHEND3() {};
610  _XMHEND3(UINT Packed) : v(Packed) {};
612  _XMHEND3(CONST FLOAT *pArray);
613 
614  operator UINT () { return v; }
615 
616  _XMHEND3& operator= (CONST _XMHEND3& HenD3);
617  _XMHEND3& operator= (CONST UINT Packed);
618 
619 #endif // __cplusplus
620 
621 } XMHEND3;
622 
623 // 3D Vector; 11-11-10 bit normalized components packed into a 32 bit integer
624 // The normalized 3D Vector is packed into 32 bits as follows: a 10 bit unsigned,
625 // normalized integer for the z component and 11 bit unsigned, normalized
626 // integers for the x and y components. The z component is stored in the
627 // most significant bits and the x component in the least significant bits
628 // (Z10Y11X11): [32] zzzzzzzz zzyyyyyy yyyyyxxx xxxxxxxx [0]
629 typedef struct _XMUHENDN3
630 {
631  union
632  {
633  struct
634  {
635  UINT x : 11; // 0/2047 to 2047/2047
636  UINT y : 11; // 0/2047 to 2047/2047
637  UINT z : 10; // 0/1023 to 1023/1023
638  };
640  };
641 
642 #ifdef __cplusplus
643 
644  _XMUHENDN3() {};
645  _XMUHENDN3(UINT Packed) : v(Packed) {};
647  _XMUHENDN3(CONST FLOAT *pArray);
648 
649  operator UINT () { return v; }
650 
651  _XMUHENDN3& operator= (CONST _XMUHENDN3& UHenDN3);
652  _XMUHENDN3& operator= (CONST UINT Packed);
653 
654 #endif // __cplusplus
655 
656 } XMUHENDN3;
657 
658 // 3D Vector; 11-11-10 bit components packed into a 32 bit integer
659 // The 3D Vector is packed into 32 bits as follows: a 10 bit unsigned
660 // integer for the z component and 11 bit unsigned integers
661 // for the x and y components. The z component is stored in the
662 // most significant bits and the x component in the least significant bits
663 // (Z10Y11X11): [32] zzzzzzzz zzyyyyyy yyyyyxxx xxxxxxxx [0]
664 typedef struct _XMUHEND3
665 {
666  union
667  {
668  struct
669  {
670  UINT x : 11; // 0 to 2047
671  UINT y : 11; // 0 to 2047
672  UINT z : 10; // 0 to 1023
673  };
675  };
676 
677 #ifdef __cplusplus
678 
679  _XMUHEND3() {};
680  _XMUHEND3(UINT Packed) : v(Packed) {};
682  _XMUHEND3(CONST FLOAT *pArray);
683 
684  operator UINT () { return v; }
685 
686  _XMUHEND3& operator= (CONST _XMUHEND3& UHenD3);
687  _XMUHEND3& operator= (CONST UINT Packed);
688 
689 #endif // __cplusplus
690 
691 } XMUHEND3;
692 
693 // 3D Vector; 10-11-11 bit normalized components packed into a 32 bit integer
694 // The normalized 3D Vector is packed into 32 bits as follows: a 10 bit signed,
695 // normalized integer for the x component and 11 bit signed, normalized
696 // integers for the y and z components. The z component is stored in the
697 // most significant bits and the x component in the least significant bits
698 // (Z11Y11X10): [32] zzzzzzzz zzzyyyyy yyyyyyxx xxxxxxxx [0]
699 typedef struct _XMDHENN3
700 {
701  union
702  {
703  struct
704  {
705  INT x : 10; // -511/511 to 511/511
706  INT y : 11; // -1023/1023 to 1023/1023
707  INT z : 11; // -1023/1023 to 1023/1023
708  };
710  };
711 
712 #ifdef __cplusplus
713 
714  _XMDHENN3() {};
715  _XMDHENN3(UINT Packed) : v(Packed) {};
717  _XMDHENN3(CONST FLOAT *pArray);
718 
719  operator UINT () { return v; }
720 
721  _XMDHENN3& operator= (CONST _XMDHENN3& DHenN3);
722  _XMDHENN3& operator= (CONST UINT Packed);
723 
724 #endif // __cplusplus
725 
726 } XMDHENN3;
727 
728 // 3D Vector; 10-11-11 bit components packed into a 32 bit integer
729 // The 3D Vector is packed into 32 bits as follows: a 10 bit signed,
730 // integer for the x component and 11 bit signed integers for the
731 // y and z components. The w component is stored in the
732 // most significant bits and the x component in the least significant bits
733 // (Z11Y11X10): [32] zzzzzzzz zzzyyyyy yyyyyyxx xxxxxxxx [0]
734 typedef struct _XMDHEN3
735 {
736  union
737  {
738  struct
739  {
740  INT x : 10; // -511 to 511
741  INT y : 11; // -1023 to 1023
742  INT z : 11; // -1023 to 1023
743  };
745  };
746 
747 #ifdef __cplusplus
748 
749  _XMDHEN3() {};
750  _XMDHEN3(UINT Packed) : v(Packed) {};
752  _XMDHEN3(CONST FLOAT *pArray);
753 
754  operator UINT () { return v; }
755 
756  _XMDHEN3& operator= (CONST _XMDHEN3& DHen3);
757  _XMDHEN3& operator= (CONST UINT Packed);
758 
759 #endif // __cplusplus
760 
761 } XMDHEN3;
762 
763 // 3D Vector; 10-11-11 bit normalized components packed into a 32 bit integer
764 // The normalized 3D Vector is packed into 32 bits as follows: a 10 bit unsigned,
765 // normalized integer for the x component and 11 bit unsigned, normalized
766 // integers for the y and z components. The w component is stored in the
767 // most significant bits and the x component in the least significant bits
768 // (Z11Y11X10): [32] zzzzzzzz zzzyyyyy yyyyyyxx xxxxxxxx [0]
769 typedef struct _XMUDHENN3
770 {
771  union
772  {
773  struct
774  {
775  UINT x : 10; // 0/1023 to 1023/1023
776  UINT y : 11; // 0/2047 to 2047/2047
777  UINT z : 11; // 0/2047 to 2047/2047
778  };
780  };
781 
782 #ifdef __cplusplus
783 
784  _XMUDHENN3() {};
785  _XMUDHENN3(UINT Packed) : v(Packed) {};
787  _XMUDHENN3(CONST FLOAT *pArray);
788 
789  operator UINT () { return v; }
790 
791  _XMUDHENN3& operator= (CONST _XMUDHENN3& UDHenN3);
792  _XMUDHENN3& operator= (CONST UINT Packed);
793 
794 #endif // __cplusplus
795 
796 } XMUDHENN3;
797 
798 // 3D Vector; 10-11-11 bit components packed into a 32 bit integer
799 // The 3D Vector is packed into 32 bits as follows: a 10 bit unsigned,
800 // integer for the x component and 11 bit unsigned integers
801 // for the y and z components. The w component is stored in the
802 // most significant bits and the x component in the least significant bits
803 // (Z11Y11X10): [32] zzzzzzzz zzzyyyyy yyyyyyxx xxxxxxxx [0]
804 typedef struct _XMUDHEN3
805 {
806  union
807  {
808  struct
809  {
810  UINT x : 10; // 0 to 1023
811  UINT y : 11; // 0 to 2047
812  UINT z : 11; // 0 to 2047
813  };
815  };
816 
817 #ifdef __cplusplus
818 
819  _XMUDHEN3() {};
820  _XMUDHEN3(UINT Packed) : v(Packed) {};
822  _XMUDHEN3(CONST FLOAT *pArray);
823 
824  operator UINT () { return v; }
825 
826  _XMUDHEN3& operator= (CONST _XMUDHEN3& UDHen3);
827  _XMUDHEN3& operator= (CONST UINT Packed);
828 
829 #endif // __cplusplus
830 
831 } XMUDHEN3;
832 
833 // 3D vector: 5/6/5 unsigned integer components
834 typedef struct _XMU565
835 {
836  union
837  {
838  struct
839  {
840  USHORT x : 5;
841  USHORT y : 6;
842  USHORT z : 5;
843  };
844  USHORT v;
845  };
846 
847 #ifdef __cplusplus
848 
849  _XMU565() {};
850  _XMU565(USHORT Packed) : v(Packed) {};
851  _XMU565(CHAR _x, CHAR _y, CHAR _z) : x(_x), y(_y), z(_z) {};
852  _XMU565(CONST CHAR *pArray);
854  _XMU565(CONST FLOAT *pArray);
855 
856  operator USHORT () { return v; }
857 
858  _XMU565& operator= (CONST _XMU565& U565);
859  _XMU565& operator= (CONST USHORT Packed);
860 
861 #endif // __cplusplus
862 
863 } XMU565;
864 
865 // 3D vector: 11/11/10 floating-point components
866 // The 3D vector is packed into 32 bits as follows: a 5-bit biased exponent
867 // and 6-bit mantissa for x component, a 5-bit biased exponent and
868 // 6-bit mantissa for y component, a 5-bit biased exponent and a 5-bit
869 // mantissa for z. The z component is stored in the most significant bits
870 // and the x component in the least significant bits. No sign bits so
871 // all partial-precision numbers are positive.
872 // (Z10Y11X11): [32] ZZZZZzzz zzzYYYYY yyyyyyXX XXXxxxxx [0]
873 typedef struct _XMFLOAT3PK
874 {
875  union
876  {
877  struct
878  {
879  UINT xm : 6;
880  UINT xe : 5;
881  UINT ym : 6;
882  UINT ye : 5;
883  UINT zm : 5;
884  UINT ze : 5;
885  };
887  };
888 
889 #ifdef __cplusplus
890 
891  _XMFLOAT3PK() {};
892  _XMFLOAT3PK(UINT Packed) : v(Packed) {};
894  _XMFLOAT3PK(CONST FLOAT *pArray);
895 
896  operator UINT () { return v; }
897 
898  _XMFLOAT3PK& operator= (CONST _XMFLOAT3PK& float3pk);
899  _XMFLOAT3PK& operator= (CONST UINT Packed);
900 
901 #endif // __cplusplus
902 
903 } XMFLOAT3PK;
904 
905 // 3D vector: 9/9/9 floating-point components with shared 5-bit exponent
906 // The 3D vector is packed into 32 bits as follows: a 5-bit biased exponent
907 // with 9-bit mantissa for the x, y, and z component. The shared exponent
908 // is stored in the most significant bits and the x component mantissa is in
909 // the least significant bits. No sign bits so all partial-precision numbers
910 // are positive.
911 // (E5Z9Y9X9): [32] EEEEEzzz zzzzzzyy yyyyyyyx xxxxxxxx [0]
912 typedef struct _XMFLOAT3SE
913 {
914  union
915  {
916  struct
917  {
918  UINT xm : 9;
919  UINT ym : 9;
920  UINT zm : 9;
921  UINT e : 5;
922  };
924  };
925 
926 #ifdef __cplusplus
927 
928  _XMFLOAT3SE() {};
929  _XMFLOAT3SE(UINT Packed) : v(Packed) {};
931  _XMFLOAT3SE(CONST FLOAT *pArray);
932 
933  operator UINT () { return v; }
934 
935  _XMFLOAT3SE& operator= (CONST _XMFLOAT3SE& float3se);
936  _XMFLOAT3SE& operator= (CONST UINT Packed);
937 
938 #endif // __cplusplus
939 
940 } XMFLOAT3SE;
941 
942 // 4D Vector; 32 bit floating point components
943 typedef struct _XMFLOAT4
944 {
949 
950 #ifdef __cplusplus
951 
952  _XMFLOAT4() {};
953  _XMFLOAT4(FLOAT _x, FLOAT _y, FLOAT _z, FLOAT _w) : x(_x), y(_y), z(_z), w(_w) {};
954  _XMFLOAT4(CONST FLOAT *pArray);
955 
956  _XMFLOAT4& operator= (CONST _XMFLOAT4& Float4);
957 
958 #endif // __cplusplus
959 
960 } XMFLOAT4;
961 
962 // 4D Vector; 32 bit floating point components aligned on a 16 byte boundary
963 #ifdef __cplusplus
964 __declspec(align(16)) struct XMFLOAT4A : public XMFLOAT4
965 {
966  XMFLOAT4A() : XMFLOAT4() {};
967  XMFLOAT4A(FLOAT _x, FLOAT _y, FLOAT _z, FLOAT _w) : XMFLOAT4(_x, _y, _z, _w) {};
968  XMFLOAT4A(CONST FLOAT *pArray) : XMFLOAT4(pArray) {};
969 
970  XMFLOAT4A& operator= (CONST XMFLOAT4A& Float4);
971 };
972 #else
973 typedef __declspec(align(16)) XMFLOAT4 XMFLOAT4A;
974 #endif // __cplusplus
975 
976 // 4D Vector; 16 bit floating point components
977 typedef struct _XMHALF4
978 {
983 
984 #ifdef __cplusplus
985 
986  _XMHALF4() {};
987  _XMHALF4(HALF _x, HALF _y, HALF _z, HALF _w) : x(_x), y(_y), z(_z), w(_w) {};
988  _XMHALF4(CONST HALF *pArray);
990  _XMHALF4(CONST FLOAT *pArray);
991 
992  _XMHALF4& operator= (CONST _XMHALF4& Half4);
993 
994 #endif // __cplusplus
995 
996 } XMHALF4;
997 
998 // 4D Vector; 16 bit signed normalized integer components
999 typedef struct _XMSHORTN4
1000 {
1001  SHORT x;
1002  SHORT y;
1003  SHORT z;
1004  SHORT w;
1005 
1006 #ifdef __cplusplus
1007 
1008  _XMSHORTN4() {};
1009  _XMSHORTN4(SHORT _x, SHORT _y, SHORT _z, SHORT _w) : x(_x), y(_y), z(_z), w(_w) {};
1010  _XMSHORTN4(CONST SHORT *pArray);
1012  _XMSHORTN4(CONST FLOAT *pArray);
1013 
1014  _XMSHORTN4& operator= (CONST _XMSHORTN4& ShortN4);
1015 
1016 #endif // __cplusplus
1017 
1018 } XMSHORTN4;
1019 
1020 // 4D Vector; 16 bit signed integer components
1021 typedef struct _XMSHORT4
1022 {
1023  SHORT x;
1024  SHORT y;
1025  SHORT z;
1026  SHORT w;
1027 
1028 #ifdef __cplusplus
1029 
1030  _XMSHORT4() {};
1031  _XMSHORT4(SHORT _x, SHORT _y, SHORT _z, SHORT _w) : x(_x), y(_y), z(_z), w(_w) {};
1032  _XMSHORT4(CONST SHORT *pArray);
1034  _XMSHORT4(CONST FLOAT *pArray);
1035 
1036  _XMSHORT4& operator= (CONST _XMSHORT4& Short4);
1037 
1038 #endif // __cplusplus
1039 
1040 } XMSHORT4;
1041 
1042 // 4D Vector; 16 bit unsigned normalized integer components
1043 typedef struct _XMUSHORTN4
1044 {
1045  USHORT x;
1046  USHORT y;
1047  USHORT z;
1048  USHORT w;
1049 
1050 #ifdef __cplusplus
1051 
1052  _XMUSHORTN4() {};
1053  _XMUSHORTN4(USHORT _x, USHORT _y, USHORT _z, USHORT _w) : x(_x), y(_y), z(_z), w(_w) {};
1054  _XMUSHORTN4(CONST USHORT *pArray);
1056  _XMUSHORTN4(CONST FLOAT *pArray);
1057 
1058  _XMUSHORTN4& operator= (CONST _XMUSHORTN4& UShortN4);
1059 
1060 #endif // __cplusplus
1061 
1062 } XMUSHORTN4;
1063 
1064 // 4D Vector; 16 bit unsigned integer components
1065 typedef struct _XMUSHORT4
1066 {
1067  USHORT x;
1068  USHORT y;
1069  USHORT z;
1070  USHORT w;
1071 
1072 #ifdef __cplusplus
1073 
1074  _XMUSHORT4() {};
1075  _XMUSHORT4(USHORT _x, USHORT _y, USHORT _z, USHORT _w) : x(_x), y(_y), z(_z), w(_w) {};
1076  _XMUSHORT4(CONST USHORT *pArray);
1078  _XMUSHORT4(CONST FLOAT *pArray);
1079 
1080  _XMUSHORT4& operator= (CONST _XMUSHORT4& UShort4);
1081 
1082 #endif // __cplusplus
1083 
1084 } XMUSHORT4;
1085 
1086 // 4D Vector; 10-10-10-2 bit normalized components packed into a 32 bit integer
1087 // The normalized 4D Vector is packed into 32 bits as follows: a 2 bit unsigned,
1088 // normalized integer for the w component and 10 bit signed, normalized
1089 // integers for the z, y, and x components. The w component is stored in the
1090 // most significant bits and the x component in the least significant bits
1091 // (W2Z10Y10X10): [32] wwzzzzzz zzzzyyyy yyyyyyxx xxxxxxxx [0]
1092 typedef struct _XMXDECN4
1093 {
1094  union
1095  {
1096  struct
1097  {
1098  INT x : 10; // -511/511 to 511/511
1099  INT y : 10; // -511/511 to 511/511
1100  INT z : 10; // -511/511 to 511/511
1101  UINT w : 2; // 0/3 to 3/3
1102  };
1104  };
1105 
1106 #ifdef __cplusplus
1107 
1108  _XMXDECN4() {};
1109  _XMXDECN4(UINT Packed) : v(Packed) {};
1111  _XMXDECN4(CONST FLOAT *pArray);
1112 
1113  operator UINT () { return v; }
1114 
1115  _XMXDECN4& operator= (CONST _XMXDECN4& XDecN4);
1116  _XMXDECN4& operator= (CONST UINT Packed);
1117 
1118 #endif // __cplusplus
1119 
1120 } XMXDECN4;
1121 
1122 // 4D Vector; 10-10-10-2 bit components packed into a 32 bit integer
1123 // The normalized 4D Vector is packed into 32 bits as follows: a 2 bit unsigned
1124 // integer for the w component and 10 bit signed integers for the
1125 // z, y, and x components. The w component is stored in the
1126 // most significant bits and the x component in the least significant bits
1127 // (W2Z10Y10X10): [32] wwzzzzzz zzzzyyyy yyyyyyxx xxxxxxxx [0]
1128 typedef struct _XMXDEC4
1129 {
1130  union
1131  {
1132  struct
1133  {
1134  INT x : 10; // -511 to 511
1135  INT y : 10; // -511 to 511
1136  INT z : 10; // -511 to 511
1137  UINT w : 2; // 0 to 3
1138  };
1140  };
1141 
1142 #ifdef __cplusplus
1143 
1144  _XMXDEC4() {};
1145  _XMXDEC4(UINT Packed) : v(Packed) {};
1147  _XMXDEC4(CONST FLOAT *pArray);
1148 
1149  operator UINT () { return v; }
1150 
1151  _XMXDEC4& operator= (CONST _XMXDEC4& XDec4);
1152  _XMXDEC4& operator= (CONST UINT Packed);
1153 
1154 #endif // __cplusplus
1155 
1156 } XMXDEC4;
1157 
1158 // 4D Vector; 10-10-10-2 bit normalized components packed into a 32 bit integer
1159 // The normalized 4D Vector is packed into 32 bits as follows: a 2 bit signed,
1160 // normalized integer for the w component and 10 bit signed, normalized
1161 // integers for the z, y, and x components. The w component is stored in the
1162 // most significant bits and the x component in the least significant bits
1163 // (W2Z10Y10X10): [32] wwzzzzzz zzzzyyyy yyyyyyxx xxxxxxxx [0]
1164 typedef struct _XMDECN4
1165 {
1166  union
1167  {
1168  struct
1169  {
1170  INT x : 10; // -511/511 to 511/511
1171  INT y : 10; // -511/511 to 511/511
1172  INT z : 10; // -511/511 to 511/511
1173  INT w : 2; // -1/1 to 1/1
1174  };
1176  };
1177 
1178 #ifdef __cplusplus
1179 
1180  _XMDECN4() {};
1181  _XMDECN4(UINT Packed) : v(Packed) {};
1183  _XMDECN4(CONST FLOAT *pArray);
1184 
1185  operator UINT () { return v; }
1186 
1187  _XMDECN4& operator= (CONST _XMDECN4& DecN4);
1188  _XMDECN4& operator= (CONST UINT Packed);
1189 
1190 #endif // __cplusplus
1191 
1192 } XMDECN4;
1193 
1194 // 4D Vector; 10-10-10-2 bit components packed into a 32 bit integer
1195 // The 4D Vector is packed into 32 bits as follows: a 2 bit signed,
1196 // integer for the w component and 10 bit signed integers for the
1197 // z, y, and x components. The w component is stored in the
1198 // most significant bits and the x component in the least significant bits
1199 // (W2Z10Y10X10): [32] wwzzzzzz zzzzyyyy yyyyyyxx xxxxxxxx [0]
1200 typedef struct _XMDEC4
1201 {
1202  union
1203  {
1204  struct
1205  {
1206  INT x : 10; // -511 to 511
1207  INT y : 10; // -511 to 511
1208  INT z : 10; // -511 to 511
1209  INT w : 2; // -1 to 1
1210  };
1212  };
1213 
1214 #ifdef __cplusplus
1215 
1216  _XMDEC4() {};
1217  _XMDEC4(UINT Packed) : v(Packed) {};
1219  _XMDEC4(CONST FLOAT *pArray);
1220 
1221  operator UINT () { return v; }
1222 
1223  _XMDEC4& operator= (CONST _XMDEC4& Dec4);
1224  _XMDEC4& operator= (CONST UINT Packed);
1225 
1226 #endif // __cplusplus
1227 
1228 } XMDEC4;
1229 
1230 // 4D Vector; 10-10-10-2 bit normalized components packed into a 32 bit integer
1231 // The normalized 4D Vector is packed into 32 bits as follows: a 2 bit unsigned,
1232 // normalized integer for the w component and 10 bit unsigned, normalized
1233 // integers for the z, y, and x components. The w component is stored in the
1234 // most significant bits and the x component in the least significant bits
1235 // (W2Z10Y10X10): [32] wwzzzzzz zzzzyyyy yyyyyyxx xxxxxxxx [0]
1236 typedef struct _XMUDECN4
1237 {
1238  union
1239  {
1240  struct
1241  {
1242  UINT x : 10; // 0/1023 to 1023/1023
1243  UINT y : 10; // 0/1023 to 1023/1023
1244  UINT z : 10; // 0/1023 to 1023/1023
1245  UINT w : 2; // 0/3 to 3/3
1246  };
1248  };
1249 
1250 #ifdef __cplusplus
1251 
1252  _XMUDECN4() {};
1253  _XMUDECN4(UINT Packed) : v(Packed) {};
1255  _XMUDECN4(CONST FLOAT *pArray);
1256 
1257  operator UINT () { return v; }
1258 
1259  _XMUDECN4& operator= (CONST _XMUDECN4& UDecN4);
1260  _XMUDECN4& operator= (CONST UINT Packed);
1261 
1262 #endif // __cplusplus
1263 
1264 } XMUDECN4;
1265 
1266 // 4D Vector; 10-10-10-2 bit components packed into a 32 bit integer
1267 // The 4D Vector is packed into 32 bits as follows: a 2 bit unsigned,
1268 // integer for the w component and 10 bit unsigned integers
1269 // for the z, y, and x components. The w component is stored in the
1270 // most significant bits and the x component in the least significant bits
1271 // (W2Z10Y10X10): [32] wwzzzzzz zzzzyyyy yyyyyyxx xxxxxxxx [0]
1272 typedef struct _XMUDEC4
1273 {
1274  union
1275  {
1276  struct
1277  {
1278  UINT x : 10; // 0 to 1023
1279  UINT y : 10; // 0 to 1023
1280  UINT z : 10; // 0 to 1023
1281  UINT w : 2; // 0 to 3
1282  };
1284  };
1285 
1286 #ifdef __cplusplus
1287 
1288  _XMUDEC4() {};
1289  _XMUDEC4(UINT Packed) : v(Packed) {};
1291  _XMUDEC4(CONST FLOAT *pArray);
1292 
1293  operator UINT () { return v; }
1294 
1295  _XMUDEC4& operator= (CONST _XMUDEC4& UDec4);
1296  _XMUDEC4& operator= (CONST UINT Packed);
1297 
1298 #endif // __cplusplus
1299 
1300 } XMUDEC4;
1301 
1302 // 4D Vector; 20-20-20-4 bit normalized components packed into a 64 bit integer
1303 // The normalized 4D Vector is packed into 64 bits as follows: a 4 bit unsigned,
1304 // normalized integer for the w component and 20 bit signed, normalized
1305 // integers for the z, y, and x components. The w component is stored in the
1306 // most significant bits and the x component in the least significant bits
1307 // (W4Z20Y20X20): [64] wwwwzzzz zzzzzzzz zzzzzzzz yyyyyyyy yyyyyyyy yyyyxxxx xxxxxxxx xxxxxxxx [0]
1308 typedef struct _XMXICON4
1309 {
1310  union
1311  {
1312  struct
1313  {
1314  INT64 x : 20; // -524287/524287 to 524287/524287
1315  INT64 y : 20; // -524287/524287 to 524287/524287
1316  INT64 z : 20; // -524287/524287 to 524287/524287
1317  UINT64 w : 4; // 0/15 to 15/15
1318  };
1320  };
1321 
1322 #ifdef __cplusplus
1323 
1324  _XMXICON4() {};
1325  _XMXICON4(UINT64 Packed) : v(Packed) {};
1327  _XMXICON4(CONST FLOAT *pArray);
1328 
1329  operator UINT64 () { return v; }
1330 
1331  _XMXICON4& operator= (CONST _XMXICON4& XIcoN4);
1332  _XMXICON4& operator= (CONST UINT64 Packed);
1333 
1334 #endif // __cplusplus
1335 
1336 } XMXICON4;
1337 
1338 // 4D Vector; 20-20-20-4 bit components packed into a 64 bit integer
1339 // The 4D Vector is packed into 64 bits as follows: a 4 bit unsigned
1340 // integer for the w component and 20 bit signed integers for the
1341 // z, y, and x components. The w component is stored in the
1342 // most significant bits and the x component in the least significant bits
1343 // (W4Z20Y20X20): [64] wwwwzzzz zzzzzzzz zzzzzzzz yyyyyyyy yyyyyyyy yyyyxxxx xxxxxxxx xxxxxxxx [0]
1344 typedef struct _XMXICO4
1345 {
1346  union
1347  {
1348  struct
1349  {
1350  INT64 x : 20; // -524287 to 524287
1351  INT64 y : 20; // -524287 to 524287
1352  INT64 z : 20; // -524287 to 524287
1353  UINT64 w : 4; // 0 to 15
1354  };
1356  };
1357 
1358 #ifdef __cplusplus
1359 
1360  _XMXICO4() {};
1361  _XMXICO4(UINT64 Packed) : v(Packed) {};
1363  _XMXICO4(CONST FLOAT *pArray);
1364 
1365  operator UINT64 () { return v; }
1366 
1367  _XMXICO4& operator= (CONST _XMXICO4& XIco4);
1368  _XMXICO4& operator= (CONST UINT64 Packed);
1369 
1370 #endif // __cplusplus
1371 
1372 } XMXICO4;
1373 
1374 // 4D Vector; 20-20-20-4 bit normalized components packed into a 64 bit integer
1375 // The normalized 4D Vector is packed into 64 bits as follows: a 4 bit signed,
1376 // normalized integer for the w component and 20 bit signed, normalized
1377 // integers for the z, y, and x components. The w component is stored in the
1378 // most significant bits and the x component in the least significant bits
1379 // (W4Z20Y20X20): [64] wwwwzzzz zzzzzzzz zzzzzzzz yyyyyyyy yyyyyyyy yyyyxxxx xxxxxxxx xxxxxxxx [0]
1380 typedef struct _XMICON4
1381 {
1382  union
1383  {
1384  struct
1385  {
1386  INT64 x : 20; // -524287/524287 to 524287/524287
1387  INT64 y : 20; // -524287/524287 to 524287/524287
1388  INT64 z : 20; // -524287/524287 to 524287/524287
1389  INT64 w : 4; // -7/7 to 7/7
1390  };
1392  };
1393 
1394 #ifdef __cplusplus
1395 
1396  _XMICON4() {};
1397  _XMICON4(UINT64 Packed) : v(Packed) {};
1399  _XMICON4(CONST FLOAT *pArray);
1400 
1401  operator UINT64 () { return v; }
1402 
1403  _XMICON4& operator= (CONST _XMICON4& IcoN4);
1404  _XMICON4& operator= (CONST UINT64 Packed);
1405 
1406 #endif // __cplusplus
1407 
1408 } XMICON4;
1409 
1410 // 4D Vector; 20-20-20-4 bit components packed into a 64 bit integer
1411 // The 4D Vector is packed into 64 bits as follows: a 4 bit signed,
1412 // integer for the w component and 20 bit signed integers for the
1413 // z, y, and x components. The w component is stored in the
1414 // most significant bits and the x component in the least significant bits
1415 // (W4Z20Y20X20): [64] wwwwzzzz zzzzzzzz zzzzzzzz yyyyyyyy yyyyyyyy yyyyxxxx xxxxxxxx xxxxxxxx [0]
1416 typedef struct _XMICO4
1417 {
1418  union
1419  {
1420  struct
1421  {
1422  INT64 x : 20; // -524287 to 524287
1423  INT64 y : 20; // -524287 to 524287
1424  INT64 z : 20; // -524287 to 524287
1425  INT64 w : 4; // -7 to 7
1426  };
1428  };
1429 
1430 #ifdef __cplusplus
1431 
1432  _XMICO4() {};
1433  _XMICO4(UINT64 Packed) : v(Packed) {};
1435  _XMICO4(CONST FLOAT *pArray);
1436 
1437  operator UINT64 () { return v; }
1438 
1439  _XMICO4& operator= (CONST _XMICO4& Ico4);
1440  _XMICO4& operator= (CONST UINT64 Packed);
1441 
1442 #endif // __cplusplus
1443 
1444 } XMICO4;
1445 
1446 // 4D Vector; 20-20-20-4 bit normalized components packed into a 64 bit integer
1447 // The normalized 4D Vector is packed into 64 bits as follows: a 4 bit unsigned,
1448 // normalized integer for the w component and 20 bit unsigned, normalized
1449 // integers for the z, y, and x components. The w component is stored in the
1450 // most significant bits and the x component in the least significant bits
1451 // (W4Z20Y20X20): [64] wwwwzzzz zzzzzzzz zzzzzzzz yyyyyyyy yyyyyyyy yyyyxxxx xxxxxxxx xxxxxxxx [0]
1452 typedef struct _XMUICON4
1453 {
1454  union
1455  {
1456  struct
1457  {
1458  UINT64 x : 20; // 0/1048575 to 1048575/1048575
1459  UINT64 y : 20; // 0/1048575 to 1048575/1048575
1460  UINT64 z : 20; // 0/1048575 to 1048575/1048575
1461  UINT64 w : 4; // 0/15 to 15/15
1462  };
1464  };
1465 
1466 #ifdef __cplusplus
1467 
1468  _XMUICON4() {};
1469  _XMUICON4(UINT64 Packed) : v(Packed) {};
1471  _XMUICON4(CONST FLOAT *pArray);
1472 
1473  operator UINT64 () { return v; }
1474 
1475  _XMUICON4& operator= (CONST _XMUICON4& UIcoN4);
1476  _XMUICON4& operator= (CONST UINT64 Packed);
1477 
1478 #endif // __cplusplus
1479 
1480 } XMUICON4;
1481 
1482 // 4D Vector; 20-20-20-4 bit components packed into a 64 bit integer
1483 // The 4D Vector is packed into 64 bits as follows: a 4 bit unsigned
1484 // integer for the w component and 20 bit unsigned integers for the
1485 // z, y, and x components. The w component is stored in the
1486 // most significant bits and the x component in the least significant bits
1487 // (W4Z20Y20X20): [64] wwwwzzzz zzzzzzzz zzzzzzzz yyyyyyyy yyyyyyyy yyyyxxxx xxxxxxxx xxxxxxxx [0]
1488 typedef struct _XMUICO4
1489 {
1490  union
1491  {
1492  struct
1493  {
1494  UINT64 x : 20; // 0 to 1048575
1495  UINT64 y : 20; // 0 to 1048575
1496  UINT64 z : 20; // 0 to 1048575
1497  UINT64 w : 4; // 0 to 15
1498  };
1500  };
1501 
1502 #ifdef __cplusplus
1503 
1504  _XMUICO4() {};
1505  _XMUICO4(UINT64 Packed) : v(Packed) {};
1507  _XMUICO4(CONST FLOAT *pArray);
1508 
1509  operator UINT64 () { return v; }
1510 
1511  _XMUICO4& operator= (CONST _XMUICO4& UIco4);
1512  _XMUICO4& operator= (CONST UINT64 Packed);
1513 
1514 #endif // __cplusplus
1515 
1516 } XMUICO4;
1517 
1518 // ARGB Color; 8-8-8-8 bit unsigned normalized integer components packed into
1519 // a 32 bit integer. The normalized color is packed into 32 bits using 8 bit
1520 // unsigned, normalized integers for the alpha, red, green, and blue components.
1521 // The alpha component is stored in the most significant bits and the blue
1522 // component in the least significant bits (A8R8G8B8):
1523 // [32] aaaaaaaa rrrrrrrr gggggggg bbbbbbbb [0]
1524 typedef struct _XMCOLOR
1525 {
1526  union
1527  {
1528  struct
1529  {
1530  UINT b : 8; // Blue: 0/255 to 255/255
1531  UINT g : 8; // Green: 0/255 to 255/255
1532  UINT r : 8; // Red: 0/255 to 255/255
1533  UINT a : 8; // Alpha: 0/255 to 255/255
1534  };
1536  };
1537 
1538 #ifdef __cplusplus
1539 
1540  _XMCOLOR() {};
1541  _XMCOLOR(UINT Color) : c(Color) {};
1542  _XMCOLOR(FLOAT _r, FLOAT _g, FLOAT _b, FLOAT _a);
1543  _XMCOLOR(CONST FLOAT *pArray);
1544 
1545  operator UINT () { return c; }
1546 
1547  _XMCOLOR& operator= (CONST _XMCOLOR& Color);
1548  _XMCOLOR& operator= (CONST UINT Color);
1549 
1550 #endif // __cplusplus
1551 
1552 } XMCOLOR;
1553 
1554 // 4D Vector; 8 bit signed normalized integer components
1555 typedef struct _XMBYTEN4
1556 {
1557  union
1558  {
1559  struct
1560  {
1561  CHAR x;
1562  CHAR y;
1563  CHAR z;
1564  CHAR w;
1565  };
1567  };
1568 
1569 #ifdef __cplusplus
1570 
1571  _XMBYTEN4() {};
1572  _XMBYTEN4(CHAR _x, CHAR _y, CHAR _z, CHAR _w) : x(_x), y(_y), z(_z), w(_w) {};
1573  _XMBYTEN4(UINT Packed) : v(Packed) {};
1574  _XMBYTEN4(CONST CHAR *pArray);
1576  _XMBYTEN4(CONST FLOAT *pArray);
1577 
1578  _XMBYTEN4& operator= (CONST _XMBYTEN4& ByteN4);
1579 
1580 #endif // __cplusplus
1581 
1582 } XMBYTEN4;
1583 
1584 // 4D Vector; 8 bit signed integer components
1585 typedef struct _XMBYTE4
1586 {
1587  union
1588  {
1589  struct
1590  {
1591  CHAR x;
1592  CHAR y;
1593  CHAR z;
1594  CHAR w;
1595  };
1597  };
1598 
1599 #ifdef __cplusplus
1600 
1601  _XMBYTE4() {};
1602  _XMBYTE4(CHAR _x, CHAR _y, CHAR _z, CHAR _w) : x(_x), y(_y), z(_z), w(_w) {};
1603  _XMBYTE4(UINT Packed) : v(Packed) {};
1604  _XMBYTE4(CONST CHAR *pArray);
1606  _XMBYTE4(CONST FLOAT *pArray);
1607 
1608  _XMBYTE4& operator= (CONST _XMBYTE4& Byte4);
1609 
1610 #endif // __cplusplus
1611 
1612 } XMBYTE4;
1613 
1614 // 4D Vector; 8 bit unsigned normalized integer components
1615 typedef struct _XMUBYTEN4
1616 {
1617  union
1618  {
1619  struct
1620  {
1621  BYTE x;
1622  BYTE y;
1623  BYTE z;
1624  BYTE w;
1625  };
1627  };
1628 
1629 #ifdef __cplusplus
1630 
1631  _XMUBYTEN4() {};
1632  _XMUBYTEN4(BYTE _x, BYTE _y, BYTE _z, BYTE _w) : x(_x), y(_y), z(_z), w(_w) {};
1633  _XMUBYTEN4(UINT Packed) : v(Packed) {};
1634  _XMUBYTEN4(CONST BYTE *pArray);
1636  _XMUBYTEN4(CONST FLOAT *pArray);
1637 
1638  _XMUBYTEN4& operator= (CONST _XMUBYTEN4& UByteN4);
1639 
1640 #endif // __cplusplus
1641 
1642 } XMUBYTEN4;
1643 
1644 // 4D Vector; 8 bit unsigned integer components
1645 typedef struct _XMUBYTE4
1646 {
1647  union
1648  {
1649  struct
1650  {
1651  BYTE x;
1652  BYTE y;
1653  BYTE z;
1654  BYTE w;
1655  };
1657  };
1658 
1659 #ifdef __cplusplus
1660 
1661  _XMUBYTE4() {};
1662  _XMUBYTE4(BYTE _x, BYTE _y, BYTE _z, BYTE _w) : x(_x), y(_y), z(_z), w(_w) {};
1663  _XMUBYTE4(UINT Packed) : v(Packed) {};
1664  _XMUBYTE4(CONST BYTE *pArray);
1666  _XMUBYTE4(CONST FLOAT *pArray);
1667 
1668  _XMUBYTE4& operator= (CONST _XMUBYTE4& UByte4);
1669 
1670 #endif // __cplusplus
1671 
1672 } XMUBYTE4;
1673 
1674 // 4D vector; 4 bit unsigned integer components
1675 typedef struct _XMUNIBBLE4
1676 {
1677  union
1678  {
1679  struct
1680  {
1681  USHORT x : 4;
1682  USHORT y : 4;
1683  USHORT z : 4;
1684  USHORT w : 4;
1685  };
1686  USHORT v;
1687  };
1688 
1689 #ifdef __cplusplus
1690 
1691  _XMUNIBBLE4() {};
1692  _XMUNIBBLE4(USHORT Packed) : v(Packed) {};
1693  _XMUNIBBLE4(CHAR _x, CHAR _y, CHAR _z, CHAR _w) : x(_x), y(_y), z(_z), w(_w) {};
1694  _XMUNIBBLE4(CONST CHAR *pArray);
1696  _XMUNIBBLE4(CONST FLOAT *pArray);
1697 
1698  operator USHORT () { return v; }
1699 
1700  _XMUNIBBLE4& operator= (CONST _XMUNIBBLE4& UNibble4);
1701  _XMUNIBBLE4& operator= (CONST USHORT Packed);
1702 
1703 #endif // __cplusplus
1704 
1705 } XMUNIBBLE4;
1706 
1707 // 4D vector: 5/5/5/1 unsigned integer components
1708 typedef struct _XMU555
1709 {
1710  union
1711  {
1712  struct
1713  {
1714  USHORT x : 5;
1715  USHORT y : 5;
1716  USHORT z : 5;
1717  USHORT w : 1;
1718  };
1719  USHORT v;
1720  };
1721 
1722 #ifdef __cplusplus
1723 
1724  _XMU555() {};
1725  _XMU555(USHORT Packed) : v(Packed) {};
1726  _XMU555(CHAR _x, CHAR _y, CHAR _z, BOOL _w) : x(_x), y(_y), z(_z), w(_w ? 0x1 : 0) {};
1727  _XMU555(CONST CHAR *pArray, BOOL _w);
1729  _XMU555(CONST FLOAT *pArray, BOOL _w);
1730 
1731  operator USHORT () { return v; }
1732 
1733  _XMU555& operator= (CONST _XMU555& U555);
1734  _XMU555& operator= (CONST USHORT Packed);
1735 
1736 #endif // __cplusplus
1737 
1738 } XMU555;
1739 
1740 // 3x3 Matrix: 32 bit floating point components
1741 typedef struct _XMFLOAT3X3
1742 {
1743  union
1744  {
1745  struct
1746  {
1750  };
1751  FLOAT m[3][3];
1752  };
1753 
1754 #ifdef __cplusplus
1755 
1756  _XMFLOAT3X3() {};
1757  _XMFLOAT3X3(FLOAT m00, FLOAT m01, FLOAT m02,
1758  FLOAT m10, FLOAT m11, FLOAT m12,
1759  FLOAT m20, FLOAT m21, FLOAT m22);
1760  _XMFLOAT3X3(CONST FLOAT *pArray);
1761 
1762  FLOAT operator() (UINT Row, UINT Column) CONST { return m[Row][Column]; }
1763  FLOAT& operator() (UINT Row, UINT Column) { return m[Row][Column]; }
1764 
1765  _XMFLOAT3X3& operator= (CONST _XMFLOAT3X3& Float3x3);
1766 
1767 #endif // __cplusplus
1768 
1769 } XMFLOAT3X3;
1770 
1771 // 4x3 Matrix: 32 bit floating point components
1772 typedef struct _XMFLOAT4X3
1773 {
1774  union
1775  {
1776  struct
1777  {
1782  };
1783  FLOAT m[4][3];
1784  };
1785 
1786 #ifdef __cplusplus
1787 
1788  _XMFLOAT4X3() {};
1789  _XMFLOAT4X3(FLOAT m00, FLOAT m01, FLOAT m02,
1790  FLOAT m10, FLOAT m11, FLOAT m12,
1791  FLOAT m20, FLOAT m21, FLOAT m22,
1792  FLOAT m30, FLOAT m31, FLOAT m32);
1793  _XMFLOAT4X3(CONST FLOAT *pArray);
1794 
1795  FLOAT operator() (UINT Row, UINT Column) CONST { return m[Row][Column]; }
1796  FLOAT& operator() (UINT Row, UINT Column) { return m[Row][Column]; }
1797 
1798  _XMFLOAT4X3& operator= (CONST _XMFLOAT4X3& Float4x3);
1799 
1800 #endif // __cplusplus
1801 
1802 } XMFLOAT4X3;
1803 
1804 // 4x3 Matrix: 32 bit floating point components aligned on a 16 byte boundary
1805 #ifdef __cplusplus
1806 __declspec(align(16)) struct XMFLOAT4X3A : public XMFLOAT4X3
1807 {
1808  XMFLOAT4X3A() : XMFLOAT4X3() {};
1809  XMFLOAT4X3A(FLOAT m00, FLOAT m01, FLOAT m02,
1810  FLOAT m10, FLOAT m11, FLOAT m12,
1811  FLOAT m20, FLOAT m21, FLOAT m22,
1812  FLOAT m30, FLOAT m31, FLOAT m32) :
1813  XMFLOAT4X3(m00,m01,m02,m10,m11,m12,m20,m21,m22,m30,m31,m32) {};
1814  XMFLOAT4X3A(CONST FLOAT *pArray) : XMFLOAT4X3(pArray) {}
1815 
1816  FLOAT operator() (UINT Row, UINT Column) CONST { return m[Row][Column]; }
1817  FLOAT& operator() (UINT Row, UINT Column) { return m[Row][Column]; }
1818 
1819  XMFLOAT4X3A& operator= (CONST XMFLOAT4X3A& Float4x3);
1820 };
1821 #else
1822 typedef __declspec(align(16)) XMFLOAT4X3 XMFLOAT4X3A;
1823 #endif // __cplusplus
1824 
1825 // 4x4 Matrix: 32 bit floating point components
1826 typedef struct _XMFLOAT4X4
1827 {
1828  union
1829  {
1830  struct
1831  {
1836  };
1837  FLOAT m[4][4];
1838  };
1839 
1840 #ifdef __cplusplus
1841 
1842  _XMFLOAT4X4() {};
1843  _XMFLOAT4X4(FLOAT m00, FLOAT m01, FLOAT m02, FLOAT m03,
1844  FLOAT m10, FLOAT m11, FLOAT m12, FLOAT m13,
1845  FLOAT m20, FLOAT m21, FLOAT m22, FLOAT m23,
1846  FLOAT m30, FLOAT m31, FLOAT m32, FLOAT m33);
1847  _XMFLOAT4X4(CONST FLOAT *pArray);
1848 
1849  FLOAT operator() (UINT Row, UINT Column) CONST { return m[Row][Column]; }
1850  FLOAT& operator() (UINT Row, UINT Column) { return m[Row][Column]; }
1851 
1852  _XMFLOAT4X4& operator= (CONST _XMFLOAT4X4& Float4x4);
1853 
1854 #endif // __cplusplus
1855 
1856 } XMFLOAT4X4;
1857 
1858 // 4x4 Matrix: 32 bit floating point components aligned on a 16 byte boundary
1859 #ifdef __cplusplus
1860 __declspec(align(16)) struct XMFLOAT4X4A : public XMFLOAT4X4
1861 {
1862  XMFLOAT4X4A() : XMFLOAT4X4() {};
1863  XMFLOAT4X4A(FLOAT m00, FLOAT m01, FLOAT m02, FLOAT m03,
1864  FLOAT m10, FLOAT m11, FLOAT m12, FLOAT m13,
1865  FLOAT m20, FLOAT m21, FLOAT m22, FLOAT m23,
1866  FLOAT m30, FLOAT m31, FLOAT m32, FLOAT m33)
1867  : XMFLOAT4X4(m00,m01,m02,m03,m10,m11,m12,m13,m20,m21,m22,m23,m30,m31,m32,m33) {};
1868  XMFLOAT4X4A(CONST FLOAT *pArray) : XMFLOAT4X4(pArray) {}
1869 
1870  FLOAT operator() (UINT Row, UINT Column) CONST { return m[Row][Column]; }
1871  FLOAT& operator() (UINT Row, UINT Column) { return m[Row][Column]; }
1872 
1873  XMFLOAT4X4A& operator= (CONST XMFLOAT4X4A& Float4x4);
1874 };
1875 #else
1876 typedef __declspec(align(16)) XMFLOAT4X4 XMFLOAT4X4A;
1877 #endif // __cplusplus
1878 
1879 #if !defined(_XM_X86_) && !defined(_XM_X64_)
1880 #pragma bitfield_order(pop)
1881 #endif // !_XM_X86_ && !_XM_X64_
1882 
1883 #pragma warning(pop)
1884 
1885 
1886 /****************************************************************************
1887  *
1888  * Data conversion operations
1889  *
1890  ****************************************************************************/
1891 
1892 #if !defined(_XM_NO_INTRINSICS_) && defined(_XM_VMX128_INTRINSICS_)
1893 #else
1895 XMVECTOR XMConvertVectorFloatToInt(FXMVECTOR VFloat, UINT MulExponent);
1897 XMVECTOR XMConvertVectorFloatToUInt(FXMVECTOR VFloat, UINT MulExponent);
1898 #endif
1899 
1901 FLOAT* XMConvertHalfToFloatStream(_Out_bytecap_x_(sizeof(FLOAT)+OutputStride*(HalfCount-1)) FLOAT* pOutputStream,
1902  _In_ UINT OutputStride,
1903  _In_bytecount_x_(sizeof(HALF)+InputStride*(HalfCount-1)) CONST HALF* pInputStream,
1904  _In_ UINT InputStride, _In_ UINT HalfCount);
1906 HALF* XMConvertFloatToHalfStream(_Out_bytecap_x_(sizeof(HALF)+OutputStride*(FloatCount-1)) HALF* pOutputStream,
1907  _In_ UINT OutputStride,
1908  _In_bytecount_x_(sizeof(FLOAT)+InputStride*(FloatCount-1)) CONST FLOAT* pInputStream,
1909  _In_ UINT InputStride, _In_ UINT FloatCount);
1910 
1911 #if !defined(_XM_NO_INTRINSICS_) && defined(_XM_VMX128_INTRINSICS_)
1912 #else
1914 XMVECTOR XMVectorSplatConstant(INT IntConstant, UINT DivExponent);
1916 #endif
1917 
1918 /****************************************************************************
1919  *
1920  * Load operations
1921  *
1922  ****************************************************************************/
1923 
1924 XMVECTOR XMLoadInt(_In_ CONST UINT* pSource);
1925 XMVECTOR XMLoadFloat(_In_ CONST FLOAT* pSource);
1926 
1927 XMVECTOR XMLoadInt2(_In_count_c_(2) CONST UINT* pSource);
1928 XMVECTOR XMLoadInt2A(_In_count_c_(2) CONST UINT* PSource);
1929 XMVECTOR XMLoadFloat2(_In_ CONST XMFLOAT2* pSource);
1930 XMVECTOR XMLoadFloat2A(_In_ CONST XMFLOAT2A* pSource);
1931 XMVECTOR XMLoadHalf2(_In_ CONST XMHALF2* pSource);
1932 XMVECTOR XMLoadShortN2(_In_ CONST XMSHORTN2* pSource);
1933 XMVECTOR XMLoadShort2(_In_ CONST XMSHORT2* pSource);
1934 XMVECTOR XMLoadUShortN2(_In_ CONST XMUSHORTN2* pSource);
1935 XMVECTOR XMLoadUShort2(_In_ CONST XMUSHORT2* pSource);
1936 
1937 XMVECTOR XMLoadInt3(_In_count_c_(3) CONST UINT* pSource);
1938 XMVECTOR XMLoadInt3A(_In_count_c_(3) CONST UINT* pSource);
1939 XMVECTOR XMLoadFloat3(_In_ CONST XMFLOAT3* pSource);
1940 XMVECTOR XMLoadFloat3A(_In_ CONST XMFLOAT3A* pSource);
1941 XMVECTOR XMLoadHenDN3(_In_ CONST XMHENDN3* pSource);
1942 XMVECTOR XMLoadHenD3(_In_ CONST XMHEND3* pSource);
1943 XMVECTOR XMLoadUHenDN3(_In_ CONST XMUHENDN3* pSource);
1944 XMVECTOR XMLoadUHenD3(_In_ CONST XMUHEND3* pSource);
1945 XMVECTOR XMLoadDHenN3(_In_ CONST XMDHENN3* pSource);
1946 XMVECTOR XMLoadDHen3(_In_ CONST XMDHEN3* pSource);
1947 XMVECTOR XMLoadUDHenN3(_In_ CONST XMUDHENN3* pSource);
1948 XMVECTOR XMLoadUDHen3(_In_ CONST XMUDHEN3* pSource);
1949 XMVECTOR XMLoadU565(_In_ CONST XMU565* pSource);
1950 XMVECTOR XMLoadFloat3PK(_In_ CONST XMFLOAT3PK* pSource);
1951 XMVECTOR XMLoadFloat3SE(_In_ CONST XMFLOAT3SE* pSource);
1952 
1953 XMVECTOR XMLoadInt4(_In_count_c_(4) CONST UINT* pSource);
1954 XMVECTOR XMLoadInt4A(_In_count_c_(4) CONST UINT* pSource);
1955 XMVECTOR XMLoadFloat4(_In_ CONST XMFLOAT4* pSource);
1956 XMVECTOR XMLoadFloat4A(_In_ CONST XMFLOAT4A* pSource);
1957 XMVECTOR XMLoadHalf4(_In_ CONST XMHALF4* pSource);
1958 XMVECTOR XMLoadShortN4(_In_ CONST XMSHORTN4* pSource);
1959 XMVECTOR XMLoadShort4(_In_ CONST XMSHORT4* pSource);
1960 XMVECTOR XMLoadUShortN4(_In_ CONST XMUSHORTN4* pSource);
1961 XMVECTOR XMLoadUShort4(_In_ CONST XMUSHORT4* pSource);
1962 XMVECTOR XMLoadXIcoN4(_In_ CONST XMXICON4* pSource);
1963 XMVECTOR XMLoadXIco4(_In_ CONST XMXICO4* pSource);
1964 XMVECTOR XMLoadIcoN4(_In_ CONST XMICON4* pSource);
1965 XMVECTOR XMLoadIco4(_In_ CONST XMICO4* pSource);
1966 XMVECTOR XMLoadUIcoN4(_In_ CONST XMUICON4* pSource);
1967 XMVECTOR XMLoadUIco4(_In_ CONST XMUICO4* pSource);
1968 XMVECTOR XMLoadXDecN4(_In_ CONST XMXDECN4* pSource);
1969 XMVECTOR XMLoadXDec4(_In_ CONST XMXDEC4* pSource);
1970 XMVECTOR XMLoadDecN4(_In_ CONST XMDECN4* pSource);
1971 XMVECTOR XMLoadDec4(_In_ CONST XMDEC4* pSource);
1972 XMVECTOR XMLoadUDecN4(_In_ CONST XMUDECN4* pSource);
1973 XMVECTOR XMLoadUDec4(_In_ CONST XMUDEC4* pSource);
1974 XMVECTOR XMLoadByteN4(_In_ CONST XMBYTEN4* pSource);
1975 XMVECTOR XMLoadByte4(_In_ CONST XMBYTE4* pSource);
1976 XMVECTOR XMLoadUByteN4(_In_ CONST XMUBYTEN4* pSource);
1977 XMVECTOR XMLoadUByte4(_In_ CONST XMUBYTE4* pSource);
1978 XMVECTOR XMLoadUNibble4(_In_ CONST XMUNIBBLE4* pSource);
1979 XMVECTOR XMLoadU555(_In_ CONST XMU555* pSource);
1980 XMVECTOR XMLoadColor(_In_ CONST XMCOLOR* pSource);
1981 
1982 XMMATRIX XMLoadFloat3x3(_In_ CONST XMFLOAT3X3* pSource);
1983 XMMATRIX XMLoadFloat4x3(_In_ CONST XMFLOAT4X3* pSource);
1984 XMMATRIX XMLoadFloat4x3A(_In_ CONST XMFLOAT4X3A* pSource);
1985 XMMATRIX XMLoadFloat4x4(_In_ CONST XMFLOAT4X4* pSource);
1986 XMMATRIX XMLoadFloat4x4A(_In_ CONST XMFLOAT4X4A* pSource);
1987 
1988 /****************************************************************************
1989  *
1990  * Store operations
1991  *
1992  ****************************************************************************/
1993 
1994 VOID XMStoreInt(_Out_ UINT* pDestination, FXMVECTOR V);
1995 VOID XMStoreFloat(_Out_ FLOAT* pDestination, FXMVECTOR V);
1996 
1997 VOID XMStoreInt2(_Out_cap_c_(2) UINT* pDestination, FXMVECTOR V);
1998 VOID XMStoreInt2A(_Out_cap_c_(2) UINT* pDestination, FXMVECTOR V);
1999 VOID XMStoreFloat2(_Out_ XMFLOAT2* pDestination, FXMVECTOR V);
2000 VOID XMStoreFloat2A(_Out_ XMFLOAT2A* pDestination, FXMVECTOR V);
2001 VOID XMStoreHalf2(_Out_ XMHALF2* pDestination, FXMVECTOR V);
2002 VOID XMStoreShortN2(_Out_ XMSHORTN2* pDestination, FXMVECTOR V);
2003 VOID XMStoreShort2(_Out_ XMSHORT2* pDestination, FXMVECTOR V);
2004 VOID XMStoreUShortN2(_Out_ XMUSHORTN2* pDestination, FXMVECTOR V);
2005 VOID XMStoreUShort2(_Out_ XMUSHORT2* pDestination, FXMVECTOR V);
2006 
2007 VOID XMStoreInt3(_Out_cap_c_(3) UINT* pDestination, FXMVECTOR V);
2008 VOID XMStoreInt3A(_Out_cap_c_(3) UINT* pDestination, FXMVECTOR V);
2009 VOID XMStoreFloat3(_Out_ XMFLOAT3* pDestination, FXMVECTOR V);
2010 VOID XMStoreFloat3A(_Out_ XMFLOAT3A* pDestination, FXMVECTOR V);
2011 VOID XMStoreHenDN3(_Out_ XMHENDN3* pDestination, FXMVECTOR V);
2012 VOID XMStoreHenD3(_Out_ XMHEND3* pDestination, FXMVECTOR V);
2013 VOID XMStoreUHenDN3(_Out_ XMUHENDN3* pDestination, FXMVECTOR V);
2014 VOID XMStoreUHenD3(_Out_ XMUHEND3* pDestination, FXMVECTOR V);
2015 VOID XMStoreDHenN3(_Out_ XMDHENN3* pDestination, FXMVECTOR V);
2016 VOID XMStoreDHen3(_Out_ XMDHEN3* pDestination, FXMVECTOR V);
2017 VOID XMStoreUDHenN3(_Out_ XMUDHENN3* pDestination, FXMVECTOR V);
2018 VOID XMStoreUDHen3(_Out_ XMUDHEN3* pDestination, FXMVECTOR V);
2019 VOID XMStoreU565(_Out_ XMU565* pDestination, FXMVECTOR V);
2020 VOID XMStoreFloat3PK(_Out_ XMFLOAT3PK* pDestination, FXMVECTOR V);
2021 VOID XMStoreFloat3SE(_Out_ XMFLOAT3SE* pDestination, FXMVECTOR V);
2022 
2023 VOID XMStoreInt4(_Out_cap_c_(4) UINT* pDestination, FXMVECTOR V);
2024 VOID XMStoreInt4A(_Out_cap_c_(4) UINT* pDestination, FXMVECTOR V);
2025 VOID XMStoreInt4NC(_Out_ UINT* pDestination, FXMVECTOR V);
2026 VOID XMStoreFloat4(_Out_ XMFLOAT4* pDestination, FXMVECTOR V);
2027 VOID XMStoreFloat4A(_Out_ XMFLOAT4A* pDestination, FXMVECTOR V);
2028 VOID XMStoreFloat4NC(_Out_ XMFLOAT4* pDestination, FXMVECTOR V);
2029 VOID XMStoreHalf4(_Out_ XMHALF4* pDestination, FXMVECTOR V);
2030 VOID XMStoreShortN4(_Out_ XMSHORTN4* pDestination, FXMVECTOR V);
2031 VOID XMStoreShort4(_Out_ XMSHORT4* pDestination, FXMVECTOR V);
2032 VOID XMStoreUShortN4(_Out_ XMUSHORTN4* pDestination, FXMVECTOR V);
2033 VOID XMStoreUShort4(_Out_ XMUSHORT4* pDestination, FXMVECTOR V);
2034 VOID XMStoreXIcoN4(_Out_ XMXICON4* pDestination, FXMVECTOR V);
2035 VOID XMStoreXIco4(_Out_ XMXICO4* pDestination, FXMVECTOR V);
2036 VOID XMStoreIcoN4(_Out_ XMICON4* pDestination, FXMVECTOR V);
2037 VOID XMStoreIco4(_Out_ XMICO4* pDestination, FXMVECTOR V);
2038 VOID XMStoreUIcoN4(_Out_ XMUICON4* pDestination, FXMVECTOR V);
2039 VOID XMStoreUIco4(_Out_ XMUICO4* pDestination, FXMVECTOR V);
2040 VOID XMStoreXDecN4(_Out_ XMXDECN4* pDestination, FXMVECTOR V);
2041 VOID XMStoreXDec4(_Out_ XMXDEC4* pDestination, FXMVECTOR V);
2042 VOID XMStoreDecN4(_Out_ XMDECN4* pDestination, FXMVECTOR V);
2043 VOID XMStoreDec4(_Out_ XMDEC4* pDestination, FXMVECTOR V);
2044 VOID XMStoreUDecN4(_Out_ XMUDECN4* pDestination, FXMVECTOR V);
2045 VOID XMStoreUDec4(_Out_ XMUDEC4* pDestination, FXMVECTOR V);
2046 VOID XMStoreByteN4(_Out_ XMBYTEN4* pDestination, FXMVECTOR V);
2047 VOID XMStoreByte4(_Out_ XMBYTE4* pDestination, FXMVECTOR V);
2048 VOID XMStoreUByteN4(_Out_ XMUBYTEN4* pDestination, FXMVECTOR V);
2049 VOID XMStoreUByte4(_Out_ XMUBYTE4* pDestination, FXMVECTOR V);
2050 VOID XMStoreUNibble4(_Out_ XMUNIBBLE4* pDestination, FXMVECTOR V);
2051 VOID XMStoreU555(_Out_ XMU555* pDestination, FXMVECTOR V);
2052 VOID XMStoreColor(_Out_ XMCOLOR* pDestination, FXMVECTOR V);
2053 
2054 VOID XMStoreFloat3x3(_Out_ XMFLOAT3X3* pDestination, CXMMATRIX M);
2055 VOID XMStoreFloat3x3NC(_Out_ XMFLOAT3X3* pDestination, CXMMATRIX M);
2056 VOID XMStoreFloat4x3(_Out_ XMFLOAT4X3* pDestination, CXMMATRIX M);
2057 VOID XMStoreFloat4x3A(_Out_ XMFLOAT4X3A* pDestination, CXMMATRIX M);
2058 VOID XMStoreFloat4x3NC(_Out_ XMFLOAT4X3* pDestination, CXMMATRIX M);
2059 VOID XMStoreFloat4x4(_Out_ XMFLOAT4X4* pDestination, CXMMATRIX M);
2060 VOID XMStoreFloat4x4A(_Out_ XMFLOAT4X4A* pDestination, CXMMATRIX M);
2061 VOID XMStoreFloat4x4NC(_Out_ XMFLOAT4X4* pDestination, CXMMATRIX M);
2062 
2063 /****************************************************************************
2064  *
2065  * General vector operations
2066  *
2067  ****************************************************************************/
2068 
2087 
2093 
2095 VOID XMVectorGetXPtr(_Out_ FLOAT *x, FXMVECTOR V);
2096 VOID XMVectorGetYPtr(_Out_ FLOAT *y, FXMVECTOR V);
2097 VOID XMVectorGetZPtr(_Out_ FLOAT *z, FXMVECTOR V);
2098 VOID XMVectorGetWPtr(_Out_ FLOAT *w, FXMVECTOR V);
2099 
2105 
2111 
2117 
2123 
2129 
2135 
2136 XMVECTOR XMVectorPermuteControl(UINT ElementIndex0, UINT ElementIndex1, UINT ElementIndex2, UINT ElementIndex3);
2138 XMVECTOR XMVectorSelectControl(UINT VectorIndex0, UINT VectorIndex1, UINT VectorIndex2, UINT VectorIndex3);
2142 
2143 #if !defined(_XM_NO_INTRINSICS_) && defined(_XM_VMX128_INTRINSICS_)
2144 #else
2148 XMVECTOR XMVectorSwizzle(FXMVECTOR V, UINT E0, UINT E1, UINT E2, UINT E3);
2149 XMVECTOR XMVectorInsert(FXMVECTOR VD, FXMVECTOR VS, UINT VSLeftRotateElements,
2150  UINT Select0, UINT Select1, UINT Select2, UINT Select3);
2151 #endif
2152 
2154 XMVECTOR XMVectorEqualR(_Out_ UINT* pCR, FXMVECTOR V1, FXMVECTOR V2);
2161 XMVECTOR XMVectorGreaterR(_Out_ UINT* pCR, FXMVECTOR V1, FXMVECTOR V2);
2167 XMVECTOR XMVectorInBoundsR(_Out_ UINT* pCR, FXMVECTOR V, FXMVECTOR Bounds);
2168 
2171 
2180 
2186 
2196 XMVECTOR XMVectorScale(FXMVECTOR V, FLOAT ScaleFactor);
2216 VOID XMVectorSinCos(_Out_ XMVECTOR* pSin, _Out_ XMVECTOR* pCos, FXMVECTOR V);
2217 VOID XMVectorSinCosEst(_Out_ XMVECTOR* pSin, _Out_ XMVECTOR* pCos, FXMVECTOR V);
2236 XMVECTOR XMVectorHermite(FXMVECTOR Position0, FXMVECTOR Tangent0, FXMVECTOR Position1, CXMVECTOR Tangent1, FLOAT t);
2237 XMVECTOR XMVectorHermiteV(FXMVECTOR Position0, FXMVECTOR Tangent0, FXMVECTOR Position1, CXMVECTOR Tangent1, CXMVECTOR T);
2238 XMVECTOR XMVectorCatmullRom(FXMVECTOR Position0, FXMVECTOR Position1, FXMVECTOR Position2, CXMVECTOR Position3, FLOAT t);
2239 XMVECTOR XMVectorCatmullRomV(FXMVECTOR Position0, FXMVECTOR Position1, FXMVECTOR Position2, CXMVECTOR Position3, CXMVECTOR T);
2240 XMVECTOR XMVectorBaryCentric(FXMVECTOR Position0, FXMVECTOR Position1, FXMVECTOR Position2, FLOAT f, FLOAT g);
2241 XMVECTOR XMVectorBaryCentricV(FXMVECTOR Position0, FXMVECTOR Position1, FXMVECTOR Position2, CXMVECTOR F, CXMVECTOR G);
2242 
2243 /****************************************************************************
2244  *
2245  * 2D vector operations
2246  *
2247  ****************************************************************************/
2248 
2249 
2265 
2268 
2278 XMVECTOR XMVector2ClampLength(FXMVECTOR V, FLOAT LengthMin, FLOAT LengthMax);
2280 XMVECTOR XMVector2Reflect(FXMVECTOR Incident, FXMVECTOR Normal);
2281 XMVECTOR XMVector2Refract(FXMVECTOR Incident, FXMVECTOR Normal, FLOAT RefractionIndex);
2282 XMVECTOR XMVector2RefractV(FXMVECTOR Incident, FXMVECTOR Normal, FXMVECTOR RefractionIndex);
2287 XMVECTOR XMVector2LinePointDistance(FXMVECTOR LinePoint1, FXMVECTOR LinePoint2, FXMVECTOR Point);
2288 XMVECTOR XMVector2IntersectLine(FXMVECTOR Line1Point1, FXMVECTOR Line1Point2, FXMVECTOR Line2Point1, CXMVECTOR Line2Point2);
2290 XMFLOAT4* XMVector2TransformStream(_Out_bytecap_x_(sizeof(XMFLOAT4)+OutputStride*(VectorCount-1)) XMFLOAT4* pOutputStream,
2291  _In_ UINT OutputStride,
2292  _In_bytecount_x_(sizeof(XMFLOAT2)+InputStride*(VectorCount-1)) CONST XMFLOAT2* pInputStream,
2293  _In_ UINT InputStride, _In_ UINT VectorCount, CXMMATRIX M);
2294 XMFLOAT4* XMVector2TransformStreamNC(_Out_bytecap_x_(sizeof(XMFLOAT4)+OutputStride*(VectorCount-1)) XMFLOAT4* pOutputStream,
2295  _In_ UINT OutputStride,
2296  _In_bytecount_x_(sizeof(XMFLOAT2)+InputStride*(VectorCount-1)) CONST XMFLOAT2* pInputStream,
2297  _In_ UINT InputStride, _In_ UINT VectorCount, CXMMATRIX M);
2299 XMFLOAT2* XMVector2TransformCoordStream(_Out_bytecap_x_(sizeof(XMFLOAT2)+OutputStride*(VectorCount-1)) XMFLOAT2* pOutputStream,
2300  _In_ UINT OutputStride,
2301  _In_bytecount_x_(sizeof(XMFLOAT2)+InputStride*(VectorCount-1)) CONST XMFLOAT2* pInputStream,
2302  _In_ UINT InputStride, _In_ UINT VectorCount, CXMMATRIX M);
2304 XMFLOAT2* XMVector2TransformNormalStream(_Out_bytecap_x_(sizeof(XMFLOAT2)+OutputStride*(VectorCount-1)) XMFLOAT2* pOutputStream,
2305  _In_ UINT OutputStride,
2306  _In_bytecount_x_(sizeof(XMFLOAT2)+InputStride*(VectorCount-1)) CONST XMFLOAT2* pInputStream,
2307  _In_ UINT InputStride, _In_ UINT VectorCount, CXMMATRIX M);
2308 
2309 /****************************************************************************
2310  *
2311  * 3D vector operations
2312  *
2313  ****************************************************************************/
2314 
2315 
2331 
2334 
2344 XMVECTOR XMVector3ClampLength(FXMVECTOR V, FLOAT LengthMin, FLOAT LengthMax);
2346 XMVECTOR XMVector3Reflect(FXMVECTOR Incident, FXMVECTOR Normal);
2347 XMVECTOR XMVector3Refract(FXMVECTOR Incident, FXMVECTOR Normal, FLOAT RefractionIndex);
2348 XMVECTOR XMVector3RefractV(FXMVECTOR Incident, FXMVECTOR Normal, FXMVECTOR RefractionIndex);
2353 XMVECTOR XMVector3LinePointDistance(FXMVECTOR LinePoint1, FXMVECTOR LinePoint2, FXMVECTOR Point);
2354 VOID XMVector3ComponentsFromNormal(_Out_ XMVECTOR* pParallel, _Out_ XMVECTOR* pPerpendicular, FXMVECTOR V, FXMVECTOR Normal);
2355 XMVECTOR XMVector3Rotate(FXMVECTOR V, FXMVECTOR RotationQuaternion);
2356 XMVECTOR XMVector3InverseRotate(FXMVECTOR V, FXMVECTOR RotationQuaternion);
2358 XMFLOAT4* XMVector3TransformStream(_Out_bytecap_x_(sizeof(XMFLOAT4)+OutputStride*(VectorCount-1)) XMFLOAT4* pOutputStream,
2359  _In_ UINT OutputStride,
2360  _In_bytecount_x_(sizeof(XMFLOAT3)+InputStride*(VectorCount-1)) CONST XMFLOAT3* pInputStream,
2361  _In_ UINT InputStride, _In_ UINT VectorCount, CXMMATRIX M);
2362 XMFLOAT4* XMVector3TransformStreamNC(_Out_bytecap_x_(sizeof(XMFLOAT4)+OutputStride*(VectorCount-1)) XMFLOAT4* pOutputStream,
2363  _In_ UINT OutputStride,
2364  _In_bytecount_x_(sizeof(XMFLOAT3)+InputStride*(VectorCount-1)) CONST XMFLOAT3* pInputStream,
2365  _In_ UINT InputStride, _In_ UINT VectorCount, CXMMATRIX M);
2367 XMFLOAT3* XMVector3TransformCoordStream(_Out_bytecap_x_(sizeof(XMFLOAT3)+OutputStride*(VectorCount-1)) XMFLOAT3* pOutputStream,
2368  _In_ UINT OutputStride,
2369  _In_bytecount_x_(sizeof(XMFLOAT3)+InputStride*(VectorCount-1)) CONST XMFLOAT3* pInputStream,
2370  _In_ UINT InputStride, _In_ UINT VectorCount, CXMMATRIX M);
2372 XMFLOAT3* XMVector3TransformNormalStream(_Out_bytecap_x_(sizeof(XMFLOAT3)+OutputStride*(VectorCount-1)) XMFLOAT3* pOutputStream,
2373  _In_ UINT OutputStride,
2374  _In_bytecount_x_(sizeof(XMFLOAT3)+InputStride*(VectorCount-1)) CONST XMFLOAT3* pInputStream,
2375  _In_ UINT InputStride, _In_ UINT VectorCount, CXMMATRIX M);
2376 XMVECTOR XMVector3Project(FXMVECTOR V, FLOAT ViewportX, FLOAT ViewportY, FLOAT ViewportWidth, FLOAT ViewportHeight, FLOAT ViewportMinZ, FLOAT ViewportMaxZ,
2377  CXMMATRIX Projection, CXMMATRIX View, CXMMATRIX World);
2378 XMFLOAT3* XMVector3ProjectStream(_Out_bytecap_x_(sizeof(XMFLOAT3)+OutputStride*(VectorCount-1)) XMFLOAT3* pOutputStream,
2379  _In_ UINT OutputStride,
2380  _In_bytecount_x_(sizeof(XMFLOAT3)+InputStride*(VectorCount-1)) CONST XMFLOAT3* pInputStream,
2381  _In_ UINT InputStride, _In_ UINT VectorCount,
2382  FLOAT ViewportX, FLOAT ViewportY, FLOAT ViewportWidth, FLOAT ViewportHeight, FLOAT ViewportMinZ, FLOAT ViewportMaxZ,
2383  CXMMATRIX Projection, CXMMATRIX View, CXMMATRIX World);
2384 XMVECTOR XMVector3Unproject(FXMVECTOR V, FLOAT ViewportX, FLOAT ViewportY, FLOAT ViewportWidth, FLOAT ViewportHeight, FLOAT ViewportMinZ, FLOAT ViewportMaxZ,
2385  CXMMATRIX Projection, CXMMATRIX View, CXMMATRIX World);
2386 XMFLOAT3* XMVector3UnprojectStream(_Out_bytecap_x_(sizeof(XMFLOAT3)+OutputStride*(VectorCount-1)) XMFLOAT3* pOutputStream,
2387  _In_ UINT OutputStride,
2388  _In_bytecount_x_(sizeof(XMFLOAT3)+InputStride*(VectorCount-1)) CONST XMFLOAT3* pInputStream,
2389  _In_ UINT InputStride, _In_ UINT VectorCount,
2390  FLOAT ViewportX, FLOAT ViewportY, FLOAT ViewportWidth, FLOAT ViewportHeight, FLOAT ViewportMinZ, FLOAT ViewportMaxZ,
2391  CXMMATRIX Projection, CXMMATRIX View, CXMMATRIX World);
2392 
2393 /****************************************************************************
2394  *
2395  * 4D vector operations
2396  *
2397  ****************************************************************************/
2398 
2414 
2417 
2427 XMVECTOR XMVector4ClampLength(FXMVECTOR V, FLOAT LengthMin, FLOAT LengthMax);
2429 XMVECTOR XMVector4Reflect(FXMVECTOR Incident, FXMVECTOR Normal);
2430 XMVECTOR XMVector4Refract(FXMVECTOR Incident, FXMVECTOR Normal, FLOAT RefractionIndex);
2431 XMVECTOR XMVector4RefractV(FXMVECTOR Incident, FXMVECTOR Normal, FXMVECTOR RefractionIndex);
2437 XMFLOAT4* XMVector4TransformStream(_Out_bytecap_x_(sizeof(XMFLOAT4)+OutputStride*(VectorCount-1)) XMFLOAT4* pOutputStream,
2438  _In_ UINT OutputStride,
2439  _In_bytecount_x_(sizeof(XMFLOAT4)+InputStride*(VectorCount-1)) CONST XMFLOAT4* pInputStream,
2440  _In_ UINT InputStride, _In_ UINT VectorCount, CXMMATRIX M);
2441 
2442 /****************************************************************************
2443  *
2444  * Matrix operations
2445  *
2446  ****************************************************************************/
2447 
2451 
2455 XMMATRIX XMMatrixInverse(_Out_ XMVECTOR* pDeterminant, CXMMATRIX M);
2457 BOOL XMMatrixDecompose(_Out_ XMVECTOR *outScale, _Out_ XMVECTOR *outRotQuat, _Out_ XMVECTOR *outTrans, CXMMATRIX M);
2458 
2460 XMMATRIX XMMatrixSet(FLOAT m00, FLOAT m01, FLOAT m02, FLOAT m03,
2461  FLOAT m10, FLOAT m11, FLOAT m12, FLOAT m13,
2462  FLOAT m20, FLOAT m21, FLOAT m22, FLOAT m23,
2463  FLOAT m30, FLOAT m31, FLOAT m32, FLOAT m33);
2464 XMMATRIX XMMatrixTranslation(FLOAT OffsetX, FLOAT OffsetY, FLOAT OffsetZ);
2466 XMMATRIX XMMatrixScaling(FLOAT ScaleX, FLOAT ScaleY, FLOAT ScaleZ);
2473 XMMATRIX XMMatrixRotationNormal(FXMVECTOR NormalAxis, FLOAT Angle);
2476 XMMATRIX XMMatrixTransformation2D(FXMVECTOR ScalingOrigin, FLOAT ScalingOrientation, FXMVECTOR Scaling,
2477  FXMVECTOR RotationOrigin, FLOAT Rotation, CXMVECTOR Translation);
2478 XMMATRIX XMMatrixTransformation(FXMVECTOR ScalingOrigin, FXMVECTOR ScalingOrientationQuaternion, FXMVECTOR Scaling,
2479  CXMVECTOR RotationOrigin, CXMVECTOR RotationQuaternion, CXMVECTOR Translation);
2480 XMMATRIX XMMatrixAffineTransformation2D(FXMVECTOR Scaling, FXMVECTOR RotationOrigin, FLOAT Rotation, FXMVECTOR Translation);
2481 XMMATRIX XMMatrixAffineTransformation(FXMVECTOR Scaling, FXMVECTOR RotationOrigin, FXMVECTOR RotationQuaternion, CXMVECTOR Translation);
2482 XMMATRIX XMMatrixReflect(FXMVECTOR ReflectionPlane);
2483 XMMATRIX XMMatrixShadow(FXMVECTOR ShadowPlane, FXMVECTOR LightPosition);
2484 
2485 XMMATRIX XMMatrixLookAtLH(FXMVECTOR EyePosition, FXMVECTOR FocusPosition, FXMVECTOR UpDirection);
2486 XMMATRIX XMMatrixLookAtRH(FXMVECTOR EyePosition, FXMVECTOR FocusPosition, FXMVECTOR UpDirection);
2487 XMMATRIX XMMatrixLookToLH(FXMVECTOR EyePosition, FXMVECTOR EyeDirection, FXMVECTOR UpDirection);
2488 XMMATRIX XMMatrixLookToRH(FXMVECTOR EyePosition, FXMVECTOR EyeDirection, FXMVECTOR UpDirection);
2489 XMMATRIX XMMatrixPerspectiveLH(FLOAT ViewWidth, FLOAT ViewHeight, FLOAT NearZ, FLOAT FarZ);
2490 XMMATRIX XMMatrixPerspectiveRH(FLOAT ViewWidth, FLOAT ViewHeight, FLOAT NearZ, FLOAT FarZ);
2491 XMMATRIX XMMatrixPerspectiveFovLH(FLOAT FovAngleY, FLOAT AspectHByW, FLOAT NearZ, FLOAT FarZ);
2492 XMMATRIX XMMatrixPerspectiveFovRH(FLOAT FovAngleY, FLOAT AspectHByW, FLOAT NearZ, FLOAT FarZ);
2493 XMMATRIX XMMatrixPerspectiveOffCenterLH(FLOAT ViewLeft, FLOAT ViewRight, FLOAT ViewBottom, FLOAT ViewTop, FLOAT NearZ, FLOAT FarZ);
2494 XMMATRIX XMMatrixPerspectiveOffCenterRH(FLOAT ViewLeft, FLOAT ViewRight, FLOAT ViewBottom, FLOAT ViewTop, FLOAT NearZ, FLOAT FarZ);
2495 XMMATRIX XMMatrixOrthographicLH(FLOAT ViewWidth, FLOAT ViewHeight, FLOAT NearZ, FLOAT FarZ);
2496 XMMATRIX XMMatrixOrthographicRH(FLOAT ViewWidth, FLOAT ViewHeight, FLOAT NearZ, FLOAT FarZ);
2497 XMMATRIX XMMatrixOrthographicOffCenterLH(FLOAT ViewLeft, FLOAT ViewRight, FLOAT ViewBottom, FLOAT ViewTop, FLOAT NearZ, FLOAT FarZ);
2498 XMMATRIX XMMatrixOrthographicOffCenterRH(FLOAT ViewLeft, FLOAT ViewRight, FLOAT ViewBottom, FLOAT ViewTop, FLOAT NearZ, FLOAT FarZ);
2499 
2500 /****************************************************************************
2501  *
2502  * Quaternion operations
2503  *
2504  ****************************************************************************/
2505 
2508 
2512 
2528 VOID XMQuaternionSquadSetup(_Out_ XMVECTOR* pA, _Out_ XMVECTOR* pB, _Out_ XMVECTOR* pC, FXMVECTOR Q0, FXMVECTOR Q1, FXMVECTOR Q2, CXMVECTOR Q3);
2531 
2538 
2539 VOID XMQuaternionToAxisAngle(_Out_ XMVECTOR* pAxis, _Out_ FLOAT* pAngle, FXMVECTOR Q);
2540 
2541 /****************************************************************************
2542  *
2543  * Plane operations
2544  *
2545  ****************************************************************************/
2546 
2550 
2553 
2559 XMVECTOR XMPlaneIntersectLine(FXMVECTOR P, FXMVECTOR LinePoint1, FXMVECTOR LinePoint2);
2560 VOID XMPlaneIntersectPlane(_Out_ XMVECTOR* pLinePoint1, _Out_ XMVECTOR* pLinePoint2, FXMVECTOR P1, FXMVECTOR P2);
2562 XMFLOAT4* XMPlaneTransformStream(_Out_bytecap_x_(sizeof(XMFLOAT4)+OutputStride*(PlaneCount-1)) XMFLOAT4* pOutputStream,
2563  _In_ UINT OutputStride,
2564  _In_bytecount_x_(sizeof(XMFLOAT4)+InputStride*(PlaneCount-1)) CONST XMFLOAT4* pInputStream,
2565  _In_ UINT InputStride, _In_ UINT PlaneCount, CXMMATRIX M);
2566 
2568 XMVECTOR XMPlaneFromPoints(FXMVECTOR Point1, FXMVECTOR Point2, FXMVECTOR Point3);
2569 
2570 /****************************************************************************
2571  *
2572  * Color operations
2573  *
2574  ****************************************************************************/
2575 
2582 
2585 
2590 
2591 /****************************************************************************
2592  *
2593  * Miscellaneous operations
2594  *
2595  ****************************************************************************/
2596 
2598 
2599 VOID XMAssert(_In_z_ CONST CHAR* pExpression, _In_z_ CONST CHAR* pFileName, UINT LineNumber);
2600 
2601 XMVECTOR XMFresnelTerm(FXMVECTOR CosIncidentAngle, FXMVECTOR RefractionIndex);
2602 
2607 VOID XMScalarSinCos(_Out_ FLOAT* pSin, _Out_ FLOAT* pCos, FLOAT Value);
2612 VOID XMScalarSinCosEst(_Out_ FLOAT* pSin, _Out_ FLOAT* pCos, FLOAT Value);
2615 
2616 /****************************************************************************
2617  *
2618  * Globals
2619  *
2620  ****************************************************************************/
2621 
2622 // The purpose of the following global constants is to prevent redundant
2623 // reloading of the constants when they are referenced by more than one
2624 // separate inline math routine called within the same function. Declaring
2625 // a constant locally within a routine is sufficient to prevent redundant
2626 // reloads of that constant when that single routine is called multiple
2627 // times in a function, but if the constant is used (and declared) in a
2628 // separate math routine it would be reloaded.
2629 
2630 #define XMGLOBALCONST extern CONST __declspec(selectany)
2631 
2632 XMGLOBALCONST XMVECTORF32 g_XMSinCoefficients0 = {1.0f, -0.166666667f, 8.333333333e-3f, -1.984126984e-4f};
2633 XMGLOBALCONST XMVECTORF32 g_XMSinCoefficients1 = {2.755731922e-6f, -2.505210839e-8f, 1.605904384e-10f, -7.647163732e-13f};
2634 XMGLOBALCONST XMVECTORF32 g_XMSinCoefficients2 = {2.811457254e-15f, -8.220635247e-18f, 1.957294106e-20f, -3.868170171e-23f};
2635 XMGLOBALCONST XMVECTORF32 g_XMCosCoefficients0 = {1.0f, -0.5f, 4.166666667e-2f, -1.388888889e-3f};
2636 XMGLOBALCONST XMVECTORF32 g_XMCosCoefficients1 = {2.480158730e-5f, -2.755731922e-7f, 2.087675699e-9f, -1.147074560e-11f};
2637 XMGLOBALCONST XMVECTORF32 g_XMCosCoefficients2 = {4.779477332e-14f, -1.561920697e-16f, 4.110317623e-19f, -8.896791392e-22f};
2638 XMGLOBALCONST XMVECTORF32 g_XMTanCoefficients0 = {1.0f, 0.333333333f, 0.133333333f, 5.396825397e-2f};
2639 XMGLOBALCONST XMVECTORF32 g_XMTanCoefficients1 = {2.186948854e-2f, 8.863235530e-3f, 3.592128167e-3f, 1.455834485e-3f};
2640 XMGLOBALCONST XMVECTORF32 g_XMTanCoefficients2 = {5.900274264e-4f, 2.391290764e-4f, 9.691537707e-5f, 3.927832950e-5f};
2641 XMGLOBALCONST XMVECTORF32 g_XMASinCoefficients0 = {-0.05806367563904f, -0.41861972469416f, 0.22480114791621f, 2.17337241360606f};
2642 XMGLOBALCONST XMVECTORF32 g_XMASinCoefficients1 = {0.61657275907170f, 4.29696498283455f, -1.18942822255452f, -6.53784832094831f};
2643 XMGLOBALCONST XMVECTORF32 g_XMASinCoefficients2 = {-1.36926553863413f, -4.48179294237210f, 1.41810672941833f, 5.48179257935713f};
2644 XMGLOBALCONST XMVECTORF32 g_XMATanCoefficients0 = {1.0f, 0.333333334f, 0.2f, 0.142857143f};
2645 XMGLOBALCONST XMVECTORF32 g_XMATanCoefficients1 = {1.111111111e-1f, 9.090909091e-2f, 7.692307692e-2f, 6.666666667e-2f};
2646 XMGLOBALCONST XMVECTORF32 g_XMATanCoefficients2 = {5.882352941e-2f, 5.263157895e-2f, 4.761904762e-2f, 4.347826087e-2f};
2647 XMGLOBALCONST XMVECTORF32 g_XMSinEstCoefficients = {1.0f, -1.66521856991541e-1f, 8.199913018755e-3f, -1.61475937228e-4f};
2648 XMGLOBALCONST XMVECTORF32 g_XMCosEstCoefficients = {1.0f, -4.95348008918096e-1f, 3.878259962881e-2f, -9.24587976263e-4f};
2649 XMGLOBALCONST XMVECTORF32 g_XMTanEstCoefficients = {2.484f, -1.954923183e-1f, 2.467401101f, XM_1DIVPI};
2650 XMGLOBALCONST XMVECTORF32 g_XMATanEstCoefficients = {7.689891418951e-1f, 1.104742493348f, 8.661844266006e-1f, XM_PIDIV2};
2651 XMGLOBALCONST XMVECTORF32 g_XMASinEstCoefficients = {-1.36178272886711f, 2.37949493464538f, -8.08228565650486e-1f, 2.78440142746736e-1f};
2654 XMGLOBALCONST XMVECTORF32 g_XMIdentityR0 = {1.0f, 0.0f, 0.0f, 0.0f};
2655 XMGLOBALCONST XMVECTORF32 g_XMIdentityR1 = {0.0f, 1.0f, 0.0f, 0.0f};
2656 XMGLOBALCONST XMVECTORF32 g_XMIdentityR2 = {0.0f, 0.0f, 1.0f, 0.0f};
2657 XMGLOBALCONST XMVECTORF32 g_XMIdentityR3 = {0.0f, 0.0f, 0.0f, 1.0f};
2662 XMGLOBALCONST XMVECTORI32 g_XMNegativeZero = {0x80000000, 0x80000000, 0x80000000, 0x80000000};
2663 XMGLOBALCONST XMVECTORI32 g_XMNegate3 = {0x80000000, 0x80000000, 0x80000000, 0x00000000};
2664 XMGLOBALCONST XMVECTORI32 g_XMMask3 = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x00000000};
2665 XMGLOBALCONST XMVECTORI32 g_XMMaskX = {0xFFFFFFFF, 0x00000000, 0x00000000, 0x00000000};
2666 XMGLOBALCONST XMVECTORI32 g_XMMaskY = {0x00000000, 0xFFFFFFFF, 0x00000000, 0x00000000};
2667 XMGLOBALCONST XMVECTORI32 g_XMMaskZ = {0x00000000, 0x00000000, 0xFFFFFFFF, 0x00000000};
2668 XMGLOBALCONST XMVECTORI32 g_XMMaskW = {0x00000000, 0x00000000, 0x00000000, 0xFFFFFFFF};
2669 XMGLOBALCONST XMVECTORF32 g_XMOne = { 1.0f, 1.0f, 1.0f, 1.0f};
2670 XMGLOBALCONST XMVECTORF32 g_XMOne3 = { 1.0f, 1.0f, 1.0f, 0.0f};
2671 XMGLOBALCONST XMVECTORF32 g_XMZero = { 0.0f, 0.0f, 0.0f, 0.0f};
2672 XMGLOBALCONST XMVECTORF32 g_XMNegativeOne = {-1.0f,-1.0f,-1.0f,-1.0f};
2673 XMGLOBALCONST XMVECTORF32 g_XMOneHalf = { 0.5f, 0.5f, 0.5f, 0.5f};
2682 XMGLOBALCONST XMVECTORF32 g_XMEpsilon = {1.192092896e-7f, 1.192092896e-7f, 1.192092896e-7f, 1.192092896e-7f};
2683 XMGLOBALCONST XMVECTORI32 g_XMInfinity = {0x7F800000, 0x7F800000, 0x7F800000, 0x7F800000};
2684 XMGLOBALCONST XMVECTORI32 g_XMQNaN = {0x7FC00000, 0x7FC00000, 0x7FC00000, 0x7FC00000};
2685 XMGLOBALCONST XMVECTORI32 g_XMQNaNTest = {0x007FFFFF, 0x007FFFFF, 0x007FFFFF, 0x007FFFFF};
2686 XMGLOBALCONST XMVECTORI32 g_XMAbsMask = {0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF, 0x7FFFFFFF};
2687 XMGLOBALCONST XMVECTORI32 g_XMFltMin = {0x00800000, 0x00800000, 0x00800000, 0x00800000};
2688 XMGLOBALCONST XMVECTORI32 g_XMFltMax = {0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF, 0x7F7FFFFF};
2689 XMGLOBALCONST XMVECTORI32 g_XMNegOneMask = {0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF};
2690 XMGLOBALCONST XMVECTORI32 g_XMMaskA8R8G8B8 = {0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000};
2691 XMGLOBALCONST XMVECTORI32 g_XMFlipA8R8G8B8 = {0x00000000, 0x00000000, 0x00000000, 0x80000000};
2692 XMGLOBALCONST XMVECTORF32 g_XMFixAA8R8G8B8 = {0.0f,0.0f,0.0f,(float)(0x80000000U)};
2693 XMGLOBALCONST XMVECTORF32 g_XMNormalizeA8R8G8B8 = {1.0f/(255.0f*(float)(0x10000)),1.0f/(255.0f*(float)(0x100)),1.0f/255.0f,1.0f/(255.0f*(float)(0x1000000))};
2694 XMGLOBALCONST XMVECTORI32 g_XMMaskA2B10G10R10 = {0x000003FF, 0x000FFC00, 0x3FF00000, 0xC0000000};
2695 XMGLOBALCONST XMVECTORI32 g_XMFlipA2B10G10R10 = {0x00000200, 0x00080000, 0x20000000, 0x80000000};
2696 XMGLOBALCONST XMVECTORF32 g_XMFixAA2B10G10R10 = {-512.0f,-512.0f*(float)(0x400),-512.0f*(float)(0x100000),(float)(0x80000000U)};
2697 XMGLOBALCONST XMVECTORF32 g_XMNormalizeA2B10G10R10 = {1.0f/511.0f,1.0f/(511.0f*(float)(0x400)),1.0f/(511.0f*(float)(0x100000)),1.0f/(3.0f*(float)(0x40000000))};
2698 XMGLOBALCONST XMVECTORI32 g_XMMaskX16Y16 = {0x0000FFFF, 0xFFFF0000, 0x00000000, 0x00000000};
2699 XMGLOBALCONST XMVECTORI32 g_XMFlipX16Y16 = {0x00008000, 0x00000000, 0x00000000, 0x00000000};
2700 XMGLOBALCONST XMVECTORF32 g_XMFixX16Y16 = {-32768.0f,0.0f,0.0f,0.0f};
2701 XMGLOBALCONST XMVECTORF32 g_XMNormalizeX16Y16 = {1.0f/32767.0f,1.0f/(32767.0f*65536.0f),0.0f,0.0f};
2702 XMGLOBALCONST XMVECTORI32 g_XMMaskX16Y16Z16W16 = {0x0000FFFF, 0x0000FFFF, 0xFFFF0000, 0xFFFF0000};
2703 XMGLOBALCONST XMVECTORI32 g_XMFlipX16Y16Z16W16 = {0x00008000, 0x00008000, 0x00000000, 0x00000000};
2704 XMGLOBALCONST XMVECTORF32 g_XMFixX16Y16Z16W16 = {-32768.0f,-32768.0f,0.0f,0.0f};
2705 XMGLOBALCONST XMVECTORF32 g_XMNormalizeX16Y16Z16W16 = {1.0f/32767.0f,1.0f/32767.0f,1.0f/(32767.0f*65536.0f),1.0f/(32767.0f*65536.0f)};
2706 XMGLOBALCONST XMVECTORF32 g_XMNoFraction = {8388608.0f,8388608.0f,8388608.0f,8388608.0f};
2707 XMGLOBALCONST XMVECTORI32 g_XMMaskByte = {0x000000FF, 0x000000FF, 0x000000FF, 0x000000FF};
2708 XMGLOBALCONST XMVECTORF32 g_XMNegateX = {-1.0f, 1.0f, 1.0f, 1.0f};
2709 XMGLOBALCONST XMVECTORF32 g_XMNegateY = { 1.0f,-1.0f, 1.0f, 1.0f};
2710 XMGLOBALCONST XMVECTORF32 g_XMNegateZ = { 1.0f, 1.0f,-1.0f, 1.0f};
2711 XMGLOBALCONST XMVECTORF32 g_XMNegateW = { 1.0f, 1.0f, 1.0f,-1.0f};
2714 XMGLOBALCONST XMVECTORI32 g_XMOneHalfMinusEpsilon = { 0x3EFFFFFD, 0x3EFFFFFD, 0x3EFFFFFD, 0x3EFFFFFD};
2725 XMGLOBALCONST XMVECTORF32 g_XMFixupY16 = {1.0f,1.0f/65536.0f,0.0f,0.0f};
2726 XMGLOBALCONST XMVECTORF32 g_XMFixupY16W16 = {1.0f,1.0f,1.0f/65536.0f,1.0f/65536.0f};
2727 XMGLOBALCONST XMVECTORI32 g_XMFlipY = {0,0x80000000,0,0};
2728 XMGLOBALCONST XMVECTORI32 g_XMFlipZ = {0,0,0x80000000,0};
2729 XMGLOBALCONST XMVECTORI32 g_XMFlipW = {0,0,0,0x80000000};
2730 XMGLOBALCONST XMVECTORI32 g_XMFlipYZ = {0,0x80000000,0x80000000,0};
2731 XMGLOBALCONST XMVECTORI32 g_XMFlipZW = {0,0,0x80000000,0x80000000};
2732 XMGLOBALCONST XMVECTORI32 g_XMFlipYW = {0,0x80000000,0,0x80000000};
2733 XMGLOBALCONST XMVECTORI32 g_XMMaskHenD3 = {0x7FF,0x7ff<<11,0x3FF<<22,0};
2734 XMGLOBALCONST XMVECTORI32 g_XMMaskDHen3 = {0x3FF,0x7ff<<10,0x7FF<<21,0};
2735 XMGLOBALCONST XMVECTORF32 g_XMAddUHenD3 = {0,0,32768.0f*65536.0f,0};
2736 XMGLOBALCONST XMVECTORF32 g_XMAddHenD3 = {-1024.0f,-1024.0f*2048.0f,0,0};
2737 XMGLOBALCONST XMVECTORF32 g_XMAddDHen3 = {-512.0f,-1024.0f*1024.0f,0,0};
2738 XMGLOBALCONST XMVECTORF32 g_XMMulHenD3 = {1.0f,1.0f/2048.0f,1.0f/(2048.0f*2048.0f),0};
2739 XMGLOBALCONST XMVECTORF32 g_XMMulDHen3 = {1.0f,1.0f/1024.0f,1.0f/(1024.0f*2048.0f),0};
2740 XMGLOBALCONST XMVECTORI32 g_XMXorHenD3 = {0x400,0x400<<11,0,0};
2741 XMGLOBALCONST XMVECTORI32 g_XMXorDHen3 = {0x200,0x400<<10,0,0};
2742 XMGLOBALCONST XMVECTORI32 g_XMMaskIco4 = {0xFFFFF,0xFFFFF000,0xFFFFF,0xF0000000};
2743 XMGLOBALCONST XMVECTORI32 g_XMXorXIco4 = {0x80000,0,0x80000,0x80000000};
2744 XMGLOBALCONST XMVECTORI32 g_XMXorIco4 = {0x80000,0,0x80000,0};
2745 XMGLOBALCONST XMVECTORF32 g_XMAddXIco4 = {-8.0f*65536.0f,0,-8.0f*65536.0f,32768.0f*65536.0f};
2746 XMGLOBALCONST XMVECTORF32 g_XMAddUIco4 = {0,32768.0f*65536.0f,0,32768.0f*65536.0f};
2747 XMGLOBALCONST XMVECTORF32 g_XMAddIco4 = {-8.0f*65536.0f,0,-8.0f*65536.0f,0};
2748 XMGLOBALCONST XMVECTORF32 g_XMMulIco4 = {1.0f,1.0f/4096.0f,1.0f,1.0f/(4096.0f*65536.0f)};
2749 XMGLOBALCONST XMVECTORI32 g_XMMaskDec4 = {0x3FF,0x3FF<<10,0x3FF<<20,0x3<<30};
2750 XMGLOBALCONST XMVECTORI32 g_XMXorDec4 = {0x200,0x200<<10,0x200<<20,0};
2751 XMGLOBALCONST XMVECTORF32 g_XMAddUDec4 = {0,0,0,32768.0f*65536.0f};
2752 XMGLOBALCONST XMVECTORF32 g_XMAddDec4 = {-512.0f,-512.0f*1024.0f,-512.0f*1024.0f*1024.0f,0};
2753 XMGLOBALCONST XMVECTORF32 g_XMMulDec4 = {1.0f,1.0f/1024.0f,1.0f/(1024.0f*1024.0f),1.0f/(1024.0f*1024.0f*1024.0f)};
2754 XMGLOBALCONST XMVECTORI32 g_XMMaskByte4 = {0xFF,0xFF00,0xFF0000,0xFF000000};
2755 XMGLOBALCONST XMVECTORI32 g_XMXorByte4 = {0x80,0x8000,0x800000,0x00000000};
2756 XMGLOBALCONST XMVECTORF32 g_XMAddByte4 = {-128.0f,-128.0f*256.0f,-128.0f*65536.0f,0};
2757 
2758 /****************************************************************************
2759  *
2760  * Implementation
2761  *
2762  ****************************************************************************/
2763 
2764 #pragma warning(push)
2765 #pragma warning(disable:4214 4204 4365 4616 6001)
2766 
2767 #if !defined(__cplusplus) && !defined(_XBOX) && defined(_XM_ISVS2005_)
2768 
2769 /* Work around VC 2005 bug where math.h defines logf with a semicolon at the end.
2770  * Note this is fixed as of Visual Studio 2005 Service Pack 1
2771  */
2772 
2773 #undef logf
2774 #define logf(x) ((float)log((double)(x)))
2775 
2776 #endif // !defined(__cplusplus) && !defined(_XBOX) && defined(_XM_ISVS2005_)
2777 
2778 //------------------------------------------------------------------------------
2779 
2780 #if defined(_XM_NO_INTRINSICS_) || defined(_XM_SSE_INTRINSICS_)
2781 
2783 {
2784 #if defined(_XM_NO_INTRINSICS_)
2785  XMVECTORU32 vResult;
2786  vResult.u[0] = (0-(C0&1)) & 0x3F800000;
2787  vResult.u[1] = (0-(C1&1)) & 0x3F800000;
2788  vResult.u[2] = (0-(C2&1)) & 0x3F800000;
2789  vResult.u[3] = (0-(C3&1)) & 0x3F800000;
2790  return vResult.v;
2791 #else // XM_SSE_INTRINSICS_
2792  static const XMVECTORU32 g_vMask1 = {1,1,1,1};
2793  // Move the parms to a vector
2794  __m128i vTemp = _mm_set_epi32(C3,C2,C1,C0);
2795  // Mask off the low bits
2796  vTemp = _mm_and_si128(vTemp,g_vMask1);
2797  // 0xFFFFFFFF on true bits
2798  vTemp = _mm_cmpeq_epi32(vTemp,g_vMask1);
2799  // 0xFFFFFFFF -> 1.0f, 0x00000000 -> 0.0f
2800  vTemp = _mm_and_si128(vTemp,g_XMOne);
2801  return reinterpret_cast<const __m128 *>(&vTemp)[0];
2802 #endif
2803 }
2804 
2805 //------------------------------------------------------------------------------
2806 
2807 XMFINLINE XMVECTOR XMVectorSplatConstant(INT IntConstant, UINT DivExponent)
2808 {
2809 #if defined(_XM_NO_INTRINSICS_)
2810  XMASSERT( IntConstant >= -16 && IntConstant <= 15 );
2811  XMASSERT(DivExponent<32);
2812  {
2813  XMVECTORI32 V = { IntConstant, IntConstant, IntConstant, IntConstant };
2814  return XMConvertVectorIntToFloat( V.v, DivExponent);
2815  }
2816 #else // XM_SSE_INTRINSICS_
2817  XMASSERT( IntConstant >= -16 && IntConstant <= 15 );
2818  XMASSERT(DivExponent<32);
2819  // Splat the int
2820  __m128i vScale = _mm_set1_epi32(IntConstant);
2821  // Convert to a float
2822  XMVECTOR vResult = _mm_cvtepi32_ps(vScale);
2823  // Convert DivExponent into 1.0f/(1<<DivExponent)
2824  UINT uScale = 0x3F800000U - (DivExponent << 23);
2825  // Splat the scalar value (It's really a float)
2826  vScale = _mm_set1_epi32(uScale);
2827  // Multiply by the reciprocal (Perform a right shift by DivExponent)
2828  vResult = _mm_mul_ps(vResult,reinterpret_cast<const __m128 *>(&vScale)[0]);
2829  return vResult;
2830 #endif
2831 }
2832 
2833 //------------------------------------------------------------------------------
2834 
2836 {
2837 #if defined(_XM_NO_INTRINSICS_)
2838  XMASSERT( IntConstant >= -16 && IntConstant <= 15 );
2839  {
2840  XMVECTORI32 V = { IntConstant, IntConstant, IntConstant, IntConstant };
2841  return V.v;
2842  }
2843 #else // XM_SSE_INTRINSICS_
2844  XMASSERT( IntConstant >= -16 && IntConstant <= 15 );
2845  __m128i V = _mm_set1_epi32( IntConstant );
2846  return reinterpret_cast<__m128 *>(&V)[0];
2847 #endif
2848 }
2849 
2850 //------------------------------------------------------------------------------
2851 
2853 {
2854  return XMVectorPermute(V1, V2, XMVectorPermuteControl((Elements), ((Elements) + 1), ((Elements) + 2), ((Elements) + 3)));
2855 }
2856 
2857 //------------------------------------------------------------------------------
2858 
2860 {
2861 #if defined(_XM_NO_INTRINSICS_)
2862  XMASSERT( Elements < 4 );
2863  {
2864  XMVECTORF32 vResult = { V.vector4_f32[Elements & 3], V.vector4_f32[(Elements + 1) & 3],
2865  V.vector4_f32[(Elements + 2) & 3], V.vector4_f32[(Elements + 3) & 3] };
2866  return vResult.v;
2867  }
2868 #else // XM_SSE_INTRINSICS_
2869  FLOAT fx = XMVectorGetByIndex(V,(Elements) & 3);
2870  FLOAT fy = XMVectorGetByIndex(V,((Elements) + 1) & 3);
2871  FLOAT fz = XMVectorGetByIndex(V,((Elements) + 2) & 3);
2872  FLOAT fw = XMVectorGetByIndex(V,((Elements) + 3) & 3);
2873  return _mm_set_ps( fw, fz, fy, fx );
2874 #endif
2875 }
2876 
2877 //------------------------------------------------------------------------------
2878 
2880 {
2881 #if defined(_XM_NO_INTRINSICS_)
2882  XMASSERT( Elements < 4 );
2883  {
2884  XMVECTORF32 vResult = { V.vector4_f32[(4 - (Elements)) & 3], V.vector4_f32[(5 - (Elements)) & 3],
2885  V.vector4_f32[(6 - (Elements)) & 3], V.vector4_f32[(7 - (Elements)) & 3] };
2886  return vResult.v;
2887  }
2888 #else // XM_SSE_INTRINSICS_
2889  FLOAT fx = XMVectorGetByIndex(V,(4 - (Elements)) & 3);
2890  FLOAT fy = XMVectorGetByIndex(V,(5 - (Elements)) & 3);
2891  FLOAT fz = XMVectorGetByIndex(V,(6 - (Elements)) & 3);
2892  FLOAT fw = XMVectorGetByIndex(V,(7 - (Elements)) & 3);
2893  return _mm_set_ps( fw, fz, fy, fx );
2894 #endif
2895 }
2896 
2897 //------------------------------------------------------------------------------
2898 
2900 {
2901 #if defined(_XM_NO_INTRINSICS_)
2902  XMASSERT( (E0 < 4) && (E1 < 4) && (E2 < 4) && (E3 < 4) );
2903  {
2904  XMVECTORF32 vResult = { V.vector4_f32[E0], V.vector4_f32[E1], V.vector4_f32[E2], V.vector4_f32[E3] };
2905  return vResult.v;
2906  }
2907 #else // XM_SSE_INTRINSICS_
2908  FLOAT fx = XMVectorGetByIndex(V,E0);
2909  FLOAT fy = XMVectorGetByIndex(V,E1);
2910  FLOAT fz = XMVectorGetByIndex(V,E2);
2911  FLOAT fw = XMVectorGetByIndex(V,E3);
2912  return _mm_set_ps( fw, fz, fy, fx );
2913 #endif
2914 }
2915 
2916 //------------------------------------------------------------------------------
2917 
2918 XMFINLINE XMVECTOR XMVectorInsert(FXMVECTOR VD, FXMVECTOR VS, UINT VSLeftRotateElements,
2919  UINT Select0, UINT Select1, UINT Select2, UINT Select3)
2920 {
2921  XMVECTOR Control = XMVectorSelectControl(Select0&1, Select1&1, Select2&1, Select3&1);
2922  return XMVectorSelect( VD, XMVectorRotateLeft(VS, VSLeftRotateElements), Control );
2923 }
2924 
2925 // Implemented for VMX128 intrinsics as #defines aboves
2926 #endif _XM_NO_INTRINSICS_ || _XM_SSE_INTRINSICS_
2927 
2928 //------------------------------------------------------------------------------
2929 
2930 #include "xnamathconvert.inl"
2931 #include "xnamathvector.inl"
2932 #include "xnamathmatrix.inl"
2933 #include "xnamathmisc.inl"
2934 
2935 #pragma warning(pop)
2936 
2937 #endif // __XNAMATH_H__
2938 
VOID XMStoreFloat3x3(_Out_ XMFLOAT3X3 *pDestination, CXMMATRIX M)
UINT x
Definition: xnamath.h:1278
VOID XMScalarSinCosEst(_Out_ FLOAT *pSin, _Out_ FLOAT *pCos, FLOAT Value)
XMGLOBALCONST XMVECTORI32 g_XMFlipA8R8G8B8
Definition: xnamath.h:2691
USHORT y
Definition: xnamath.h:841
XMGLOBALCONST XMVECTORF32 g_XMNegativeOne
Definition: xnamath.h:2672
UINT x
Definition: xnamath.h:775
BOOL XMColorIsInfinite(FXMVECTOR C)
Definition: xnamathmisc.inl:1677
USHORT w
Definition: xnamath.h:1684
XMVECTOR XMVectorSubtractAngles(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:2546
XMVECTOR XMQuaternionConjugate(FXMVECTOR Q)
Definition: xnamathmisc.inl:241
struct _XMFLOAT4X4 XMFLOAT4X4
XMVECTOR XMVector2AngleBetweenVectors(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:6800
HALF w
Definition: xnamath.h:982
struct _XMU555 XMU555
BOOL XMColorNotEqual(FXMVECTOR C1, FXMVECTOR C2)
Definition: xnamathmisc.inl:1612
XMGLOBALCONST XMVECTORI32 g_XMSelect1010
Definition: xnamath.h:2713
UINT x
Definition: xnamath.h:1242
#define XM_PERMUTE_1W
Definition: xnamath.h:142
float f[4]
Definition: xnamath.h:231
UINT x
Definition: xnamath.h:635
XMVECTOR XMLoadU565(_In_ CONST XMU565 *pSource)
XMVECTOR XMVectorIsNaN(FXMVECTOR V)
Definition: xnamathvector.inl:1977
XMVECTOR XMVectorLessOrEqual(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:1867
VOID XMStoreFloat3A(_Out_ XMFLOAT3A *pDestination, FXMVECTOR V)
XMVECTOR XMLoadUIco4(_In_ CONST XMUICO4 *pSource)
UINT v
Definition: xnamath.h:1566
#define XM_PERMUTE_0Z
Definition: xnamath.h:137
XMGLOBALCONST XMVECTORF32 g_XMNormalizeA2B10G10R10
Definition: xnamath.h:2697
XMVECTOR XMVector4ClampLengthV(FXMVECTOR V, FXMVECTOR LengthMin, FXMVECTOR LengthMax)
Definition: xnamathvector.inl:10367
INT i[4]
Definition: xnamath.h:246
FLOAT XMVectorGetW(FXMVECTOR V)
Definition: xnamathvector.inl:415
XMVECTOR XMVectorSetIntZPtr(FXMVECTOR V, _In_ CONST UINT *z)
XMVECTOR XMLoadHalf2(_In_ CONST XMHALF2 *pSource)
_DECLSPEC_ALIGN_16_ struct XMVECTORF32 XMVECTORF32
XMGLOBALCONST XMVECTORI32 g_XMPermute0Z0W1Z1W
Definition: xnamath.h:2724
XMVECTOR XMColorAdjustContrast(FXMVECTOR C, FLOAT Contrast)
Definition: xnamathmisc.inl:1781
BOOL XMVector2Less(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:6028
XMVECTOR XMLoadHenDN3(_In_ CONST XMHENDN3 *pSource)
BYTE w
Definition: xnamath.h:1654
int64_t INT64
Definition: coretypes.h:15
SHORT x
Definition: xnamath.h:1023
UINT v
Definition: xnamath.h:1139
XMVECTOR XMVector2AngleBetweenNormalsEst(FXMVECTOR N1, FXMVECTOR N2)
Definition: xnamathvector.inl:6734
BOOL XMVector4IsNaN(FXMVECTOR V)
Definition: xnamathvector.inl:9929
UINT XMVector4GreaterR(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:9726
#define XM_PERMUTE_0W
Definition: xnamath.h:138
XMGLOBALCONST XMVECTORI32 g_XMFlipW
Definition: xnamath.h:2729
FLOAT y
Definition: xnamath.h:946
XMVECTOR XMVectorAndInt(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:2285
XMGLOBALCONST XMVECTORF32 g_XMFixupY16
Definition: xnamath.h:2725
XMMATRIX XMMatrixLookToLH(FXMVECTOR EyePosition, FXMVECTOR EyeDirection, FXMVECTOR UpDirection)
Definition: xnamathmatrix.inl:2048
XMVECTOR XMVectorSubtract(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:2521
UINT v
Definition: xnamath.h:1596
UINT64 y
Definition: xnamath.h:1495
static int align(int x, int n)
Definition: psp2.c:23
XMGLOBALCONST XMVECTORI32 g_XMQNaNTest
Definition: xnamath.h:2685
BOOL XMVector3InBounds(FXMVECTOR V, FXMVECTOR Bounds)
Definition: xnamathvector.inl:7681
XMGLOBALCONST XMVECTORI32 g_XMSelect0101
Definition: xnamath.h:2712
XMGLOBALCONST XMVECTORF32 g_XMNormalizeX16Y16Z16W16
Definition: xnamath.h:2705
VOID XMStoreIcoN4(_Out_ XMICON4 *pDestination, FXMVECTOR V)
UINT v
Definition: xnamath.h:814
XMGLOBALCONST XMVECTORI32 g_XMSelect1100
Definition: xnamath.h:2716
XMGLOBALCONST XMVECTORF32 g_XMReciprocalTwoPi
Definition: xnamath.h:2681
XMVECTOR XMVector3LengthSq(FXMVECTOR V)
Definition: xnamathvector.inl:7871
FLOAT x
Definition: xnamath.h:391
INT x
Definition: xnamath.h:600
XMVECTOR XMQuaternionRotationAxis(FXMVECTOR Axis, FLOAT Angle)
Definition: xnamathmisc.inl:896
XMVECTOR XMVectorOrInt(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:2335
XMVECTOR XMVectorSetByIndexPtr(FXMVECTOR V, _In_ CONST FLOAT *f, UINT i)
XMVECTOR XMPlaneFromPointNormal(FXMVECTOR Point, FXMVECTOR Normal)
Definition: xnamathmisc.inl:1506
BOOL XMVector2NotEqualInt(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:5894
UINT64 w
Definition: xnamath.h:1497
const char * pValue
Definition: jsonsax_full.h:952
UINT v
Definition: xnamath.h:1247
UINT XMVectorGetIntZ(FXMVECTOR V)
Definition: xnamathvector.inl:549
CHAR z
Definition: xnamath.h:1593
XMGLOBALCONST XMVECTORI32 g_XMMaskByte
Definition: xnamath.h:2707
Definition: xnamath.h:559
UINT a
Definition: xnamath.h:1533
XMVECTOR XMVectorSinHEst(FXMVECTOR V)
Definition: xnamathvector.inl:4833
FLOAT _11
Definition: xnamath.h:1747
VOID XMStoreUDecN4(_Out_ XMUDECN4 *pDestination, FXMVECTOR V)
VOID XMStoreUIcoN4(_Out_ XMUICON4 *pDestination, FXMVECTOR V)
XMVECTOR XMVector2LinePointDistance(FXMVECTOR LinePoint1, FXMVECTOR LinePoint2, FXMVECTOR Point)
Definition: xnamathvector.inl:6852
XMVECTOR XMVectorSplatZ(FXMVECTOR V)
Definition: xnamathvector.inl:225
UINT v
Definition: xnamath.h:1175
XMMATRIX XMMatrixScaling(FLOAT ScaleX, FLOAT ScaleY, FLOAT ScaleZ)
Definition: xnamathmatrix.inl:1035
XMVECTOR XMVectorLess(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:1844
Definition: xnamath.h:1524
FLOAT _44
Definition: xnamath.h:1835
VOID XMPlaneIntersectPlane(_Out_ XMVECTOR *pLinePoint1, _Out_ XMVECTOR *pLinePoint2, FXMVECTOR P1, FXMVECTOR P2)
XMVECTOR XMVectorReplicatePtr(_In_ CONST FLOAT *pValue)
XMGLOBALCONST XMVECTORF32 g_XMZero
Definition: xnamath.h:2671
XMVECTOR XMVectorGreaterR(_Out_ UINT *pCR, FXMVECTOR V1, FXMVECTOR V2)
FLOAT _11
Definition: xnamath.h:1832
XMVECTOR XMVectorReciprocalSqrt(FXMVECTOR V)
Definition: xnamathvector.inl:2883
BOOL XMVector4NearEqual(FXMVECTOR V1, FXMVECTOR V2, FXMVECTOR Epsilon)
Definition: xnamathvector.inl:9639
#define G(L)
Definition: lstate.h:205
UINT e
Definition: xnamath.h:921
XMVECTOR XMPlaneNormalizeEst(FXMVECTOR P)
Definition: xnamathmisc.inl:1201
BOOL XMQuaternionNotEqual(FXMVECTOR Q1, FXMVECTOR Q2)
Definition: xnamathmisc.inl:45
VOID XMStoreFloat4x3A(_Out_ XMFLOAT4X3A *pDestination, CXMMATRIX M)
XMVECTOR XMVector2RefractV(FXMVECTOR Incident, FXMVECTOR Normal, FXMVECTOR RefractionIndex)
Definition: xnamathvector.inl:6645
XMMATRIX XMMatrixAffineTransformation2D(FXMVECTOR Scaling, FXMVECTOR RotationOrigin, FLOAT Rotation, FXMVECTOR Translation)
Definition: xnamathmatrix.inl:1752
UINT XMVectorGetIntY(FXMVECTOR V)
Definition: xnamathvector.inl:536
XMVECTOR XMVectorBaryCentricV(FXMVECTOR Position0, FXMVECTOR Position1, FXMVECTOR Position2, CXMVECTOR F, CXMVECTOR G)
Definition: xnamathvector.inl:5679
XMVECTOR XMVector2LengthEst(FXMVECTOR V)
Definition: xnamathvector.inl:6325
HALF * XMConvertFloatToHalfStream(_Out_bytecap_x_(sizeof(HALF)+OutputStride *(FloatCount-1)) HALF *pOutputStream, _In_ UINT OutputStride, _In_bytecount_x_(sizeof(FLOAT)+InputStride *(FloatCount-1)) CONST FLOAT *pInputStream, _In_ UINT InputStride, _In_ UINT FloatCount)
Definition: glslang_tab.cpp:129
VOID XMStoreFloat4x3(_Out_ XMFLOAT4X3 *pDestination, CXMMATRIX M)
__vector4 XMVECTOR
Definition: xnamath.h:225
XMVECTOR XMVectorNearEqual(FXMVECTOR V1, FXMVECTOR V2, FXMVECTOR Epsilon)
Definition: xnamathvector.inl:1593
FLOAT _22
Definition: xnamath.h:1779
XMVECTOR XMVectorReplicateInt(UINT Value)
Definition: xnamathvector.inl:124
XMVECTOR XMQuaternionSlerpV(FXMVECTOR Q0, FXMVECTOR Q1, FXMVECTOR T)
Definition: xnamathmisc.inl:439
UINT v
Definition: xnamath.h:1626
XMGLOBALCONST XMVECTORI32 g_XMInfinity
Definition: xnamath.h:2683
FLOAT _31
Definition: xnamath.h:344
struct _XMICO4 XMICO4
USHORT x
Definition: xnamath.h:503
BOOL XMColorGreaterOrEqual(FXMVECTOR C1, FXMVECTOR C2)
Definition: xnamathmisc.inl:1634
XMVECTOR XMLoadUHenDN3(_In_ CONST XMUHENDN3 *pSource)
XMGLOBALCONST XMVECTORF32 g_XMEpsilon
Definition: xnamath.h:2682
BOOL XMPlaneIsInfinite(FXMVECTOR P)
Definition: xnamathmisc.inl:1118
BOOL XMMatrixIsIdentity(CXMMATRIX M)
Definition: xnamathmatrix.inl:130
XMGLOBALCONST XMVECTORI32 g_XMFlipY
Definition: xnamath.h:2727
XMMATRIX XMMatrixPerspectiveRH(FLOAT ViewWidth, FLOAT ViewHeight, FLOAT NearZ, FLOAT FarZ)
Definition: xnamathmatrix.inl:2228
#define T(x)
VOID XMVectorGetIntByIndexPtr(_Out_ UINT *x, FXMVECTOR V, UINT i)
VOID XMStoreDHen3(_Out_ XMDHEN3 *pDestination, FXMVECTOR V)
VOID XMStoreU555(_Out_ XMU555 *pDestination, FXMVECTOR V)
XMVECTOR XMVector3Refract(FXMVECTOR Incident, FXMVECTOR Normal, FLOAT RefractionIndex)
Definition: xnamathvector.inl:8281
XMVECTOR XMVectorSetWPtr(FXMVECTOR V, _In_ CONST FLOAT *w)
XMVECTOR XMConvertVectorFloatToUInt(FXMVECTOR VFloat, UINT MulExponent)
XMVECTOR XMVectorGreaterOrEqualR(_Out_ UINT *pCR, FXMVECTOR V1, FXMVECTOR V2)
XMVECTOR XMQuaternionLengthSq(FXMVECTOR Q)
Definition: xnamathmisc.inl:191
XMVECTOR XMVectorNotEqualInt(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:1660
XMVECTOR XMVectorSplatConstantInt(INT IntConstant)
XMVECTOR XMVectorTan(FXMVECTOR V)
Definition: xnamathvector.inl:3679
XMVECTOR XMLoadUDecN4(_In_ CONST XMUDECN4 *pSource)
XMVECTOR XMLoadUShortN4(_In_ CONST XMUSHORTN4 *pSource)
#define _DECLSPEC_ALIGN_16_
Definition: xnamath.h:109
XMVECTOR XMVectorMultiply(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:2595
XMGLOBALCONST XMVECTORF32 g_XMASinCoefficients0
Definition: xnamath.h:2641
XMGLOBALCONST XMVECTORF32 g_XMReciprocalPi
Definition: xnamath.h:2679
INT64 y
Definition: xnamath.h:1387
struct _XMUSHORT4 XMUSHORT4
struct _XMDHEN3 XMDHEN3
UINT XMVectorGetIntX(FXMVECTOR V)
Definition: xnamathvector.inl:524
INT64 y
Definition: xnamath.h:1351
XMGLOBALCONST XMVECTORF32 g_XMIdentityR2
Definition: xnamath.h:2656
FLOAT XMScalarModAngle(FLOAT Value)
Definition: xnamathmisc.inl:1986
INT64 x
Definition: xnamath.h:1314
USHORT y
Definition: xnamath.h:504
UINT64 x
Definition: xnamath.h:1494
XMVECTOR XMVectorSetIntWPtr(FXMVECTOR V, _In_ CONST UINT *w)
VOID XMAssert(_In_z_ CONST CHAR *pExpression, _In_z_ CONST CHAR *pFileName, UINT LineNumber)
BOOL XMVector3NotEqual(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:7490
GLdouble GLdouble GLdouble r
Definition: glext.h:6406
UINT ym
Definition: xnamath.h:881
XMVECTOR XMVectorSqrtEst(FXMVECTOR V)
Definition: xnamathvector.inl:2766
#define XM_PIDIV2
Definition: xnamath.h:129
XMMATRIX XMMatrixPerspectiveFovLH(FLOAT FovAngleY, FLOAT AspectHByW, FLOAT NearZ, FLOAT FarZ)
Definition: xnamathmatrix.inl:2311
XMGLOBALCONST XMVECTORI32 g_XMFlipYZ
Definition: xnamath.h:2730
SHORT y
Definition: xnamath.h:1024
XMGLOBALCONST XMVECTORF32 g_XMNoFraction
Definition: xnamath.h:2706
XMVECTOR XMLoadFloat3SE(_In_ CONST XMFLOAT3SE *pSource)
INT x
Definition: xnamath.h:740
XMVECTOR XMQuaternionReciprocalLength(FXMVECTOR Q)
Definition: xnamathmisc.inl:201
GLdouble GLdouble t
Definition: glext.h:6398
UINT XMVector2InBoundsR(FXMVECTOR V, FXMVECTOR Bounds)
Definition: xnamathvector.inl:6091
INT z
Definition: xnamath.h:1172
FLOAT _22
Definition: xnamath.h:1748
XMGLOBALCONST XMVECTORF32 g_XMTanCoefficients1
Definition: xnamath.h:2639
XMGLOBALCONST XMVECTORF32 g_XMOneHalf
Definition: xnamath.h:2673
XMMATRIX XMMatrixTranslationFromVector(FXMVECTOR Offset)
Definition: xnamathmatrix.inl:991
XMVECTOR XMLoadShort4(_In_ CONST XMSHORT4 *pSource)
XMVECTOR XMQuaternionRotationRollPitchYawFromVector(FXMVECTOR Angles)
Definition: xnamathmisc.inl:789
Definition: xnamath.h:912
XMMATRIX XMMatrixRotationRollPitchYaw(FLOAT Pitch, FLOAT Yaw, FLOAT Roll)
Definition: xnamathmatrix.inl:1275
VOID XMStoreShortN4(_Out_ XMSHORTN4 *pDestination, FXMVECTOR V)
XMVECTOR XMLoadInt4(_In_count_c_(4) CONST UINT *pSource)
INT64 w
Definition: xnamath.h:1389
FLOAT _31
Definition: xnamath.h:1749
XMVECTOR XMLoadInt(_In_ CONST UINT *pSource)
XMFLOAT4 * XMVector2TransformStreamNC(_Out_bytecap_x_(sizeof(XMFLOAT4)+OutputStride *(VectorCount-1)) XMFLOAT4 *pOutputStream, _In_ UINT OutputStride, _In_bytecount_x_(sizeof(XMFLOAT2)+InputStride *(VectorCount-1)) CONST XMFLOAT2 *pInputStream, _In_ UINT InputStride, _In_ UINT VectorCount, CXMMATRIX M)
XMVECTOR XMLoadFloat2A(_In_ CONST XMFLOAT2A *pSource)
XMVECTOR XMVector2Orthogonal(FXMVECTOR V)
Definition: xnamathvector.inl:6710
BOOL XMVector3NearEqual(FXMVECTOR V1, FXMVECTOR V2, FXMVECTOR Epsilon)
Definition: xnamathvector.inl:7458
XMVECTOR XMVectorEqualIntR(_Out_ UINT *pCR, FXMVECTOR V, FXMVECTOR V2)
UINT xe
Definition: xnamath.h:880
uint64_t UINT64
Definition: coretypes.h:8
XMVECTOR XMVectorEqualInt(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:1516
XMVECTOR XMVectorSetBinaryConstant(UINT C0, UINT C1, UINT C2, UINT C3)
#define XM_PERMUTE_1X
Definition: xnamath.h:139
XMVECTOR XMLoadUHenD3(_In_ CONST XMUHEND3 *pSource)
XMGLOBALCONST XMVECTORI32 g_XMSelect1000
Definition: xnamath.h:2715
#define XM_PI
Definition: xnamath.h:125
XMVECTOR XMVectorEqualR(_Out_ UINT *pCR, FXMVECTOR V1, FXMVECTOR V2)
FLOAT z
Definition: xnamath.h:947
#define P(a, b, c, d, k, s, t)
UINT XMVector4GreaterOrEqualR(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:9786
XMVECTOR XMVectorBaryCentric(FXMVECTOR Position0, FXMVECTOR Position1, FXMVECTOR Position2, FLOAT f, FLOAT g)
Definition: xnamathvector.inl:5634
XMVECTOR XMColorAdjustSaturation(FXMVECTOR C, FLOAT Saturation)
Definition: xnamathmisc.inl:1729
UINT v
Definition: xnamath.h:1656
VOID XMStoreUShortN4(_Out_ XMUSHORTN4 *pDestination, FXMVECTOR V)
#define _z
Definition: gx2_shader_inl.h:115
XMVECTOR XMQuaternionBaryCentricV(FXMVECTOR Q0, FXMVECTOR Q1, FXMVECTOR Q2, CXMVECTOR F, CXMVECTOR G)
Definition: xnamathmisc.inl:714
struct _XMU565 XMU565
VOID XMStoreIco4(_Out_ XMICO4 *pDestination, FXMVECTOR V)
INT x
Definition: xnamath.h:1170
VOID XMVectorGetYPtr(_Out_ FLOAT *y, FXMVECTOR V)
XMGLOBALCONST XMVECTORF32 g_XMASinEstConstants
Definition: xnamath.h:2652
XMVECTOR XMVectorAndCInt(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:2309
struct _XMICON4 XMICON4
GLfloat f
Definition: glext.h:8207
XMVECTOR XMVector3ClampLength(FXMVECTOR V, FLOAT LengthMin, FLOAT LengthMax)
Definition: xnamathvector.inl:8120
XMVECTOR XMLoadFloat3PK(_In_ CONST XMFLOAT3PK *pSource)
BOOL XMVector4InBounds(FXMVECTOR V, FXMVECTOR Bounds)
Definition: xnamathvector.inl:9865
XMGLOBALCONST XMVECTORI32 g_XMSwizzleXYXY
Definition: xnamath.h:2718
UINT v
Definition: xnamath.h:709
set set set set set set set macro pixldst1 abits if abits op else op endif endm macro pixldst2 abits if abits op else op endif endm macro pixldst4 abits if abits op else op endif endm macro pixldst0 abits op endm macro pixldst3 mem_operand op endm macro pixldst30 mem_operand op endm macro pixldst abits if abits elseif abits elseif abits elseif abits elseif abits pixldst0 abits else pixldst0 abits pixldst0 abits pixldst0 abits pixldst0 abits endif elseif abits else pixldst0 abits pixldst0 abits endif elseif abits else error unsupported bpp *numpix else pixst endif endm macro pixld1_s mem_operand if asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl elseif asr adds SRC_WIDTH_FIXED bpl add asl mov asr adds SRC_WIDTH_FIXED bpl add asl else error unsupported endif endm macro pixld2_s mem_operand if mov asr add asl add asl mov asr sub UNIT_X add asl mov asr add asl add asl mov asr add UNIT_X add asl else pixld1_s mem_operand pixld1_s mem_operand endif endm macro pixld0_s mem_operand if asr adds SRC_WIDTH_FIXED bpl add asl elseif asr adds SRC_WIDTH_FIXED bpl add asl endif endm macro pixld_s_internal mem_operand if mem_operand pixld2_s mem_operand pixdeinterleave basereg elseif mem_operand elseif mem_operand elseif mem_operand elseif mem_operand pixld0_s mem_operand else pixld0_s mem_operand pixld0_s mem_operand pixld0_s mem_operand pixld0_s mem_operand endif elseif mem_operand else pixld0_s mem_operand pixld0_s mem_operand endif elseif mem_operand else error unsupported mem_operand if bpp mem_operand endif endm macro vuzp8 reg2 vuzp d d &reg2 endm macro vzip8 reg2 vzip d d &reg2 endm macro pixdeinterleave basereg basereg basereg basereg basereg endif endm macro pixinterleave basereg basereg basereg basereg basereg endif endm macro PF boost_increment endif if endif PF tst PF addne PF subne PF cmp ORIG_W if endif if endif if endif PF subge ORIG_W PF subges if endif if endif if endif endif endm macro cache_preload_simple endif if dst_r_bpp pld [DST_R, #(PREFETCH_DISTANCE_SIMPLE *dst_r_bpp/8)] endif if mask_bpp pld endif[MASK, #(PREFETCH_DISTANCE_SIMPLE *mask_bpp/8)] endif endif endm macro fetch_mask_pixblock pixld mask_basereg pixblock_size MASK endm macro ensure_destination_ptr_alignment process_pixblock_tail_head if beq irp local skip1 beq endif SRC MASK if dst_r_bpp DST_R else add endif PF add sub src_basereg pixdeinterleave mask_basereg pixdeinterleave dst_r_basereg process_pixblock_head pixblock_size cache_preload_simple process_pixblock_tail pixinterleave dst_w_basereg irp beq endif process_pixblock_tail_head tst beq irp if pixblock_size chunk_size tst beq pixld_src SRC pixld MASK if DST_R else pixld DST_R endif if
Definition: pixman-arm-neon-asm.h:543
XMVECTOR XMFresnelTerm(FXMVECTOR CosIncidentAngle, FXMVECTOR RefractionIndex)
Definition: xnamathmisc.inl:1871
XMMATRIX XMMatrixShadow(FXMVECTOR ShadowPlane, FXMVECTOR LightPosition)
Definition: xnamathmatrix.inl:1937
BOOL XMVector3Equal(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:7342
INT x
Definition: xnamath.h:705
FLOAT w
Definition: xnamath.h:948
XMGLOBALCONST XMVECTORF32 g_XMSinCoefficients0
Definition: xnamath.h:2632
XMGLOBALCONST XMVECTORF32 g_XMNormalizeA8R8G8B8
Definition: xnamath.h:2693
BOOL XMVector3LessOrEqual(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:7663
INT y
Definition: xnamath.h:1207
HALF z
Definition: xnamath.h:981
struct _XMHEND3 XMHEND3
VOID XMStoreInt4A(_Out_cap_c_(4) UINT *pDestination, FXMVECTOR V)
XMVECTOR XMLoadFloat2(_In_ CONST XMFLOAT2 *pSource)
XMGLOBALCONST XMVECTORI32 g_XMSwizzleXYZX
Definition: xnamath.h:2719
XMVECTOR XMPlaneTransform(FXMVECTOR P, CXMMATRIX M)
Definition: xnamathmisc.inl:1437
UINT64 v
Definition: xnamath.h:1355
XMVECTOR XMVector2Dot(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:6176
struct _XMSHORTN4 XMSHORTN4
XMVECTOR XMConvertVectorFloatToInt(FXMVECTOR VFloat, UINT MulExponent)
USHORT w
Definition: xnamath.h:1048
FLOAT XMScalarSinEst(FLOAT Value)
Definition: xnamathmisc.inl:2224
XMMATRIX XMMatrixTransformation(FXMVECTOR ScalingOrigin, FXMVECTOR ScalingOrientationQuaternion, FXMVECTOR Scaling, CXMVECTOR RotationOrigin, CXMVECTOR RotationQuaternion, CXMVECTOR Translation)
Definition: xnamathmatrix.inl:1662
XMVECTOR XMVectorAdd(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:2447
FLOAT _43
Definition: xnamath.h:1835
VOID XMStoreInt4(_Out_cap_c_(4) UINT *pDestination, FXMVECTOR V)
XMVECTOR XMVector3Orthogonal(FXMVECTOR V)
Definition: xnamathvector.inl:8381
XMVECTOR XMVectorCosHEst(FXMVECTOR V)
Definition: xnamathvector.inl:4875
XMGLOBALCONST XMVECTORF32 g_XMFixX16Y16
Definition: xnamath.h:2700
struct _XMSHORT2 XMSHORT2
XMVECTOR XMVectorFalseInt()
Definition: xnamathvector.inl:171
GLdouble GLdouble z
Definition: glext.h:6514
struct _XMCOLOR XMCOLOR
XMVECTOR XMVectorZero()
Definition: xnamathvector.inl:38
XMVECTOR XMLoadShortN2(_In_ CONST XMSHORTN2 *pSource)
UINT z
Definition: xnamath.h:777
XMVECTOR XMVectorInBoundsR(_Out_ UINT *pCR, FXMVECTOR V, FXMVECTOR Bounds)
XMMATRIX XMMatrixPerspectiveOffCenterLH(FLOAT ViewLeft, FLOAT ViewRight, FLOAT ViewBottom, FLOAT ViewTop, FLOAT NearZ, FLOAT FarZ)
Definition: xnamathmatrix.inl:2463
FLOAT _21
Definition: xnamath.h:1833
struct _XMDHENN3 XMDHENN3
INT64 z
Definition: xnamath.h:1388
XMVECTOR XMVectorExpEst(FXMVECTOR V)
Definition: xnamathvector.inl:2902
XMVECTOR XMVectorRound(FXMVECTOR V)
Definition: xnamathvector.inl:2087
XMFLOAT4 * XMPlaneTransformStream(_Out_bytecap_x_(sizeof(XMFLOAT4)+OutputStride *(PlaneCount-1)) XMFLOAT4 *pOutputStream, _In_ UINT OutputStride, _In_bytecount_x_(sizeof(XMFLOAT4)+InputStride *(PlaneCount-1)) CONST XMFLOAT4 *pInputStream, _In_ UINT InputStride, _In_ UINT PlaneCount, CXMMATRIX M)
BOOL XMScalarNearEqual(FLOAT S1, FLOAT S2, FLOAT Epsilon)
Definition: xnamathmisc.inl:1966
XMGLOBALCONST XMVECTORI32 g_XMFlipA2B10G10R10
Definition: xnamath.h:2695
XMFLOAT3 * XMVector3TransformNormalStream(_Out_bytecap_x_(sizeof(XMFLOAT3)+OutputStride *(VectorCount-1)) XMFLOAT3 *pOutputStream, _In_ UINT OutputStride, _In_bytecount_x_(sizeof(XMFLOAT3)+InputStride *(VectorCount-1)) CONST XMFLOAT3 *pInputStream, _In_ UINT InputStride, _In_ UINT VectorCount, CXMMATRIX M)
struct _XMBYTE4 XMBYTE4
XMVECTOR XMVector4Transform(FXMVECTOR V, CXMMATRIX M)
Definition: xnamathvector.inl:10751
XMGLOBALCONST XMVECTORF32 g_XMFixupY16W16
Definition: xnamath.h:2726
UINT g
Definition: xnamath.h:1531
XMVECTOR XMVector2AngleBetweenNormals(FXMVECTOR N1, FXMVECTOR N2)
Definition: xnamathvector.inl:6767
XMGLOBALCONST XMVECTORF32 g_XMASinEstCoefficients
Definition: xnamath.h:2651
VOID XMStoreFloat4(_Out_ XMFLOAT4 *pDestination, FXMVECTOR V)
BOOL XMVector2GreaterOrEqual(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:5971
Definition: xnamath.h:999
#define _x
Definition: gx2_shader_inl.h:113
XMVECTOR XMVector2Normalize(FXMVECTOR V)
Definition: xnamathvector.inl:6410
XMGLOBALCONST XMVECTORI32 g_XMSwizzleZXYW
Definition: xnamath.h:2722
XMFLOAT3 * XMVector3TransformCoordStream(_Out_bytecap_x_(sizeof(XMFLOAT3)+OutputStride *(VectorCount-1)) XMFLOAT3 *pOutputStream, _In_ UINT OutputStride, _In_bytecount_x_(sizeof(XMFLOAT3)+InputStride *(VectorCount-1)) CONST XMFLOAT3 *pInputStream, _In_ UINT InputStride, _In_ UINT VectorCount, CXMMATRIX M)
XMVECTOR XMVectorSetIntXPtr(FXMVECTOR V, _In_ CONST UINT *x)
#define XM_SELECT_1
Definition: xnamath.h:133
USHORT v
Definition: xnamath.h:1686
XMVECTOR XMVectorSplatSignMask()
Definition: xnamathvector.inl:332
struct _XMSHORT4 XMSHORT4
FLOAT * XMConvertHalfToFloatStream(_Out_bytecap_x_(sizeof(FLOAT)+OutputStride *(HalfCount-1)) FLOAT *pOutputStream, _In_ UINT OutputStride, _In_bytecount_x_(sizeof(HALF)+InputStride *(HalfCount-1)) CONST HALF *pInputStream, _In_ UINT InputStride, _In_ UINT HalfCount)
XMGLOBALCONST XMVECTORI32 g_XMXorDec4
Definition: xnamath.h:2750
HALF XMConvertFloatToHalf(FLOAT Value)
Definition: xnamathconvert.inl:153
Definition: xnamath.h:1344
XMVECTOR XMVectorSetXPtr(FXMVECTOR V, _In_ CONST FLOAT *x)
VOID XMVectorGetWPtr(_Out_ FLOAT *w, FXMVECTOR V)
XMVECTOR XMVector4Dot(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:9979
USHORT HALF
Definition: xnamath.h:386
VOID XMStoreUNibble4(_Out_ XMUNIBBLE4 *pDestination, FXMVECTOR V)
Unknown compiler Device disconnected from port File already exists Saving to backup buffer Got connection Public address Setting disk in tray You have left the game You have joined with input devices *s *s has joined as player u A netplay connection attempt failed because the peer is not running or is running an old version of RetroArch use the same version use the same version This core does not support inter architecture netplay Incorrect password A netplay client has disconnected You do not have permission to play The input devices requested are not available Netplay peer s paused Give hardware rendered cores their own private context Avoids having to assume hardware state changes inbetween frames Adjusts menu screen appearance settings Improves performance at the cost of latency and more video stuttering Use only if you cannot obtain full speed otherwise Autodetect Capabilities Connecting to port Password Username Accounts List Endpoint Achievements Scan Content Import content Ask Block Frames نظام تشغيل الصوت Audio Enable Turbo Deadzone Audio Maximum Timing Skew Audio Output Dynamic Audio Rate Control الصوت Audio Volume WASAPI Exclusive Mode WASAPI Shared Buffer Length Load Override Files Automatically Load Shader Presets Automatically Confirm Quit Scroll Up Toggle Keyboard Basic menu controls Info Scroll Up Toggle Keyboard Don t overwrite SaveRAM on loading savestate Buildbot Assets URL Allow Camera Cheat Cheat File Load Cheat File Cheat Passes Hardcore Mode Achievement Badges Locked Test Unofficial Achievements Unlocked Verbose Mode Config ملفات التكوين Collections Content Allow to remove entries Downloads Cheats Show core name Authors Core label Permissions System manufacturer Controls Options Start a Core Automatically Buildbot Cores URL Updater CPU Cursor Custom Ratio Database Selection Start directory< Default > Directory not found Disk Cycle Tray Status Disk Index Don t care Download Core DPI Override Enable أنظمة التشغيل Check for Missing Firmware Before Loading Dynamic Backgrounds Menu entry hover color False Favorites Limit Maximum Run Speed Frontend Counters Create game options file مساعدة Changing Virtual Gamepad Overlay مساعدة Scanning For Content History List Enable Horizontal Menu معلومات Analog To Digital Type Left Analog X Left analog Left Analog Y Left analog Y(down)") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_ANALOG_RIGHT_X
XMMATRIX XMLoadFloat4x3A(_In_ CONST XMFLOAT4X3A *pSource)
XMVECTOR XMLoadUDec4(_In_ CONST XMUDEC4 *pSource)
XMGLOBALCONST XMVECTORF32 g_XMATanCoefficients0
Definition: xnamath.h:2644
XMVECTOR XMVectorCatmullRom(FXMVECTOR Position0, FXMVECTOR Position1, FXMVECTOR Position2, CXMVECTOR Position3, FLOAT t)
Definition: xnamathvector.inl:5500
XMVECTOR XMVectorLerpV(FXMVECTOR V0, FXMVECTOR V1, FXMVECTOR T)
Definition: xnamathvector.inl:5324
struct _XMUICO4 XMUICO4
UINT XMVectorGetIntW(FXMVECTOR V)
Definition: xnamathvector.inl:562
XMGLOBALCONST XMVECTORF32 g_XMNegativePi
Definition: xnamath.h:2676
XMGLOBALCONST XMVECTORF32 g_XMNegateY
Definition: xnamath.h:2709
FLOAT _32
Definition: xnamath.h:1780
BOOL XMVector2IsInfinite(FXMVECTOR V)
Definition: xnamathvector.inl:6150
FLOAT _12
Definition: xnamath.h:1778
FLOAT _22
Definition: xnamath.h:1833
VOID XMStoreFloat2(_Out_ XMFLOAT2 *pDestination, FXMVECTOR V)
BOOL XMMatrixDecompose(_Out_ XMVECTOR *outScale, _Out_ XMVECTOR *outRotQuat, _Out_ XMVECTOR *outTrans, CXMMATRIX M)
XMVECTOR XMMatrixDeterminant(CXMMATRIX M)
Definition: xnamathmatrix.inl:657
XMGLOBALCONST XMVECTORF32 g_XMCosCoefficients2
Definition: xnamath.h:2637
XMVECTOR XMVectorSelect(FXMVECTOR V1, FXMVECTOR V2, FXMVECTOR Control)
Definition: xnamathvector.inl:1348
BOOL XMVector2LessOrEqual(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:6046
XMVECTOR XMLoadIcoN4(_In_ CONST XMICON4 *pSource)
struct _XMUDHENN3 XMUDHENN3
XMVECTOR XMVectorSwizzle(FXMVECTOR V, UINT E0, UINT E1, UINT E2, UINT E3)
UINT zm
Definition: xnamath.h:883
VOID XMStoreHalf2(_Out_ XMHALF2 *pDestination, FXMVECTOR V)
_DECLSPEC_ALIGN_16_ struct XMVECTORU8 XMVECTORU8
FLOAT z
Definition: xnamath.h:525
UINT z
Definition: xnamath.h:812
const GLubyte * c
Definition: glext.h:9812
FLOAT _23
Definition: xnamath.h:1748
XMVECTOR XMVectorPow(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:3116
FLOAT _23
Definition: xnamath.h:1833
XMVECTOR XMVectorModAngles(FXMVECTOR Angles)
Definition: xnamathvector.inl:3189
XMGLOBALCONST XMVECTORF32 g_XMAddDec4
Definition: xnamath.h:2752
XMVECTOR XMVectorHermite(FXMVECTOR Position0, FXMVECTOR Tangent0, FXMVECTOR Position1, CXMVECTOR Tangent1, FLOAT t)
Definition: xnamathvector.inl:5357
VOID XMVectorSinCos(_Out_ XMVECTOR *pSin, _Out_ XMVECTOR *pCos, FXMVECTOR V)
XMVECTOR XMLoadUByteN4(_In_ CONST XMUBYTEN4 *pSource)
XMGLOBALCONST XMVECTORI32 g_XMMaskA2B10G10R10
Definition: xnamath.h:2694
struct _XMXICON4 XMXICON4
struct _XMXDECN4 XMXDECN4
XMGLOBALCONST XMVECTORI32 g_XMSwizzleYXZW
Definition: xnamath.h:2720
BOOL XMVector3IsInfinite(FXMVECTOR V)
Definition: xnamathvector.inl:7772
XMVECTOR v
Definition: xnamath.h:275
XMVECTOR XMVector2ReciprocalLengthEst(FXMVECTOR V)
Definition: xnamathvector.inl:6264
XMVECTOR XMVectorSaturate(FXMVECTOR V)
Definition: xnamathvector.inl:2261
XMVECTOR XMLoadIco4(_In_ CONST XMICO4 *pSource)
#define S2(x)
Definition: sha256.c:162
XMGLOBALCONST XMVECTORI32 g_XMXorXIco4
Definition: xnamath.h:2743
USHORT y
Definition: xnamath.h:1068
FLOAT _33
Definition: xnamath.h:1834
XMVECTOR XMVectorSplatX(FXMVECTOR V)
Definition: xnamathvector.inl:185
struct _XMXICO4 XMXICO4
XMVECTOR XMLoadUByte4(_In_ CONST XMUBYTE4 *pSource)
XMVECTOR XMVectorGreaterOrEqual(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:1764
XMGLOBALCONST XMVECTORF32 g_XMASinCoefficients2
Definition: xnamath.h:2643
XMVECTOR XMVectorDivide(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:2642
struct _XMHALF2 XMHALF2
XMVECTOR XMQuaternionMultiply(FXMVECTOR Q1, FXMVECTOR Q2)
Definition: xnamathmisc.inl:109
XMGLOBALCONST XMVECTORF32 g_XMMulDHen3
Definition: xnamath.h:2739
XMGLOBALCONST XMVECTORF32 g_XMTwoPi
Definition: xnamath.h:2680
INT x
Definition: xnamath.h:1098
Definition: xnamath.h:873
Definition: xnamath.h:334
XMVECTOR XMVector2ClampLengthV(FXMVECTOR V, FXMVECTOR LengthMin, FXMVECTOR LengthMax)
Definition: xnamathvector.inl:6490
UINT v
Definition: xnamath.h:1211
HALF y
Definition: xnamath.h:424
struct _XMUBYTEN4 XMUBYTEN4
BYTE w
Definition: xnamath.h:1624
XMFLOAT4 * XMVector3TransformStream(_Out_bytecap_x_(sizeof(XMFLOAT4)+OutputStride *(VectorCount-1)) XMFLOAT4 *pOutputStream, _In_ UINT OutputStride, _In_bytecount_x_(sizeof(XMFLOAT3)+InputStride *(VectorCount-1)) CONST XMFLOAT3 *pInputStream, _In_ UINT InputStride, _In_ UINT VectorCount, CXMMATRIX M)
XMVECTOR XMVectorSetByIndex(FXMVECTOR V, FLOAT f, UINT i)
Definition: xnamathvector.inl:652
Definition: xnamath.h:1826
XMVECTOR XMQuaternionNormalize(FXMVECTOR Q)
Definition: xnamathmisc.inl:231
Definition: xnamath.h:734
XMMATRIX XMMatrixLookAtRH(FXMVECTOR EyePosition, FXMVECTOR FocusPosition, FXMVECTOR UpDirection)
Definition: xnamathmatrix.inl:2030
VOID XMVector3ComponentsFromNormal(_Out_ XMVECTOR *pParallel, _Out_ XMVECTOR *pPerpendicular, FXMVECTOR V, FXMVECTOR Normal)
FLOAT _12
Definition: xnamath.h:1832
XMMATRIX XMMatrixScalingFromVector(FXMVECTOR Scale)
Definition: xnamathmatrix.inl:1067
Definition: xnamath.h:521
BOOL XMVector2NotEqual(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:5875
XMVECTOR XMVector3NormalizeEst(FXMVECTOR V)
Definition: xnamathvector.inl:8029
Definition: xnamath.h:834
XMGLOBALCONST XMVECTORI32 g_XMNegate3
Definition: xnamath.h:2663
XMVECTOR XMVectorReciprocal(FXMVECTOR V)
Definition: xnamathvector.inl:2750
USHORT x
Definition: xnamath.h:840
Definition: xnamath.h:1675
XMGLOBALCONST XMVECTORF32 g_XMNegateX
Definition: xnamath.h:2708
XMVECTOR XMPlaneDotNormal(FXMVECTOR P, FXMVECTOR V)
Definition: xnamathmisc.inl:1188
XMFLOAT2 * XMVector2TransformCoordStream(_Out_bytecap_x_(sizeof(XMFLOAT2)+OutputStride *(VectorCount-1)) XMFLOAT2 *pOutputStream, _In_ UINT OutputStride, _In_bytecount_x_(sizeof(XMFLOAT2)+InputStride *(VectorCount-1)) CONST XMFLOAT2 *pInputStream, _In_ UINT InputStride, _In_ UINT VectorCount, CXMMATRIX M)
XMVECTOR XMQuaternionDot(FXMVECTOR Q1, FXMVECTOR Q2)
Definition: xnamathmisc.inl:98
XMVECTOR XMVectorATan2Est(FXMVECTOR Y, FXMVECTOR X)
Definition: xnamathvector.inl:5169
UINT xm
Definition: xnamath.h:879
Definition: xnamath.h:1772
FLOAT _33
Definition: xnamath.h:1749
BOOL XMVector2Equal(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:5727
VOID XMScalarSinCos(_Out_ FLOAT *pSin, _Out_ FLOAT *pCos, FLOAT Value)
XMVECTOR XMVector3Unproject(FXMVECTOR V, FLOAT ViewportX, FLOAT ViewportY, FLOAT ViewportWidth, FLOAT ViewportHeight, FLOAT ViewportMinZ, FLOAT ViewportMaxZ, CXMMATRIX Projection, CXMMATRIX View, CXMMATRIX World)
Definition: xnamathvector.inl:9308
XMGLOBALCONST XMVECTORF32 g_XMTanEstCoefficients
Definition: xnamath.h:2649
XMVECTOR XMVectorTanEst(FXMVECTOR V)
Definition: xnamathvector.inl:4762
XMVECTOR XMVectorReplicate(FLOAT Value)
Definition: xnamathvector.inl:91
XMMATRIX XMMatrixTranspose(CXMMATRIX M)
Definition: xnamathmatrix.inl:352
XMVECTOR XMLoadInt3(_In_count_c_(3) CONST UINT *pSource)
XMVECTOR XMVector4AngleBetweenNormals(FXMVECTOR N1, FXMVECTOR N2)
Definition: xnamathvector.inl:10664
VOID XMStoreHenD3(_Out_ XMHEND3 *pDestination, FXMVECTOR V)
XMVECTOR XMVectorLogEst(FXMVECTOR V)
Definition: xnamathvector.inl:3025
XMVECTOR XMVectorMax(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:2064
XMVECTOR XMLoadUShortN2(_In_ CONST XMUSHORTN2 *pSource)
XMVECTOR XMQuaternionSquadV(FXMVECTOR Q0, FXMVECTOR Q1, FXMVECTOR Q2, CXMVECTOR Q3, CXMVECTOR T)
Definition: xnamathmisc.inl:580
UINT XMVector2EqualR(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:5747
UINT XMVector3GreaterOrEqualR(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:7603
BOOL XMQuaternionIsInfinite(FXMVECTOR Q)
Definition: xnamathmisc.inl:66
HALF y
Definition: xnamath.h:980
XMGLOBALCONST XMVECTORF32 g_XMAddByte4
Definition: xnamath.h:2756
XMVECTOR XMVectorSin(FXMVECTOR V)
Definition: xnamathvector.inl:3220
XMVECTOR XMLoadByte4(_In_ CONST XMBYTE4 *pSource)
BOOL XMVector3Less(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:7645
struct _XMDEC4 XMDEC4
FLOAT _32
Definition: xnamath.h:1749
VOID XMStoreInt3(_Out_cap_c_(3) UINT *pDestination, FXMVECTOR V)
XMVECTOR XMQuaternionLength(FXMVECTOR Q)
Definition: xnamathmisc.inl:211
XMGLOBALCONST XMVECTORF32 g_XMATanEstCoefficients
Definition: xnamath.h:2650
USHORT x
Definition: xnamath.h:1067
UINT64 w
Definition: xnamath.h:1461
XMMATRIX XMMatrixTransformation2D(FXMVECTOR ScalingOrigin, FLOAT ScalingOrientation, FXMVECTOR Scaling, FXMVECTOR RotationOrigin, FLOAT Rotation, CXMVECTOR Translation)
Definition: xnamathmatrix.inl:1565
FLOAT XMScalarASin(FLOAT Value)
Definition: xnamathmisc.inl:2165
XMVECTOR XMVectorExp(FXMVECTOR V)
Definition: xnamathvector.inl:2929
#define XM_PERMUTE_1Y
Definition: xnamath.h:140
UINT y
Definition: xnamath.h:1243
XMVECTOR XMVector4Refract(FXMVECTOR Incident, FXMVECTOR Normal, FLOAT RefractionIndex)
Definition: xnamathvector.inl:10504
UINT XMVector3InBoundsR(FXMVECTOR V, FXMVECTOR Bounds)
Definition: xnamathvector.inl:7709
UINT64 v
Definition: xnamath.h:1427
#define XM_SELECT_0
Definition: xnamath.h:132
FLOAT _33
Definition: xnamath.h:1780
FLOAT XMVectorGetX(FXMVECTOR V)
Definition: xnamathvector.inl:365
FLOAT _24
Definition: xnamath.h:1833
FLOAT XMScalarCosEst(FLOAT Value)
Definition: xnamathmisc.inl:2278
struct _XMFLOAT3SE XMFLOAT3SE
_DECLSPEC_ALIGN_16_ struct _XMMATRIX XMMATRIX
FLOAT _41
Definition: xnamath.h:345
XMVECTOR XMVectorLerp(FXMVECTOR V0, FXMVECTOR V1, FLOAT t)
Definition: xnamathvector.inl:5287
Compilador Desconocido Dispositivo desconectado del puerto El archivo ya existe Guardándolo en el búfer de respaldo Conexión obtenida Dirección pública Poniendo disco en bandeja As dejado el juego Se ha unido con el dispositivo de entrada *s *s se ha unido como jugador u Una conexión de netplay probablemente no este usando RetroArch o esté usando una versión antigua de RetroArch use la misma versión use la misma versión Este núcleo no soporta juego en red entre diferentes sistemas Contraseña incorrecta Un cliente de juego en red se ha desconectado No tienes permiso para jugar El dispositivo de entrada pedido no esta disponible Cliente de juego en red s pausado Dar a los núcleos renderizados por hardware un contexto privado Evita tener que asumir cambios en el estado del hardware entre cuadros Ajusta la apariencia del menú Mejora el rendimiento a costa de la latencia y posiblemente algunos tirones Usar solo si no puede obtener máxima velocidad de otra manera Auto detectar Capacidades Conectando al puerto Lo no Contraseña Nombre de usuario Fin de la lista Lista de logros Continuar usando el modo Hardcore de logros Escanear Contenido Importar contenido Preguntar Bloquear frames Controlador de Audio Activar audio Turbo Zona Muerta Variación máxima de sincronía de audio Frecuencia de muestreo de Control de frecuencia dinámico Audio Volumen de WASAPI Mode Exclusivo WASAPI Tamaño del búfer compartido Cargar autom archivos de personalización Cargar Shaders automáticamente Confirmar Salir Desplazar hacia arriba Mostrar teclado Controles básicos del menú Información Desplazar hacia arriba Mostrar teclado No sobrescribir SaveRAM al cargar URL de recursos del Buildbot Permitir cámara Truco Iniciar búsqueda de trucos Archivo de trucos Cargar archivo de Cargar archivo de Guardar archivo de trucos como Descripción Tablas de clasificación Logros Bloqueado Probar logros No oficiales Desbloqueado Logros modo informativo Cerrar Cargar configuración Guardar configuración al salir Base de datos Tamaño del historial Menú rápido Descargas Contadores de núcleo Información del núcleo Categorías Nombre del núcleo Permisos Fabricante del sistema Controles Instalar or Restaurar un núcleo Núcleo instalado exitosamente Núcleo Extraer automáticamente el archivo descargado Actualizador de núcleos Arquitectura de Núcleos de Cursor Relación personalizada Seleccionar bases de datos Favoritos< Predeterminada > No se ha encontrado la carpeta Abrir Cerrar la bandeja de discos Índice de disco No importa Descargar núcleo Forzar DPI Controladores Chequear si falta Firmware antes de cargar Fondos de pantalla dinámicos Color de resaltado del menú Desactivado Favoritos Incluir detalles de memoria Sincronizar Velocidad de frames Usar opciones de núcleo para cada juego si existen Archivo de opciones del juego Solucionar problemas de Audio Video Controles básicos del menú Cargando contenido ¿Qué es un núcleo Historial Imágenes Información Todos controlan el menú Analógico izq Analógico izq Analógico izq Y Analógico izq Analógico der X Analógico der Analógico der Y Analógico der Activar Auto configuración Asignar todo Tiempo limite para asignar Ocultar descripciones de entrada sin asignar de los núcleo Indice de dispositivo Indice de ratón Ciclo de trabajo Activar mapeo de Teclado Mando Botón D pad ABAJO Botón Botón D pad IZQUIERDA Botón Botón R1(RB)" ) MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_RIGHT
XMGLOBALCONST XMVECTORF32 g_XMNegateZ
Definition: xnamath.h:2710
INT64 z
Definition: xnamath.h:1352
XMVECTOR XMVectorTruncate(FXMVECTOR V)
Definition: xnamathvector.inl:2129
VOID XMStoreFloat4x3NC(_Out_ XMFLOAT4X3 *pDestination, CXMMATRIX M)
XMVECTOR XMVector3Rotate(FXMVECTOR V, FXMVECTOR RotationQuaternion)
Definition: xnamathvector.inl:8669
FLOAT _42
Definition: xnamath.h:1835
Definition: xnamath.h:229
XMVECTOR XMVector3RefractV(FXMVECTOR Incident, FXMVECTOR Normal, FXMVECTOR RefractionIndex)
Definition: xnamathvector.inl:8303
BOOL XMVector3EqualInt(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:7400
struct _XMFLOAT3PK XMFLOAT3PK
#define _b(x)
Definition: gx2_shader_inl.h:307
FLOAT _12
Definition: xnamath.h:1747
UINT x
Definition: xnamath.h:810
XMFLOAT4 * XMVector3TransformStreamNC(_Out_bytecap_x_(sizeof(XMFLOAT4)+OutputStride *(VectorCount-1)) XMFLOAT4 *pOutputStream, _In_ UINT OutputStride, _In_bytecount_x_(sizeof(XMFLOAT3)+InputStride *(VectorCount-1)) CONST XMFLOAT3 *pInputStream, _In_ UINT InputStride, _In_ UINT VectorCount, CXMMATRIX M)
XMVECTOR XMVectorPermuteControl(UINT ElementIndex0, UINT ElementIndex1, UINT ElementIndex2, UINT ElementIndex3)
Definition: xnamathvector.inl:1189
CHAR x
Definition: xnamath.h:1561
USHORT z
Definition: xnamath.h:1069
INT x
Definition: xnamath.h:565
FLOAT XMScalarACosEst(FLOAT Value)
Definition: xnamathmisc.inl:2420
FLOAT _13
Definition: xnamath.h:1747
XMVECTOR XMVectorSetIntX(FXMVECTOR V, UINT x)
Definition: xnamathvector.inl:937
BOOL XMMatrixIsNaN(CXMMATRIX M)
Definition: xnamathmatrix.inl:35
XMGLOBALCONST XMVECTORF32 g_XMTanCoefficients2
Definition: xnamath.h:2640
XMVECTOR XMVectorSplatOne()
Definition: xnamathvector.inl:264
BOOL XMVector4EqualInt(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:9580
XMVECTOR XMVector3ReciprocalLengthEst(FXMVECTOR V)
Definition: xnamathvector.inl:7881
FLOAT _41
Definition: xnamath.h:1781
XMGLOBALCONST XMVECTORF32 g_XMNegIdentityR0
Definition: xnamath.h:2658
XMGLOBALCONST XMVECTORF32 g_XMAddXIco4
Definition: xnamath.h:2745
XMGLOBALCONST XMVECTORF32 g_XMSinEstCoefficients
Definition: xnamath.h:2647
FLOAT _22
Definition: xnamath.h:343
XMVECTOR XMVectorNorInt(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:2361
Definition: xnamath.h:441
FLOAT _32
Definition: xnamath.h:344
XMVECTOR XMVector3Transform(FXMVECTOR V, CXMMATRIX M)
Definition: xnamathvector.inl:8739
Definition: xnamath.h:1308
SHORT y
Definition: xnamath.h:464
FLOAT XMScalarACos(FLOAT Value)
Definition: xnamathmisc.inl:2207
XMVECTOR XMVectorReciprocalSqrtEst(FXMVECTOR V)
Definition: xnamathvector.inl:2831
Definition: xnamath.h:1164
XMMATRIX XMMatrixOrthographicOffCenterLH(FLOAT ViewLeft, FLOAT ViewRight, FLOAT ViewBottom, FLOAT ViewTop, FLOAT NearZ, FLOAT FarZ)
Definition: xnamathmatrix.inl:2746
struct _XMXDEC4 XMXDEC4
XMGLOBALCONST XMVECTORF32 g_XMNegIdentityR1
Definition: xnamath.h:2659
XMVECTOR XMVectorTanHEst(FXMVECTOR V)
Definition: xnamathvector.inl:4917
UINT64 v
Definition: xnamath.h:1319
UINT zm
Definition: xnamath.h:920
XMVECTOR XMVectorSelectControl(UINT VectorIndex0, UINT VectorIndex1, UINT VectorIndex2, UINT VectorIndex3)
Definition: xnamathvector.inl:1309
XMVECTOR XMQuaternionLn(FXMVECTOR Q)
Definition: xnamathmisc.inl:309
FLOAT _42
Definition: xnamath.h:1781
XMGLOBALCONST XMVECTORF32 g_XMFixAA2B10G10R10
Definition: xnamath.h:2696
struct _XMUDEC4 XMUDEC4
XMVECTOR XMVector2TransformNormal(FXMVECTOR V, CXMMATRIX M)
Definition: xnamathvector.inl:7231
XMVECTOR XMColorModulate(FXMVECTOR C1, FXMVECTOR C2)
Definition: xnamathmisc.inl:1718
XMGLOBALCONST XMVECTORI32 g_XMMaskDHen3
Definition: xnamath.h:2734
INT y
Definition: xnamath.h:1135
Definition: xnamath.h:1272
XMGLOBALCONST XMVECTORI32 g_XMPermute0X0Y1X1Y
Definition: xnamath.h:2723
XMVECTOR XMLoadUDHenN3(_In_ CONST XMUDHENN3 *pSource)
XMVECTOR XMVectorSplatW(FXMVECTOR V)
Definition: xnamathvector.inl:245
XMGLOBALCONST XMVECTORF32 g_XMATanCoefficients2
Definition: xnamath.h:2646
USHORT w
Definition: xnamath.h:1070
XMGLOBALCONST XMVECTORI32 g_XMFltMin
Definition: xnamath.h:2687
XMGLOBALCONST XMVECTORI32 g_XMMaskHenD3
Definition: xnamath.h:2733
XMGLOBALCONST XMVECTORF32 g_XMATanCoefficients1
Definition: xnamath.h:2645
VOID XMStoreUByte4(_Out_ XMUBYTE4 *pDestination, FXMVECTOR V)
XMMATRIX XMMatrixLookToRH(FXMVECTOR EyePosition, FXMVECTOR EyeDirection, FXMVECTOR UpDirection)
Definition: xnamathmatrix.inl:2126
XMFLOAT4 * XMVector2TransformStream(_Out_bytecap_x_(sizeof(XMFLOAT4)+OutputStride *(VectorCount-1)) XMFLOAT4 *pOutputStream, _In_ UINT OutputStride, _In_bytecount_x_(sizeof(XMFLOAT2)+InputStride *(VectorCount-1)) CONST XMFLOAT2 *pInputStream, _In_ UINT InputStride, _In_ UINT VectorCount, CXMMATRIX M)
VOID XMVectorGetZPtr(_Out_ FLOAT *z, FXMVECTOR V)
VOID XMVectorGetIntZPtr(_Out_ UINT *z, FXMVECTOR V)
XMGLOBALCONST XMVECTORF32 g_XMMulDec4
Definition: xnamath.h:2753
XMVECTOR XMVectorNegativeMultiplySubtract(FXMVECTOR V1, FXMVECTOR V2, FXMVECTOR V3)
Definition: xnamathvector.inl:2663
VOID XMStoreInt2A(_Out_cap_c_(2) UINT *pDestination, FXMVECTOR V)
FLOAT y
Definition: xnamath.h:392
XMVECTOR XMVectorNotEqual(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:1637
XMVECTOR XMLoadXIcoN4(_In_ CONST XMXICON4 *pSource)
UINT XMVector2EqualIntR(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:5806
VOID XMStoreInt2(_Out_cap_c_(2) UINT *pDestination, FXMVECTOR V)
BOOL XMVector4NotEqualInt(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:9690
XMGLOBALCONST XMVECTORI32 g_XMMaskA8R8G8B8
Definition: xnamath.h:2690
XMVECTOR XMVectorSetIntZ(FXMVECTOR V, UINT z)
Definition: xnamathvector.inl:992
VOID XMStoreFloat4x4A(_Out_ XMFLOAT4X4A *pDestination, CXMMATRIX M)
Definition: xnamath.h:1236
XMVECTOR v
Definition: xnamath.h:261
struct _XMFLOAT4 XMFLOAT4
XMFLOAT4 * XMVector4TransformStream(_Out_bytecap_x_(sizeof(XMFLOAT4)+OutputStride *(VectorCount-1)) XMFLOAT4 *pOutputStream, _In_ UINT OutputStride, _In_bytecount_x_(sizeof(XMFLOAT4)+InputStride *(VectorCount-1)) CONST XMFLOAT4 *pInputStream, _In_ UINT InputStride, _In_ UINT VectorCount, CXMMATRIX M)
UINT XMVector3GreaterR(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:7544
XMVECTOR XMLoadHenD3(_In_ CONST XMHEND3 *pSource)
FLOAT _12
Definition: xnamath.h:342
XMVECTOR XMVectorAddAngles(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:2472
FLOAT _14
Definition: xnamath.h:1832
VOID XMStoreFloat3(_Out_ XMFLOAT3 *pDestination, FXMVECTOR V)
Definition: xnamath.h:501
SHORT z
Definition: xnamath.h:1003
UINT w
Definition: xnamath.h:1137
XMMATRIX XMMatrixRotationQuaternion(FXMVECTOR Quaternion)
Definition: xnamathmatrix.inl:1453
XMVECTOR XMVector3TransformNormal(FXMVECTOR V, CXMMATRIX M)
Definition: xnamathvector.inl:9008
UINT y
Definition: xnamath.h:811
XMVECTOR XMVectorSetZ(FXMVECTOR V, FLOAT z)
Definition: xnamathvector.inl:728
INT z
Definition: xnamath.h:1136
XMVECTOR v
Definition: xnamath.h:247
FLOAT XMVectorGetY(FXMVECTOR V)
Definition: xnamathvector.inl:381
FLOAT _13
Definition: xnamath.h:342
struct _XMUHEND3 XMUHEND3
XMVECTOR XMVector4RefractV(FXMVECTOR Incident, FXMVECTOR Normal, FXMVECTOR RefractionIndex)
Definition: xnamathvector.inl:10526
HALF x
Definition: xnamath.h:979
FLOAT _11
Definition: xnamath.h:342
Definition: xnamath.h:1200
BYTE y
Definition: xnamath.h:1652
UINT y
Definition: xnamath.h:636
XMVECTOR XMVector2NormalizeEst(FXMVECTOR V)
Definition: xnamathvector.inl:6381
XMVECTOR XMVectorCosEst(FXMVECTOR V)
Definition: xnamathvector.inl:4624
INT y
Definition: xnamath.h:1171
XMGLOBALCONST XMVECTORI32 g_XMMask3
Definition: xnamath.h:2664
#define XM_PERMUTE_0X
Definition: xnamath.h:135
XMVECTOR XMVector3Reflect(FXMVECTOR Incident, FXMVECTOR Normal)
Definition: xnamathvector.inl:8251
XMVECTOR XMLoadFloat4(_In_ CONST XMFLOAT4 *pSource)
XMGLOBALCONST XMVECTORF32 g_XMAddUIco4
Definition: xnamath.h:2746
XMMATRIX XMMatrixRotationRollPitchYawFromVector(FXMVECTOR Angles)
Definition: xnamathmatrix.inl:1293
XMGLOBALCONST XMVECTORI32 g_XMXorIco4
Definition: xnamath.h:2744
VOID XMVectorGetByIndexPtr(_Out_ FLOAT *f, FXMVECTOR V, UINT i)
XMGLOBALCONST XMVECTORF32 g_XMSinCoefficients1
Definition: xnamath.h:2633
XMVECTOR XMVectorFloor(FXMVECTOR V)
Definition: xnamathvector.inl:2180
XMVECTOR XMVector2Length(FXMVECTOR V)
Definition: xnamathvector.inl:6351
INT y
Definition: xnamath.h:706
struct _XMUDECN4 XMUDECN4
INT z
Definition: xnamath.h:567
VOID XMStoreXIco4(_Out_ XMXICO4 *pDestination, FXMVECTOR V)
BOOL XMVector2NearEqual(FXMVECTOR V1, FXMVECTOR V2, FXMVECTOR Epsilon)
Definition: xnamathvector.inl:5846
VOID XMStoreFloat3PK(_Out_ XMFLOAT3PK *pDestination, FXMVECTOR V)
XMGLOBALCONST XMVECTORF32 g_XMPi
Definition: xnamath.h:2678
Definition: xnamath.h:699
XMGLOBALCONST XMVECTORF32 g_XMFixX16Y16Z16W16
Definition: xnamath.h:2704
GLint GLint GLint GLint GLint GLint y
Definition: glext.h:6295
Definition: xnamath.h:1043
INT64 x
Definition: xnamath.h:1422
VOID XMStoreFloat4NC(_Out_ XMFLOAT4 *pDestination, FXMVECTOR V)
UINT v
Definition: xnamath.h:604
XMVECTOR XMLoadInt3A(_In_count_c_(3) CONST UINT *pSource)
UINT xm
Definition: xnamath.h:918
INT z
Definition: xnamath.h:707
Definition: xnamath.h:244
VOID XMStoreHenDN3(_Out_ XMHENDN3 *pDestination, FXMVECTOR V)
Definition: xnamath.h:1645
VOID XMStoreU565(_Out_ XMU565 *pDestination, FXMVECTOR V)
XMVECTOR XMVectorShiftLeft(FXMVECTOR V1, FXMVECTOR V2, UINT Elements)
BOOL XMVector3Greater(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:7526
XMVECTOR XMVectorSplatInfinity()
Definition: xnamathvector.inl:281
XMGLOBALCONST XMVECTORF32 g_XMAddIco4
Definition: xnamath.h:2747
UINT v
Definition: xnamath.h:923
XMGLOBALCONST XMVECTORI32 g_XMFlipX16Y16
Definition: xnamath.h:2699
VOID XMStoreUShort2(_Out_ XMUSHORT2 *pDestination, FXMVECTOR V)
GLint GLint GLint GLint GLint x
Definition: glext.h:6295
Definition: xnamath.h:664
VOID XMStoreUShortN2(_Out_ XMUSHORTN2 *pDestination, FXMVECTOR V)
UINT y
Definition: xnamath.h:1279
XMMATRIX XMMatrixMultiplyTranspose(CXMMATRIX M1, CXMMATRIX M2)
Definition: xnamathmatrix.inl:296
Definition: xnamath.h:977
XMVECTOR XMVectorASin(FXMVECTOR V)
Definition: xnamathvector.inl:3965
#define S(x)
Definition: luac.c:394
XMVECTOR XMVector3InverseRotate(FXMVECTOR V, FXMVECTOR RotationQuaternion)
Definition: xnamathvector.inl:8705
XMGLOBALCONST XMVECTORF32 g_XMMulIco4
Definition: xnamath.h:2748
XMVECTOR XMVectorATan(FXMVECTOR V)
Definition: xnamathvector.inl:4244
XMGLOBALCONST XMVECTORF32 g_XMFixAA8R8G8B8
Definition: xnamath.h:2692
XMVECTOR XMVectorSetZPtr(FXMVECTOR V, _In_ CONST FLOAT *z)
XMVECTOR XMVector3Length(FXMVECTOR V)
Definition: xnamathvector.inl:7991
Definition: xnamath.h:1615
CHAR y
Definition: xnamath.h:1562
XMGLOBALCONST XMVECTORI32 g_XMNegativeZero
Definition: xnamath.h:2662
XMGLOBALCONST XMVECTORF32 g_XMCosCoefficients0
Definition: xnamath.h:2635
INT64 z
Definition: xnamath.h:1316
XMVECTOR XMLoadXDecN4(_In_ CONST XMXDECN4 *pSource)
Definition: xnamath.h:629
FLOAT _13
Definition: xnamath.h:1832
#define XM_PERMUTE_1Z
Definition: xnamath.h:141
XMGLOBALCONST XMVECTORF32 g_XMCosEstCoefficients
Definition: xnamath.h:2648
XMGLOBALCONST XMVECTORF32 g_XMNormalizeX16Y16
Definition: xnamath.h:2701
struct _XMFLOAT2 XMFLOAT2
USHORT v
Definition: xnamath.h:1719
SHORT z
Definition: xnamath.h:1025
XMVECTOR XMQuaternionRotationRollPitchYaw(FLOAT Pitch, FLOAT Yaw, FLOAT Roll)
Definition: xnamathmisc.inl:771
struct _XMHENDN3 XMHENDN3
XMVECTOR XMVectorSetIntW(FXMVECTOR V, UINT w)
Definition: xnamathvector.inl:1023
FLOAT y
Definition: xnamath.h:524
Definition: xnamath.h:1585
UINT x
Definition: xnamath.h:670
CHAR z
Definition: xnamath.h:1563
USHORT y
Definition: xnamath.h:1046
XMVECTOR XMVector4ReciprocalLengthEst(FXMVECTOR V)
Definition: xnamathvector.inl:10084
XMVECTOR XMQuaternionInverse(FXMVECTOR Q)
Definition: xnamathmisc.inl:265
struct _XMUBYTE4 XMUBYTE4
typedef __declspec(align(16)) UINT __vector4i[4]
Definition: xnamath.h:594
VOID XMStoreXDecN4(_Out_ XMXDECN4 *pDestination, FXMVECTOR V)
XMMATRIX XMMatrixInverse(_Out_ XMVECTOR *pDeterminant, CXMMATRIX M)
XMVECTOR XMQuaternionNormalizeEst(FXMVECTOR Q)
Definition: xnamathmisc.inl:221
Definition: xnamath.h:1555
INT64 x
Definition: xnamath.h:1350
FLOAT _21
Definition: xnamath.h:1779
BOOL XMQuaternionEqual(FXMVECTOR Q1, FXMVECTOR Q2)
Definition: xnamathmisc.inl:34
XMGLOBALCONST XMVECTORF32 g_XMAddDHen3
Definition: xnamath.h:2737
BOOL XMColorLessOrEqual(FXMVECTOR C1, FXMVECTOR C2)
Definition: xnamathmisc.inl:1656
XMGLOBALCONST XMVECTORF32 g_XMNegIdentityR3
Definition: xnamath.h:2661
INT x
Definition: xnamath.h:1134
struct _XMUSHORTN2 XMUSHORTN2
XMVECTOR XMQuaternionSquad(FXMVECTOR Q0, FXMVECTOR Q1, FXMVECTOR Q2, CXMVECTOR Q3, FLOAT t)
Definition: xnamathmisc.inl:565
XMVECTOR XMVectorSetInt(UINT x, UINT y, UINT z, UINT w)
Definition: xnamathvector.inl:71
XMVECTOR XMVectorPowEst(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:3086
VOID XMStoreColor(_Out_ XMCOLOR *pDestination, FXMVECTOR V)
BOOL XMVector3IsNaN(FXMVECTOR V)
Definition: xnamathvector.inl:7742
BYTE x
Definition: xnamath.h:1651
XMVECTOR XMVector4ReciprocalLength(FXMVECTOR V)
Definition: xnamathvector.inl:10122
XMVECTOR XMVector3LengthEst(FXMVECTOR V)
Definition: xnamathvector.inl:7955
USHORT v
Definition: xnamath.h:844
struct _XMFLOAT4X3 XMFLOAT4X3
XMVECTOR XMVector3AngleBetweenNormals(FXMVECTOR N1, FXMVECTOR N2)
Definition: xnamathvector.inl:8489
XMMATRIX XMMatrixAffineTransformation(FXMVECTOR Scaling, FXMVECTOR RotationOrigin, FXMVECTOR RotationQuaternion, CXMVECTOR Translation)
Definition: xnamathmatrix.inl:1816
FLOAT XMVectorGetByIndex(FXMVECTOR V, UINT i)
Definition: xnamathvector.inl:351
XMVECTOR XMVectorTrueInt()
Definition: xnamathvector.inl:157
XMVECTOR XMColorNegative(FXMVECTOR C)
Definition: xnamathmisc.inl:1691
FLOAT x
Definition: xnamath.h:523
UINT w
Definition: xnamath.h:1281
XMGLOBALCONST XMVECTORI32 g_XMMaskX16Y16
Definition: xnamath.h:2698
XMVECTOR XMVectorSinH(FXMVECTOR V)
Definition: xnamathvector.inl:3843
T Max(const T a, const T b)
Definition: Common.h:207
VOID XMStoreUDHen3(_Out_ XMUDHEN3 *pDestination, FXMVECTOR V)
XMVECTOR XMPlaneIntersectLine(FXMVECTOR P, FXMVECTOR LinePoint1, FXMVECTOR LinePoint2)
Definition: xnamathmisc.inl:1281
Definition: xnamath.h:1128
XMGLOBALCONST XMVECTORF32 g_XMTanCoefficients0
Definition: xnamath.h:2638
UINT v
Definition: xnamath.h:1283
XMVECTOR XMVectorACosEst(FXMVECTOR V)
Definition: xnamathvector.inl:5029
XMGLOBALCONST XMVECTORF32 g_XMAddUHenD3
Definition: xnamath.h:2735
SHORT y
Definition: xnamath.h:1002
BYTE u[16]
Definition: xnamath.h:260
FLOAT _44
Definition: xnamath.h:345
VOID XMStoreShortN2(_Out_ XMSHORTN2 *pDestination, FXMVECTOR V)
FLOAT _21
Definition: xnamath.h:343
SHORT w
Definition: xnamath.h:1026
XMMATRIX XMMatrixRotationY(FLOAT Angle)
Definition: xnamathmatrix.inl:1164
XMVECTOR XMLoadXDec4(_In_ CONST XMXDEC4 *pSource)
INT z
Definition: xnamath.h:742
struct _XMUSHORT2 XMUSHORT2
BOOL XMVector4NotEqual(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:9672
UINT v
Definition: xnamath.h:744
XMMATRIX XMLoadFloat3x3(_In_ CONST XMFLOAT3X3 *pSource)
UINT v
Definition: xnamath.h:1103
XMVECTOR XMVectorCos(FXMVECTOR V)
Definition: xnamathvector.inl:3353
XMVECTOR XMVector3ReciprocalLength(FXMVECTOR V)
Definition: xnamathvector.inl:7917
XMVECTOR XMVectorMin(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:2041
INT z
Definition: xnamath.h:602
Definition: xnamath.h:1092
UINT z
Definition: xnamath.h:637
#define XM_1DIVPI
Definition: xnamath.h:127
USHORT w
Definition: xnamath.h:1717
BOOL XMVector2EqualInt(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:5788
UINT XMVector3EqualR(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:7360
XMVECTOR XMLoadUShort4(_In_ CONST XMUSHORT4 *pSource)
Definition: xnamath.h:258
VOID XMQuaternionSquadSetup(_Out_ XMVECTOR *pA, _Out_ XMVECTOR *pB, _Out_ XMVECTOR *pC, FXMVECTOR Q0, FXMVECTOR Q1, FXMVECTOR Q2, CXMVECTOR Q3)
XMVECTOR XMVector4Orthogonal(FXMVECTOR V)
Definition: xnamathvector.inl:10606
XMVECTOR XMLoadInt2A(_In_count_c_(2) CONST UINT *PSource)
XMVECTOR XMVectorAbs(FXMVECTOR V)
Definition: xnamathvector.inl:3132
VOID XMStoreDec4(_Out_ XMDEC4 *pDestination, FXMVECTOR V)
INT64 y
Definition: xnamath.h:1423
Compilador desconhecido Dispositivo desconectado da porta O ficheiro já existe A guardar no buffer de cópia de segurança Ligação obtida Endereço público Colocando o disco na área de notificação Você saiu do jogo Este núcleo não suporta inter arquitetura de Netplay entre estes sistemas Introduza a palavra passe do Palavra passe incorreta O cliente Netplay foi desligado Não tem permissão para jogar Não é possível entrar no modo de reprodução A sua alcunha foi alterada para s Enable horizontal animation for the menu This will have a performance hit Sincroniza o hardware do processador e da GPU Reduz a com um custo no desempenho Volume de som Auto carregar estado da gravação de Ligando ao anfitrião de Netplay Vaga para ligação Palavra passe Nome de utilizador Nó da lista de contas Lista de conquistas Procurar conteúdo Importar conteúdo Perguntar Bloquear fotogramas Controlador de som Ativar som Turbo Zona morta Otimização de tempo máximo de som Taxa de saída de Controlo dinâmico de taxa de som Definições de som Nível de volume de Intervalo de auto gravação de SaveRAM Carregar os ficheiros de mapeamento automaticamente Voltar Informações Deslizar para baixo Iniciar Ativar Desativar menu Confirmar OK Sair Pré definições Ativar Desativar menu Ativar Bluetooth Cache Controlador de câmera Aplicar alterações Ficheiro de batota Gravar ficheiro de batota como Descrição Conquistas Bloqueada Testar conquista não oficial Desbloqueada Configurar Configuração Coleções Conteúdo Permitir a remoção de entradas Transferências Batota Mostrar nome do núcleo Autores Designação do núcleo Permissões Fabricante do sistema Mapeamento de teclas Opções Iniciar um núcleo automaticamente URL dos núcleos do buildbot Atualizador Núcleo do Cursor Rácio personalizado Seleção de base de dados Iniciar pasta< Pré-definição > Pasta não encontrada Estado do ciclo do disco na área de notificação Índice do disco Ignorar Transferir núcleo Ativar sobreposição de DPI Controlador Verificar por firmware em falta antes do carregamento de conteúdo Fundos dinâmicos Cor da entrada do menu quando sobreposta pelo cursor Falso Mostrar taxa de fotogramas Aceleração de fotogramas Carregar opções específicas de conteúdos de núcleos automaticamente Ficheiro de opções de jogo Solução de problemas de som vídeo Controlos principais do menu Carregando Conteúdo O que é um núcleo Histórico Imagem Informação Menu de teclas de todos os utilizadores Analógico esquerdo Analógico esquerdo Analógico esquerdo Y Analógico esquerdo Analógico direito X Analógico direito Analógico direito Y Analógico direito Gatilho pistola Pistola Auxiliar A Pistola Auxiliar C Select da pistola Botão Botão Botão Ativar auto configuração de teclas Menu trocar botões OK e Cancelar Associar todas as teclas pré definidas Esconder descritores de núcleo não consolidados Índice do dispositivo Controlador de entrada Associação de tecla de atalho Botão Botão Botão Botão Botão Botão Botão Botão R2(gatilho)") MSG_HASH(MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_R3
XMGLOBALCONST XMVECTORF32 g_XMIdentityR1
Definition: xnamath.h:2655
XMVECTOR XMVector4Cross(FXMVECTOR V1, FXMVECTOR V2, FXMVECTOR V3)
Definition: xnamathvector.inl:10010
XMVECTOR XMVectorRotateRight(FXMVECTOR V, UINT Elements)
XMVECTOR XMVectorInBounds(FXMVECTOR V, FXMVECTOR Bounds)
Definition: xnamathvector.inl:1890
Definition: xnamath.h:1021
XMVECTOR XMVectorATan2(FXMVECTOR Y, FXMVECTOR X)
Definition: xnamathvector.inl:4444
INT64 w
Definition: xnamath.h:1425
VOID XMStoreByteN4(_Out_ XMBYTEN4 *pDestination, FXMVECTOR V)
Definition: lobject.h:100
XMVECTOR XMVectorNegate(FXMVECTOR V)
Definition: xnamathvector.inl:2419
USHORT y
Definition: xnamath.h:1682
XMVECTOR XMVector3Dot(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:7798
CHAR y
Definition: xnamath.h:1592
XMVECTOR XMVectorMergeXY(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:1376
UINT XMVector2GreaterOrEqualR(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:5989
XMVECTOR XMVector3AngleBetweenVectors(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:8522
const GLdouble * v
Definition: glext.h:6391
XMMATRIX XMMatrixRotationAxis(FXMVECTOR Axis, FLOAT Angle)
Definition: xnamathmatrix.inl:1422
XMGLOBALCONST XMVECTORI32 g_XMMaskByte4
Definition: xnamath.h:2754
XMGLOBALCONST XMVECTORF32 g_XMIdentityR3
Definition: xnamath.h:2657
unsigned int BOOL
Definition: gctypes.h:51
INT64 x
Definition: xnamath.h:1386
UINT z
Definition: xnamath.h:672
FLOAT _34
Definition: xnamath.h:344
XMMATRIX XMMatrixLookAtLH(FXMVECTOR EyePosition, FXMVECTOR FocusPosition, FXMVECTOR UpDirection)
Definition: xnamathmatrix.inl:2012
_DECLSPEC_ALIGN_16_ struct XMVECTORI32 XMVECTORI32
#define XMFINLINE
Definition: xnamath.h:89
XMVECTOR XMLoadU555(_In_ CONST XMU555 *pSource)
UINT b
Definition: xnamath.h:1530
VOID XMStoreInt4NC(_Out_ UINT *pDestination, FXMVECTOR V)
struct _XMSHORTN2 XMSHORTN2
XMVECTOR XMVector2LengthSq(FXMVECTOR V)
Definition: xnamathvector.inl:6241
Definition: xnamath.h:943
INT64 y
Definition: xnamath.h:1315
XMVECTOR XMVector4Length(FXMVECTOR V)
Definition: xnamathvector.inl:10200
XMVECTOR XMLoadShort2(_In_ CONST XMSHORT2 *pSource)
XMMATRIX XMMatrixOrthographicOffCenterRH(FLOAT ViewLeft, FLOAT ViewRight, FLOAT ViewBottom, FLOAT ViewTop, FLOAT NearZ, FLOAT FarZ)
Definition: xnamathmatrix.inl:2824
VOID XMStoreDecN4(_Out_ XMDECN4 *pDestination, FXMVECTOR V)
XMGLOBALCONST XMVECTORF32 g_XMASinCoefficients1
Definition: xnamath.h:2642
VOID XMVectorSinCosEst(_Out_ XMVECTOR *pSin, _Out_ XMVECTOR *pCos, FXMVECTOR V)
UINT64 z
Definition: xnamath.h:1496
XMVECTOR XMVectorGreater(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:1684
#define P2(a, b, c, d, e, r, s, rp, sp)
const XMVECTOR CXMVECTOR
Definition: xnamath.h:303
FLOAT XMScalarSin(FLOAT Value)
Definition: xnamathmisc.inl:2013
#define XM_2PI
Definition: xnamath.h:126
struct _XMUICON4 XMUICON4
struct _XMUHENDN3 XMUHENDN3
XMGLOBALCONST XMVECTORI32 g_XMFlipZW
Definition: xnamath.h:2731
XMVECTOR XMLoadColor(_In_ CONST XMCOLOR *pSource)
FLOAT XMScalarCos(FLOAT Value)
Definition: xnamathmisc.inl:2056
UINT ym
Definition: xnamath.h:919
XMVECTOR XMVector3Normalize(FXMVECTOR V)
Definition: xnamathvector.inl:8065
XMVECTOR XMVector4NormalizeEst(FXMVECTOR V)
Definition: xnamathvector.inl:10240
GLboolean GLboolean g
Definition: glext.h:6844
Definition: xnamath.h:481
XMFLOAT3 * XMVector3UnprojectStream(_Out_bytecap_x_(sizeof(XMFLOAT3)+OutputStride *(VectorCount-1)) XMFLOAT3 *pOutputStream, _In_ UINT OutputStride, _In_bytecount_x_(sizeof(XMFLOAT3)+InputStride *(VectorCount-1)) CONST XMFLOAT3 *pInputStream, _In_ UINT InputStride, _In_ UINT VectorCount, FLOAT ViewportX, FLOAT ViewportY, FLOAT ViewportWidth, FLOAT ViewportHeight, FLOAT ViewportMinZ, FLOAT ViewportMaxZ, CXMMATRIX Projection, CXMMATRIX View, CXMMATRIX World)
SHORT y
Definition: xnamath.h:444
const XMVECTOR FXMVECTOR
Definition: xnamath.h:294
FLOAT _31
Definition: xnamath.h:1780
UINT XMVector4InBoundsR(FXMVECTOR V, FXMVECTOR Bounds)
Definition: xnamathvector.inl:9894
UINT64 y
Definition: xnamath.h:1459
FLOAT _31
Definition: xnamath.h:1834
XMGLOBALCONST XMVECTORF32 g_XMAddHenD3
Definition: xnamath.h:2736
UINT c
Definition: xnamath.h:1535
BOOL XMVector4LessOrEqual(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:9847
VOID XMStoreUByteN4(_Out_ XMUBYTEN4 *pDestination, FXMVECTOR V)
INT z
Definition: xnamath.h:1208
VOID XMStoreUShort4(_Out_ XMUSHORT4 *pDestination, FXMVECTOR V)
VOID XMStoreByte4(_Out_ XMBYTE4 *pDestination, FXMVECTOR V)
VOID XMStoreUDHenN3(_Out_ XMUDHENN3 *pDestination, FXMVECTOR V)
XMVECTOR XMLoadInt4A(_In_count_c_(4) CONST UINT *pSource)
VOID XMVectorGetIntXPtr(_Out_ UINT *x, FXMVECTOR V)
VOID XMStoreXIcoN4(_Out_ XMXICON4 *pDestination, FXMVECTOR V)
XMVECTOR XMVector4ClampLength(FXMVECTOR V, FLOAT LengthMin, FLOAT LengthMax)
Definition: xnamathvector.inl:10340
FLOAT _23
Definition: xnamath.h:1779
INT w
Definition: xnamath.h:1173
XMVECTOR XMVectorRotateLeft(FXMVECTOR V, UINT Elements)
Definition: xnamath.h:421
XMMATRIX XMMatrixTranslation(FLOAT OffsetX, FLOAT OffsetY, FLOAT OffsetZ)
Definition: xnamathmatrix.inl:945
UINT64 v
Definition: xnamath.h:1391
Definition: xnamath.h:1488
XMMATRIX XMMatrixRotationZ(FLOAT Angle)
Definition: xnamathmatrix.inl:1219
XMMATRIX XMLoadFloat4x4(_In_ CONST XMFLOAT4X4 *pSource)
USHORT y
Definition: xnamath.h:1715
FLOAT _24
Definition: xnamath.h:343
XMGLOBALCONST XMVECTORF32 g_XMAddUDec4
Definition: xnamath.h:2751
XMVECTOR XMVectorReciprocalEst(FXMVECTOR V)
Definition: xnamathvector.inl:2713
XMVECTOR XMLoadDHenN3(_In_ CONST XMDHENN3 *pSource)
Ιστορικό Εικόνα Πληροφορίες Όλοι Οι Χρήστες Χειρίζονται Το Μενού Αριστερό Αναλογικό Αριστερό Αναλογικό Αριστερό Αναλογικό Y Αριστερό Αναλογικό Δεξί Αναλογικό X Δεξί Αναλογικό Δεξί Αναλογικό Y Δεξί Αναλογικό Σκανδάλη Όπλου Όπλο Aux A Όπλο Aux C Όπλο Select Όπλο D pad Κάτω Όπλο D pad Δεξιά Νεκρή Ζώνη Αναλογικού Σύνδεση Όλων Λήξη Χρόνου Σύνδεσης Hide Unbound Core Input Descriptors Κατάλογος Συσκευών Κατάλογος Ποντικιού Duty Cycle Keyboard Gamepad Mapping Enable Κουμπί D pad κάτω Κουμπί Κουμπί D pad αριστερό Κουμπί R3(αντίχειρας)" ) MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_R
XMVECTOR XMLoadUNibble4(_In_ CONST XMUNIBBLE4 *pSource)
BOOL XMVector4Equal(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:9517
struct _XMUSHORTN4 XMUSHORTN4
VOID XMVectorGetXPtr(_Out_ FLOAT *x, FXMVECTOR V)
struct _XMFLOAT3 XMFLOAT3
XMFLOAT2 * XMVector2TransformNormalStream(_Out_bytecap_x_(sizeof(XMFLOAT2)+OutputStride *(VectorCount-1)) XMFLOAT2 *pOutputStream, _In_ UINT OutputStride, _In_bytecount_x_(sizeof(XMFLOAT2)+InputStride *(VectorCount-1)) CONST XMFLOAT2 *pInputStream, _In_ UINT InputStride, _In_ UINT VectorCount, CXMMATRIX M)
FLOAT _32
Definition: xnamath.h:1834
XMGLOBALCONST XMVECTORF32 g_XMSinCoefficients2
Definition: xnamath.h:2634
USHORT z
Definition: xnamath.h:1716
UINT XMVector2GreaterR(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:5932
XMVECTOR XMQuaternionBaryCentric(FXMVECTOR Q0, FXMVECTOR Q1, FXMVECTOR Q2, FLOAT f, FLOAT g)
Definition: xnamathmisc.inl:681
UINT XMVectorGetIntByIndex(FXMVECTOR V, UINT i)
Definition: xnamathvector.inl:503
Definition: glslang_tab.cpp:135
XMVECTOR XMVectorScale(FXMVECTOR V, FLOAT ScaleFactor)
Definition: xnamathvector.inl:2689
USHORT z
Definition: xnamath.h:1683
XMFINLINE FLOAT XMConvertToRadians(FLOAT fDegrees)
Definition: xnamath.h:159
XMMATRIX XMMatrixPerspectiveOffCenterRH(FLOAT ViewLeft, FLOAT ViewRight, FLOAT ViewBottom, FLOAT ViewTop, FLOAT NearZ, FLOAT FarZ)
Definition: xnamathmatrix.inl:2540
SHORT x
Definition: xnamath.h:1001
Definition: xnamath.h:1452
FLOAT _14
Definition: xnamath.h:342
XMVECTOR XMLoadDec4(_In_ CONST XMDEC4 *pSource)
UINT y
Definition: xnamath.h:776
VOID XMStoreFloat(_Out_ FLOAT *pDestination, FXMVECTOR V)
XMMATRIX XMMatrixRotationNormal(FXMVECTOR NormalAxis, FLOAT Angle)
Definition: xnamathmatrix.inl:1309
XMMATRIX XMLoadFloat4x4A(_In_ CONST XMFLOAT4X4A *pSource)
XMVECTOR XMVectorSetIntYPtr(FXMVECTOR V, _In_ CONST UINT *y)
FLOAT XMScalarASinEst(FLOAT Value)
Definition: xnamathmisc.inl:2375
XMVECTOR XMVectorSetYPtr(FXMVECTOR V, _In_ CONST FLOAT *y)
UINT XMVector4EqualR(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:9535
USHORT z
Definition: xnamath.h:1047
XMVECTOR XMVectorSetX(FXMVECTOR V, FLOAT x)
Definition: xnamathvector.inl:673
UINT z
Definition: xnamath.h:1280
XMMATRIX XMMatrixOrthographicLH(FLOAT ViewWidth, FLOAT ViewHeight, FLOAT NearZ, FLOAT FarZ)
Definition: xnamathmatrix.inl:2618
UINT64 z
Definition: xnamath.h:1460
Definition: glslang_tab.cpp:136
VOID XMStoreFloat4x4NC(_Out_ XMFLOAT4X4 *pDestination, CXMMATRIX M)
UINT64 x
Definition: xnamath.h:1458
#define X(a, b)
Definition: bba.c:185
BOOL XMPlaneNotEqual(FXMVECTOR P1, FXMVECTOR P2)
Definition: xnamathmisc.inl:1097
Definition: xnamath.h:272
BYTE x
Definition: xnamath.h:1621
INT64 z
Definition: xnamath.h:1424
CHAR x
Definition: xnamath.h:1591
BOOL XMVerifyCPUSupport()
Definition: xnamathmisc.inl:1817
Definition: xnamath.h:1416
VOID XMStoreXDec4(_Out_ XMXDEC4 *pDestination, FXMVECTOR V)
FLOAT _11
Definition: xnamath.h:1778
XMGLOBALCONST XMVECTORF32 g_XMNegativeTwoPi
Definition: xnamath.h:2675
XMVECTOR XMVectorSet(FLOAT x, FLOAT y, FLOAT z, FLOAT w)
Definition: xnamathvector.inl:52
INT y
Definition: xnamath.h:601
UINT u[4]
Definition: xnamath.h:274
Definition: xnamath.h:1065
XMVECTOR XMVectorSetIntByIndex(FXMVECTOR V, UINT x, UINT i)
Definition: xnamathvector.inl:915
XMVECTOR XMLoadFloat(_In_ CONST FLOAT *pSource)
XMVECTOR XMVectorCeiling(FXMVECTOR V)
Definition: xnamathvector.inl:2206
FLOAT _21
Definition: xnamath.h:1748
XMVECTOR XMQuaternionExp(FXMVECTOR Q)
Definition: xnamathmisc.inl:370
BOOL XMColorIsNaN(FXMVECTOR C)
Definition: xnamathmisc.inl:1667
BOOL XMVector3GreaterOrEqual(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:7585
Definition: xnamath.h:1380
VOID XMStoreShort2(_Out_ XMSHORT2 *pDestination, FXMVECTOR V)
FLOAT _13
Definition: xnamath.h:1778
XMVECTOR XMVectorMultiplyAdd(FXMVECTOR V1, FXMVECTOR V2, FXMVECTOR V3)
Definition: xnamathvector.inl:2617
XMMATRIX XMMatrixPerspectiveLH(FLOAT ViewWidth, FLOAT ViewHeight, FLOAT NearZ, FLOAT FarZ)
Definition: xnamathmatrix.inl:2144
UINT64 w
Definition: xnamath.h:1317
XMVECTOR XMVector2ReciprocalLength(FXMVECTOR V)
Definition: xnamathvector.inl:6294
XMMATRIX XMMatrixIdentity()
Definition: xnamathmatrix.inl:900
XMGLOBALCONST XMVECTORI32 g_XMXorByte4
Definition: xnamath.h:2755
struct _XMUNIBBLE4 XMUNIBBLE4
VOID XMStoreUDec4(_Out_ XMUDEC4 *pDestination, FXMVECTOR V)
BOOL XMColorLess(FXMVECTOR C1, FXMVECTOR C2)
Definition: xnamathmisc.inl:1645
Definition: glslang_tab.cpp:133
XMVECTOR XMPlaneFromPoints(FXMVECTOR Point1, FXMVECTOR Point2, FXMVECTOR Point3)
Definition: xnamathmisc.inl:1538
XMVECTOR XMVectorSetY(FXMVECTOR V, FLOAT y)
Definition: xnamathvector.inl:698
XMVECTOR XMVector3LinePointDistance(FXMVECTOR LinePoint1, FXMVECTOR LinePoint2, FXMVECTOR Point)
Definition: xnamathvector.inl:8577
XMVECTOR XMVectorInsert(FXMVECTOR VD, FXMVECTOR VS, UINT VSLeftRotateElements, UINT Select0, UINT Select1, UINT Select2, UINT Select3)
XMGLOBALCONST XMVECTORF32 g_XMHalfPi
Definition: xnamath.h:2677
BOOL XMMatrixIsInfinite(CXMMATRIX M)
Definition: xnamathmatrix.inl:83
XMFINLINE FLOAT XMConvertToDegrees(FLOAT fRadians)
Definition: xnamath.h:160
XMVECTOR XMLoadByteN4(_In_ CONST XMBYTEN4 *pSource)
CHAR w
Definition: xnamath.h:1564
FLOAT _41
Definition: xnamath.h:1835
FLOAT _43
Definition: xnamath.h:345
XMGLOBALCONST XMVECTORI32 g_XMFltMax
Definition: xnamath.h:2688
XMGLOBALCONST XMVECTORI32 g_XMQNaN
Definition: xnamath.h:2684
XMVECTOR XMVectorATanEst(FXMVECTOR V)
Definition: xnamathvector.inl:5114
BOOL XMPlaneIsNaN(FXMVECTOR P)
Definition: xnamathmisc.inl:1108
XMVECTOR XMVectorSetIntByIndexPtr(FXMVECTOR V, _In_ CONST UINT *x, UINT i)
XMGLOBALCONST XMVECTORI32 g_XMXorDHen3
Definition: xnamath.h:2741
XMVECTOR XMLoadDecN4(_In_ CONST XMDECN4 *pSource)
HALF x
Definition: xnamath.h:423
XMVECTOR XMConvertVectorIntToFloat(FXMVECTOR VInt, UINT DivExponent)
BOOL XMVector4Less(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:9829
BOOL XMVector4Greater(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:9708
XMGLOBALCONST XMVECTORI32 g_XMFlipZ
Definition: xnamath.h:2728
XMVECTOR XMVectorSplatY(FXMVECTOR V)
Definition: xnamathvector.inl:205
XMVECTOR XMVector3AngleBetweenNormalsEst(FXMVECTOR N1, FXMVECTOR N2)
Definition: xnamathvector.inl:8456
XMVECTOR XMVector4Normalize(FXMVECTOR V)
Definition: xnamathvector.inl:10278
XMVECTOR XMVector2ClampLength(FXMVECTOR V, FLOAT LengthMin, FLOAT LengthMax)
Definition: xnamathvector.inl:6463
#define XMASSERT(Expression)
Definition: xnamath.h:104
XMMATRIX XMMatrixRotationX(FLOAT Angle)
Definition: xnamathmatrix.inl:1108
SHORT x
Definition: xnamath.h:463
UINT XMVector3EqualIntR(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:7418
XMMATRIX XMMatrixMultiply(CXMMATRIX M1, CXMMATRIX M2)
Definition: xnamathmatrix.inl:186
XMVECTOR XMVectorMergeZW(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:1401
XMVECTOR XMVectorHermiteV(FXMVECTOR Position0, FXMVECTOR Tangent0, FXMVECTOR Position1, CXMVECTOR Tangent1, CXMVECTOR T)
Definition: xnamathvector.inl:5418
BOOL XMPlaneNearEqual(FXMVECTOR P1, FXMVECTOR P2, FXMVECTOR Epsilon)
Definition: xnamathmisc.inl:1083
XMVECTOR XMVector2Reflect(FXMVECTOR Incident, FXMVECTOR Normal)
Definition: xnamathvector.inl:6593
BOOL XMVector4GreaterOrEqual(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:9768
FLOAT _33
Definition: xnamath.h:344
XMVECTOR XMVectorCatmullRomV(FXMVECTOR Position0, FXMVECTOR Position1, FXMVECTOR Position2, CXMVECTOR Position3, CXMVECTOR T)
Definition: xnamathvector.inl:5561
XMVECTOR XMVectorMod(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:3157
XMGLOBALCONST XMVECTORI32 g_XMAbsMask
Definition: xnamath.h:2686
XMFLOAT3 * XMVector3ProjectStream(_Out_bytecap_x_(sizeof(XMFLOAT3)+OutputStride *(VectorCount-1)) XMFLOAT3 *pOutputStream, _In_ UINT OutputStride, _In_bytecount_x_(sizeof(XMFLOAT3)+InputStride *(VectorCount-1)) CONST XMFLOAT3 *pInputStream, _In_ UINT InputStride, _In_ UINT VectorCount, FLOAT ViewportX, FLOAT ViewportY, FLOAT ViewportWidth, FLOAT ViewportHeight, FLOAT ViewportMinZ, FLOAT ViewportMaxZ, CXMMATRIX Projection, CXMMATRIX View, CXMMATRIX World)
FLOAT XMConvertHalfToFloat(HALF Value)
Definition: xnamathconvert.inl:73
XMVECTOR XMVectorReplicateIntPtr(_In_ CONST UINT *pValue)
UINT v
Definition: xnamath.h:779
XMGLOBALCONST XMVECTORF32 g_XMOne3
Definition: xnamath.h:2670
XMVECTOR XMVectorCosH(FXMVECTOR V)
Definition: xnamathvector.inl:3887
XMVECTOR XMVectorSetIntY(FXMVECTOR V, UINT y)
Definition: xnamathvector.inl:962
XMVECTOR XMVector2Cross(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:6208
struct _XMFLOAT3X3 XMFLOAT3X3
XMGLOBALCONST XMVECTORF32 g_XMNegativeOneHalf
Definition: xnamath.h:2674
USHORT x
Definition: xnamath.h:1045
Definition: xnamath.h:461
XMMATRIX XMMatrixPerspectiveFovRH(FLOAT FovAngleY, FLOAT AspectHByW, FLOAT NearZ, FLOAT FarZ)
Definition: xnamathmatrix.inl:2387
GLubyte GLubyte GLubyte GLubyte w
Definition: glext.h:6742
XMVECTOR XMPlaneDotCoord(FXMVECTOR P, FXMVECTOR V)
Definition: xnamathmisc.inl:1156
XMVECTOR XMVector4Reflect(FXMVECTOR Incident, FXMVECTOR Normal)
Definition: xnamathvector.inl:10474
XMVECTOR XMVector3ClampLengthV(FXMVECTOR V, FXMVECTOR LengthMin, FXMVECTOR LengthMax)
Definition: xnamathvector.inl:8147
XMGLOBALCONST XMVECTORF32 g_XMPiConstants0
Definition: xnamath.h:2653
UINT v
Definition: xnamath.h:569
BOOL XMQuaternionIsIdentity(FXMVECTOR Q)
Definition: xnamathmisc.inl:76
UINT z
Definition: xnamath.h:1244
Definition: xnamath.h:804
FLOAT _34
Definition: xnamath.h:1834
XMVECTOR XMVector4LengthSq(FXMVECTOR V)
Definition: xnamathvector.inl:10074
XMVECTOR XMVectorXorInt(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:2389
XMVECTOR XMVectorSplatQNaN()
Definition: xnamathvector.inl:298
UINT64 v
Definition: xnamath.h:1499
XMVECTOR XMLoadInt2(_In_count_c_(2) CONST UINT *pSource)
XMMATRIX XMMatrixOrthographicRH(FLOAT ViewWidth, FLOAT ViewHeight, FLOAT NearZ, FLOAT FarZ)
Definition: xnamathmatrix.inl:2683
XMVECTOR XMLoadXIco4(_In_ CONST XMXICO4 *pSource)
UINT ye
Definition: xnamath.h:882
USHORT x
Definition: xnamath.h:483
struct _XMDECN4 XMDECN4
Definition: xnamath.h:389
Definition: xnamath.h:1741
VOID XMStoreFloat4x4(_Out_ XMFLOAT4X4 *pDestination, CXMMATRIX M)
VOID XMStoreInt(_Out_ UINT *pDestination, FXMVECTOR V)
BOOL XMPlaneEqual(FXMVECTOR P1, FXMVECTOR P2)
Definition: xnamathmisc.inl:1072
SHORT x
Definition: xnamath.h:443
XMVECTOR XMLoadFloat3(_In_ CONST XMFLOAT3 *pSource)
BYTE z
Definition: xnamath.h:1653
struct _XMUDHEN3 XMUDHEN3
BOOL XMColorGreater(FXMVECTOR C1, FXMVECTOR C2)
Definition: xnamathmisc.inl:1623
USHORT x
Definition: xnamath.h:1681
UINT r
Definition: xnamath.h:1532
XMGLOBALCONST XMVECTORF32 g_XMCosCoefficients1
Definition: xnamath.h:2636
XMVECTOR XMVector3Project(FXMVECTOR V, FLOAT ViewportX, FLOAT ViewportY, FLOAT ViewportWidth, FLOAT ViewportHeight, FLOAT ViewportMinZ, FLOAT ViewportMaxZ, CXMMATRIX Projection, CXMMATRIX View, CXMMATRIX World)
Definition: xnamathvector.inl:9127
#define VOID(p)
Definition: luac.c:224
VOID XMStoreHalf4(_Out_ XMHALF4 *pDestination, FXMVECTOR V)
XMMATRIX XMMatrixReflect(FXMVECTOR ReflectionPlane)
Definition: xnamathmatrix.inl:1874
#define _y
Definition: gx2_shader_inl.h:114
XMVECTOR XMPlaneDot(FXMVECTOR P, FXMVECTOR V)
Definition: xnamathmisc.inl:1132
Definition: xnamath.h:769
BYTE y
Definition: xnamath.h:1622
XMGLOBALCONST XMVECTORI32 g_XMMaskX
Definition: xnamath.h:2665
XMVECTOR XMVectorLog(FXMVECTOR V)
Definition: xnamathvector.inl:3056
XMVECTOR XMVectorClamp(FXMVECTOR V, FXMVECTOR Min, FXMVECTOR Max)
Definition: xnamathvector.inl:2231
struct _XMBYTEN4 XMBYTEN4
UINT w
Definition: xnamath.h:1101
FLOAT _23
Definition: xnamath.h:343
USHORT x
Definition: xnamath.h:1714
XMVECTOR XMVectorEqual(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:1430
XMVECTOR XMPlaneNormalize(FXMVECTOR P)
Definition: xnamathmisc.inl:1237
struct _XMHALF4 XMHALF4
Definition: xnamath.h:1708
#define F(x, y, z)
VOID XMStoreFloat3SE(_Out_ XMFLOAT3SE *pDestination, FXMVECTOR V)
XMVECTOR XMQuaternionIdentity()
Definition: xnamathmisc.inl:758
XMGLOBALCONST XMVECTORI32 g_XMMaskDec4
Definition: xnamath.h:2749
VOID XMVectorGetIntWPtr(_Out_ UINT *w, FXMVECTOR V)
XMVECTOR XMConvertVectorUIntToFloat(FXMVECTOR VUInt, UINT DivExponent)
XMGLOBALCONST XMVECTORF32 g_XMMulHenD3
Definition: xnamath.h:2738
XMVECTOR XMLoadUDHen3(_In_ CONST XMUDHEN3 *pSource)
VOID XMStoreInt3A(_Out_cap_c_(3) UINT *pDestination, FXMVECTOR V)
XMVECTOR XMVector2TransformCoord(FXMVECTOR V, CXMMATRIX M)
Definition: xnamathvector.inl:7113
XMVECTOR XMVectorIsInfinite(FXMVECTOR V)
Definition: xnamathvector.inl:2010
INT y
Definition: xnamath.h:566
BOOL XMQuaternionIsNaN(FXMVECTOR Q)
Definition: xnamathmisc.inl:56
XMVECTOR XMVectorSplatEpsilon()
Definition: xnamathvector.inl:315
XMVECTOR XMLoadHalf4(_In_ CONST XMHALF4 *pSource)
VOID XMStoreUIco4(_Out_ XMUICO4 *pDestination, FXMVECTOR V)
XMVECTOR XMVector3Cross(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:7833
INT y
Definition: xnamath.h:741
#define XM_PERMUTE_0Y
Definition: xnamath.h:136
XMVECTOR XMLoadUShort2(_In_ CONST XMUSHORT2 *pSource)
BOOL XMColorEqual(FXMVECTOR C1, FXMVECTOR C2)
Definition: xnamathmisc.inl:1601
VOID XMStoreFloat4A(_Out_ XMFLOAT4A *pDestination, FXMVECTOR V)
XMGLOBALCONST XMVECTORF32 g_XMNegIdentityR2
Definition: xnamath.h:2660
UINT XMVector4EqualIntR(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:9598
UINT v
Definition: xnamath.h:674
#define _w
Definition: gx2_shader_inl.h:116
BOOL XMVector3NotEqualInt(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:7508
UINT y
Definition: xnamath.h:671
XMVECTOR XMLoadUIcoN4(_In_ CONST XMUICON4 *pSource)
VOID XMStoreShort4(_Out_ XMSHORT4 *pDestination, FXMVECTOR V)
VOID XMStoreUHenD3(_Out_ XMUHEND3 *pDestination, FXMVECTOR V)
BYTE z
Definition: xnamath.h:1623
BOOL XMVector4IsInfinite(FXMVECTOR V)
Definition: xnamathvector.inl:9950
VOID XMVectorGetIntYPtr(_Out_ UINT *y, FXMVECTOR V)
const XMMATRIX CXMMATRIX
Definition: xnamath.h:380
XMVECTOR XMVectorTanH(FXMVECTOR V)
Definition: xnamathvector.inl:3929
VOID XMQuaternionToAxisAngle(_Out_ XMVECTOR *pAxis, _Out_ FLOAT *pAngle, FXMVECTOR Q)
BOOL XMVector2IsNaN(FXMVECTOR V)
Definition: xnamathvector.inl:6123
XMGLOBALCONST XMVECTORI32 g_XMMaskY
Definition: xnamath.h:2666
XMMATRIX XMLoadFloat4x3(_In_ CONST XMFLOAT4X3 *pSource)
XMGLOBALCONST XMVECTORI32 g_XMMaskX16Y16Z16W16
Definition: xnamath.h:2702
XMGLOBALCONST XMVECTORI32 g_XMMaskZ
Definition: xnamath.h:2667
INT x
Definition: xnamath.h:1206
XMVECTOR XMLoadFloat3A(_In_ CONST XMFLOAT3A *pSource)
XMVECTOR v
Definition: xnamath.h:232
UINT ze
Definition: xnamath.h:884
XMGLOBALCONST XMVECTORI32 g_XMFlipYW
Definition: xnamath.h:2732
XMVECTOR XMVectorSplatConstant(INT IntConstant, UINT DivExponent)
XMVECTOR XMVector4LengthEst(FXMVECTOR V)
Definition: xnamathvector.inl:10162
XMGLOBALCONST XMVECTORI32 g_XMSwizzleYZXW
Definition: xnamath.h:2721
XMVECTOR XMVector4AngleBetweenNormalsEst(FXMVECTOR N1, FXMVECTOR N2)
Definition: xnamathvector.inl:10631
XMVECTOR XMVector3TransformCoord(FXMVECTOR V, CXMMATRIX M)
Definition: xnamathvector.inl:8870
INT w
Definition: xnamath.h:1209
XMVECTOR XMVector2IntersectLine(FXMVECTOR Line1Point1, FXMVECTOR Line1Point2, FXMVECTOR Line2Point1, CXMVECTOR Line2Point2)
Definition: xnamathvector.inl:6907
XMGLOBALCONST XMVECTORF32 g_XMIdentityR0
Definition: xnamath.h:2654
const GLfloat * m
Definition: glext.h:11755
USHORT z
Definition: xnamath.h:842
XMGLOBALCONST XMVECTORF32 g_XMNegateW
Definition: xnamath.h:2711
VOID XMStoreDHenN3(_Out_ XMDHENN3 *pDestination, FXMVECTOR V)
FLOAT XMVectorGetZ(FXMVECTOR V)
Definition: xnamathvector.inl:398
VOID XMStoreUHenDN3(_Out_ XMUHENDN3 *pDestination, FXMVECTOR V)
XMVECTOR XMVectorPermute(FXMVECTOR V1, FXMVECTOR V2, FXMVECTOR Control)
Definition: xnamathvector.inl:1228
XMVECTOR XMVector4AngleBetweenVectors(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:10697
XMGLOBALCONST XMVECTORI32 g_XMFlipX16Y16Z16W16
Definition: xnamath.h:2703
BOOL XMVector2InBounds(FXMVECTOR V, FXMVECTOR Bounds)
Definition: xnamathvector.inl:6064
CHAR w
Definition: xnamath.h:1594
XMVECTOR XMVectorSetW(FXMVECTOR V, FLOAT w)
Definition: xnamathvector.inl:759
INT y
Definition: xnamath.h:1099
FLOAT x
Definition: xnamath.h:945
XMVECTOR XMVectorSqrt(FXMVECTOR V)
Definition: xnamathvector.inl:2796
XMVECTOR XMLoadShortN4(_In_ CONST XMSHORTN4 *pSource)
XMVECTOR XMVectorSinEst(FXMVECTOR V)
Definition: xnamathvector.inl:4573
FLOAT _43
Definition: xnamath.h:1781
XMVECTOR XMQuaternionRotationNormal(FXMVECTOR NormalAxis, FLOAT Angle)
Definition: xnamathmisc.inl:856
#define XMGLOBALCONST
Definition: xnamath.h:2630
_DECLSPEC_ALIGN_16_ struct XMVECTORU32 XMVECTORU32
UINT v
Definition: xnamath.h:886
UINT64 v
Definition: xnamath.h:1463
XMGLOBALCONST XMVECTORI32 g_XMOneHalfMinusEpsilon
Definition: xnamath.h:2714
#define XM_1DIV2PI
Definition: xnamath.h:128
XMGLOBALCONST XMVECTORI32 g_XMMaskIco4
Definition: xnamath.h:2742
VOID XMStoreFloat2A(_Out_ XMFLOAT2A *pDestination, FXMVECTOR V)
XMMATRIX XMMatrixSet(FLOAT m00, FLOAT m01, FLOAT m02, FLOAT m03, FLOAT m10, FLOAT m11, FLOAT m12, FLOAT m13, FLOAT m20, FLOAT m21, FLOAT m22, FLOAT m23, FLOAT m30, FLOAT m31, FLOAT m32, FLOAT m33)
Definition: xnamathmatrix.inl:925
XMGLOBALCONST XMVECTORF32 g_XMOne
Definition: xnamath.h:2669
XMGLOBALCONST XMVECTORI32 g_XMMaskW
Definition: xnamath.h:2668
#define S1(x)
Definition: sha256.c:160
XMGLOBALCONST XMVECTORI32 g_XMSelect1110
Definition: xnamath.h:2717
XMVECTOR XMQuaternionSlerp(FXMVECTOR Q0, FXMVECTOR Q1, FLOAT t)
Definition: xnamathmisc.inl:426
XMVECTOR XMQuaternionRotationMatrix(CXMMATRIX M)
Definition: xnamathmisc.inl:931
BOOL XMVector2Greater(FXMVECTOR V1, FXMVECTOR V2)
Definition: xnamathvector.inl:5912
UINT64 w
Definition: xnamath.h:1353
SHORT w
Definition: xnamath.h:1004
USHORT y
Definition: xnamath.h:484
XMGLOBALCONST XMVECTORI32 g_XMNegOneMask
Definition: xnamath.h:2689
XMVECTOR XMVectorACos(FXMVECTOR V)
Definition: xnamathvector.inl:4105
XMGLOBALCONST XMVECTORI32 g_XMXorHenD3
Definition: xnamath.h:2740
XMVECTOR XMVector2Refract(FXMVECTOR Incident, FXMVECTOR Normal, FLOAT RefractionIndex)
Definition: xnamathvector.inl:6623
XMVECTOR XMLoadFloat4A(_In_ CONST XMFLOAT4A *pSource)
T Min(const T a, const T b)
Definition: Common.h:206
FLOAT _42
Definition: xnamath.h:345
UINT v
Definition: xnamath.h:639
XMVECTOR XMVector2Transform(FXMVECTOR V, CXMMATRIX M)
Definition: xnamathvector.inl:6993
UINT w
Definition: xnamath.h:1245
INT z
Definition: xnamath.h:1100
XMVECTOR XMVectorASinEst(FXMVECTOR V)
Definition: xnamathvector.inl:4953
VOID XMStoreFloat3x3NC(_Out_ XMFLOAT3X3 *pDestination, CXMMATRIX M)
XMVECTOR XMLoadDHen3(_In_ CONST XMDHEN3 *pSource)