Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Latest commit

 

History

History
112 lines (90 loc) · 2.93 KB

SDL_cpuinfo.h

File metadata and controls

112 lines (90 loc) · 2.93 KB
 
1
2
/*
SDL - Simple DirectMedia Layer
Jan 24, 2010
Jan 24, 2010
3
Copyright (C) 1997-2010 Sam Lantinga
4
5
This library is free software; you can redistribute it and/or
Feb 1, 2006
Feb 1, 2006
6
modify it under the terms of the GNU Lesser General Public
7
License as published by the Free Software Foundation; either
Feb 1, 2006
Feb 1, 2006
8
version 2.1 of the License, or (at your option) any later version.
9
10
11
12
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Feb 1, 2006
Feb 1, 2006
13
Lesser General Public License for more details.
Feb 1, 2006
Feb 1, 2006
15
16
17
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
18
19
20
21
22
Sam Lantinga
slouken@libsdl.org
*/
Jul 10, 2006
Jul 10, 2006
23
/**
Oct 19, 2009
Oct 19, 2009
24
25
26
* \file SDL_cpuinfo.h
*
* CPU feature detection for SDL.
Jul 10, 2006
Jul 10, 2006
27
*/
28
29
30
31
#ifndef _SDL_cpuinfo_h
#define _SDL_cpuinfo_h
Feb 21, 2006
Feb 21, 2006
32
33
#include "SDL_stdinc.h"
34
35
36
#include "begin_code.h"
/* Set up for C function definitions, even when using C++ */
#ifdef __cplusplus
Jul 10, 2006
Jul 10, 2006
37
/* *INDENT-OFF* */
Jul 10, 2006
Jul 10, 2006
39
/* *INDENT-ON* */
Jan 28, 2011
Jan 28, 2011
42
43
44
45
/* This is a guess for the cacheline size used for padding.
* Most x86 processors have a 64 byte cache line.
* The 64-bit PowerPC processors have a 128 byte cache line.
* We'll use the larger value to be generally safe.
Jan 28, 2011
Jan 28, 2011
46
*/
Jan 28, 2011
Jan 28, 2011
47
#define SDL_CACHELINE_SIZE 128
Jan 28, 2011
Jan 28, 2011
48
Dec 16, 2009
Dec 16, 2009
49
50
51
52
53
/**
* This function returns the number of CPU cores available.
*/
extern DECLSPEC int SDLCALL SDL_GetCPUCount(void);
Jan 28, 2011
Jan 28, 2011
54
55
56
57
58
59
60
61
/**
* This function returns the L1 cache line size of the CPU
*
* This is useful for determining multi-threaded structure padding
* or SIMD prefetch sizes.
*/
extern DECLSPEC int SDLCALL SDL_GetCPUCacheLineSize(void);
Oct 19, 2009
Oct 19, 2009
62
63
/**
* This function returns true if the CPU has the RDTSC instruction.
Nov 24, 2003
Nov 24, 2003
64
*/
Feb 24, 2006
Feb 24, 2006
65
extern DECLSPEC SDL_bool SDLCALL SDL_HasRDTSC(void);
Nov 24, 2003
Nov 24, 2003
66
Oct 19, 2009
Oct 19, 2009
67
68
/**
* This function returns true if the CPU has MMX features.
Feb 24, 2006
Feb 24, 2006
70
extern DECLSPEC SDL_bool SDLCALL SDL_HasMMX(void);
Oct 19, 2009
Oct 19, 2009
72
73
/**
* This function returns true if the CPU has MMX Ext.\ features.
Jan 24, 2004
Jan 24, 2004
74
*/
Feb 24, 2006
Feb 24, 2006
75
extern DECLSPEC SDL_bool SDLCALL SDL_HasMMXExt(void);
Jan 24, 2004
Jan 24, 2004
76
Oct 19, 2009
Oct 19, 2009
77
78
/**
* This function returns true if the CPU has 3DNow!\ features.
Feb 24, 2006
Feb 24, 2006
80
extern DECLSPEC SDL_bool SDLCALL SDL_Has3DNow(void);
Oct 19, 2009
Oct 19, 2009
82
83
/**
* This function returns true if the CPU has 3DNow!\ Ext.\ features.
Jan 24, 2004
Jan 24, 2004
84
*/
Feb 24, 2006
Feb 24, 2006
85
extern DECLSPEC SDL_bool SDLCALL SDL_Has3DNowExt(void);
Jan 24, 2004
Jan 24, 2004
86
Oct 19, 2009
Oct 19, 2009
87
88
/**
* This function returns true if the CPU has SSE features.
Feb 24, 2006
Feb 24, 2006
90
extern DECLSPEC SDL_bool SDLCALL SDL_HasSSE(void);
Oct 19, 2009
Oct 19, 2009
92
93
/**
* This function returns true if the CPU has SSE2 features.
Jan 24, 2004
Jan 24, 2004
94
*/
Feb 24, 2006
Feb 24, 2006
95
extern DECLSPEC SDL_bool SDLCALL SDL_HasSSE2(void);
Jan 24, 2004
Jan 24, 2004
96
Oct 19, 2009
Oct 19, 2009
97
98
/**
* This function returns true if the CPU has AltiVec features.
Jan 6, 2004
Jan 6, 2004
99
*/
Feb 24, 2006
Feb 24, 2006
100
extern DECLSPEC SDL_bool SDLCALL SDL_HasAltiVec(void);
Jan 6, 2004
Jan 6, 2004
101
102
103
/* Ends C function definitions when using C++ */
#ifdef __cplusplus
Jul 10, 2006
Jul 10, 2006
104
/* *INDENT-OFF* */
Jul 10, 2006
Jul 10, 2006
106
/* *INDENT-ON* */
107
108
109
110
#endif
#include "close_code.h"
#endif /* _SDL_cpuinfo_h */
Jul 10, 2006
Jul 10, 2006
111
112
/* vi: set ts=4 sw=4 expandtab: */