Rev 1 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 1 | Rev 8 | ||
|---|---|---|---|
| Line 1... | Line 1... | ||
| 1 | /* |
1 | /* |
| 2 | Simple DirectMedia Layer |
2 | Simple DirectMedia Layer |
| 3 | Copyright (C) 1997- |
3 | Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org> |
| 4 | 4 | ||
| 5 | This software is provided 'as-is', without any express or implied |
5 | This software is provided 'as-is', without any express or implied |
| 6 | warranty. In no event will the authors be held liable for any damages |
6 | warranty. In no event will the authors be held liable for any damages |
| 7 | arising from the use of this software. |
7 | arising from the use of this software. |
| 8 | 8 | ||
| Line 49... | Line 49... | ||
| 49 | #endif /* __clang__ */ |
49 | #endif /* __clang__ */ |
| 50 | #elif defined(__MINGW64_VERSION_MAJOR) |
50 | #elif defined(__MINGW64_VERSION_MAJOR) |
| 51 | #include <intrin.h> |
51 | #include <intrin.h> |
| 52 | #else |
52 | #else |
| 53 | #ifdef __ALTIVEC__ |
53 | #ifdef __ALTIVEC__ |
| 54 | #if HAVE_ALTIVEC_H && !defined(__APPLE_ALTIVEC__) |
54 | #if defined(HAVE_ALTIVEC_H) && !defined(__APPLE_ALTIVEC__) && !defined(SDL_DISABLE_ALTIVEC_H) |
| 55 | #include <altivec.h> |
55 | #include <altivec.h> |
| 56 | #undef pixel |
56 | #undef pixel |
| - | 57 | #undef bool |
|
| 57 | #endif |
58 | #endif |
| 58 | #endif |
59 | #endif |
| 59 | |
60 | #if defined(__ARM_NEON__) && !defined(SDL_DISABLE_ARM_NEON_H) |
| 60 | #include < |
61 | #include <arm_neon.h> |
| 61 | #endif |
62 | #endif |
| 62 | |
63 | #if defined(__3dNOW__) && !defined(SDL_DISABLE_MM3DNOW_H) |
| 63 | #include <mm3dnow.h> |
64 | #include <mm3dnow.h> |
| 64 | #endif |
65 | #endif |
| - | 66 | #if defined(HAVE_IMMINTRIN_H) && !defined(SDL_DISABLE_IMMINTRIN_H) |
|
| - | 67 | #include <immintrin.h> |
|
| - | 68 | #else |
|
| - | 69 | #if defined(__MMX__) && !defined(SDL_DISABLE_MMINTRIN_H) |
|
| 65 | |
70 | #include <mmintrin.h> |
| - | 71 | #endif |
|
| - | 72 | #if defined(__SSE__) && !defined(SDL_DISABLE_XMMINTRIN_H) |
|
| 66 | #include <xmmintrin.h> |
73 | #include <xmmintrin.h> |
| 67 | #endif |
74 | #endif |
| 68 | |
75 | #if defined(__SSE2__) && !defined(SDL_DISABLE_EMMINTRIN_H) |
| 69 | #include <emmintrin.h> |
76 | #include <emmintrin.h> |
| 70 | #endif |
77 | #endif |
| 71 | |
78 | #if defined(__SSE3__) && !defined(SDL_DISABLE_PMMINTRIN_H) |
| 72 | #include <pmmintrin.h> |
79 | #include <pmmintrin.h> |
| 73 | #endif |
80 | #endif |
| - | 81 | #endif /* HAVE_IMMINTRIN_H */ |
|
| 74 | #endif |
82 | #endif /* compiler version */ |
| 75 | 83 | ||
| 76 | #include "begin_code.h" |
84 | #include "begin_code.h" |
| 77 | /* Set up for C function definitions, even when using C++ */ |
85 | /* Set up for C function definitions, even when using C++ */ |
| 78 | #ifdef __cplusplus |
86 | #ifdef __cplusplus |
| 79 | extern "C" { |
87 | extern "C" { |
| Line 151... | Line 159... | ||
| 151 | 159 | ||
| 152 | /** |
160 | /** |
| 153 | * This function returns true if the CPU has AVX2 features. |
161 | * This function returns true if the CPU has AVX2 features. |
| 154 | */ |
162 | */ |
| 155 | extern DECLSPEC SDL_bool SDLCALL SDL_HasAVX2(void); |
163 | extern DECLSPEC SDL_bool SDLCALL SDL_HasAVX2(void); |
| - | 164 | ||
| - | 165 | /** |
|
| - | 166 | * This function returns true if the CPU has AVX-512F (foundation) features. |
|
| - | 167 | */ |
|
| - | 168 | extern DECLSPEC SDL_bool SDLCALL SDL_HasAVX512F(void); |
|
| 156 | 169 | ||
| 157 | /** |
170 | /** |
| 158 | * This function returns true if the CPU has NEON (ARM SIMD) features. |
171 | * This function returns true if the CPU has NEON (ARM SIMD) features. |
| 159 | */ |
172 | */ |
| 160 | extern DECLSPEC SDL_bool SDLCALL SDL_HasNEON(void); |
173 | extern DECLSPEC SDL_bool SDLCALL SDL_HasNEON(void); |
| 161 | 174 | ||
| 162 | /** |
175 | /** |
| 163 | * This function returns the amount of RAM configured in the system, in MB. |
176 | * This function returns the amount of RAM configured in the system, in MB. |
| 164 | */ |
177 | */ |
| 165 | extern DECLSPEC int SDLCALL SDL_GetSystemRAM(void); |
178 | extern DECLSPEC int SDLCALL SDL_GetSystemRAM(void); |
| 166 | - | ||
| 167 | 179 | ||
| 168 | /* Ends C function definitions when using C++ */ |
180 | /* Ends C function definitions when using C++ */ |
| 169 | #ifdef __cplusplus |
181 | #ifdef __cplusplus |
| 170 | } |
182 | } |
| 171 | #endif |
183 | #endif |