1
0
mirror of https://github.com/microsoft/DirectXMath synced 2024-11-09 14:10:09 +00:00

Updated Home (markdown)

Chuck Walbourn 2021-09-18 16:21:07 -07:00
parent 4289b269d4
commit 7237a32eed

@ -99,6 +99,7 @@ See [this blog post](https://seanmiddleditch.com/matrices-handedness-pre-and-pos
Be sure to read the [Microsoft Docs](https://docs.microsoft.com/en-us/windows/desktop/dxmath/pg-xnamath-internals#Call_Conventions) details on the calling convention types which are designed to deal with the various architectures and vector calling conventions. The best way to ensure you have them correct is to attempt to build your code with x86, x64, and ARM.
# Language extensions
DirectXMath is written using standard Intel-style intrinsics, which should be portable to other compilers. The ARM and ARM64 codepaths use ARM-style intrinsics (earlier versions of the library used Visual C++ specific ``__n64`` and ``__n128``), so these are also portable.
The DirectXMath library make use of two commonly implemented extensions to Standard C++:
@ -110,11 +111,11 @@ The DirectXMath library make use of two commonly implemented extensions to Stand
# Compiler support
In addition to Microsoft Visual C++, the library has been compiled with the Intel C++ 18.0 compiler, clang/LLVM v9, and GNUC 9 to verify conformance. It should also work with MinGW.
Officially the library is supported with Microsoft Visual C++ 2017 or later, clang/LLVM v9 or later, and GCC 9 or later. It should also compile with the Intel C++ and MinGW compilers.
When building with clang/LLVM or other GNU C compilers, the ``_XM_NO_XMVECTOR_OVERLOADS_`` control define is set because these compilers do not support creating operator overloads for the ``XMVECTOR`` type. You can choose to enable this preprocessor define explicitly to do the same thing with Visual C++ for improved portability.
For non-Windows platforms, you should use the open source version of [sal.h](https://github.com/dotnet/corert/blob/master/src/Native/inc/unix/sal.h) in your include search path.
To build for non-Windows platforms, you need to provide a ``sal.h`` header in your include path. You can obtain an open source version from [GitHub](https://github.com/dotnet/corert/blob/master/src/Native/inc/unix/sal.h).
## Intel Short Vector Math Library