Subversion Repositories Games.Prince of Persia

Rev

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-2017 Sam Lantinga <slouken@libsdl.org>
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
#ifdef __MMX__
60
#if defined(__ARM_NEON__) && !defined(SDL_DISABLE_ARM_NEON_H)
60
#include <mmintrin.h>
61
#include <arm_neon.h>
61
#endif
62
#endif
62
#ifdef __3dNOW__
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
#ifdef __SSE__
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
#ifdef __SSE2__
75
#if defined(__SSE2__) && !defined(SDL_DISABLE_EMMINTRIN_H)
69
#include <emmintrin.h>
76
#include <emmintrin.h>
70
#endif
77
#endif
71
#ifdef __SSE3__
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