1 /* 2 SDL - Simple DirectMedia Layer 3 Copyright (C) 1997-2012 Sam Lantinga 4 5 This library is free software; you can redistribute it and/or 6 modify it under the terms of the GNU Lesser General Public 7 License as published by the Free Software Foundation; either 8 version 2.1 of the License, or (at your option) any later version. 9 10 This library is distributed in the hope that it will be useful, 11 but WITHOUT ANY WARRANTY; without even the implied warranty of 12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 13 Lesser General Public License for more details. 14 15 You should have received a copy of the GNU Lesser General Public 16 License along with this library; if not, write to the Free Software 17 Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 18 19 Sam Lantinga 20 slouken (at) libsdl.org 21 */ 22 23 /** 24 * @file SDL_cpuinfo.h 25 * CPU feature detection for SDL 26 */ 27 28 #ifndef _SDL_cpuinfo_h 29 #define _SDL_cpuinfo_h 30 31 #include "SDL_stdinc.h" 32 33 #include "begin_code.h" 34 /* Set up for C function definitions, even when using C++ */ 35 #ifdef __cplusplus 36 extern "C" { 37 #endif 38 39 /** This function returns true if the CPU has the RDTSC instruction */ 40 extern DECLSPEC SDL_bool SDLCALL SDL_HasRDTSC(void); 41 42 /** This function returns true if the CPU has MMX features */ 43 extern DECLSPEC SDL_bool SDLCALL SDL_HasMMX(void); 44 45 /** This function returns true if the CPU has MMX Ext. features */ 46 extern DECLSPEC SDL_bool SDLCALL SDL_HasMMXExt(void); 47 48 /** This function returns true if the CPU has 3DNow features */ 49 extern DECLSPEC SDL_bool SDLCALL SDL_Has3DNow(void); 50 51 /** This function returns true if the CPU has 3DNow! Ext. features */ 52 extern DECLSPEC SDL_bool SDLCALL SDL_Has3DNowExt(void); 53 54 /** This function returns true if the CPU has SSE features */ 55 extern DECLSPEC SDL_bool SDLCALL SDL_HasSSE(void); 56 57 /** This function returns true if the CPU has SSE2 features */ 58 extern DECLSPEC SDL_bool SDLCALL SDL_HasSSE2(void); 59 60 /** This function returns true if the CPU has AltiVec features */ 61 extern DECLSPEC SDL_bool SDLCALL SDL_HasAltiVec(void); 62 63 /* Ends C function definitions when using C++ */ 64 #ifdef __cplusplus 65 } 66 #endif 67 #include "close_code.h" 68 69 #endif /* _SDL_cpuinfo_h */ 70