Commit b2ff9dc3 authored by Sam Lantinga's avatar Sam Lantinga

Added API function to get CPU cache line size.

parent b0a2a895
...@@ -51,6 +51,14 @@ extern "C" { ...@@ -51,6 +51,14 @@ extern "C" {
*/ */
extern DECLSPEC int SDLCALL SDL_GetCPUCount(void); extern DECLSPEC int SDLCALL SDL_GetCPUCount(void);
/**
* 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);
/** /**
* This function returns true if the CPU has the RDTSC instruction. * This function returns true if the CPU has the RDTSC instruction.
*/ */
......
...@@ -304,7 +304,7 @@ CPU_haveAltiVec(void) ...@@ -304,7 +304,7 @@ CPU_haveAltiVec(void)
static int SDL_CPUCount = 0; static int SDL_CPUCount = 0;
int int
SDL_GetCPUCount() SDL_GetCPUCount(void)
{ {
if (!SDL_CPUCount) { if (!SDL_CPUCount) {
#if defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_ONLN) #if defined(HAVE_SYSCONF) && defined(_SC_NPROCESSORS_ONLN)
...@@ -335,7 +335,7 @@ SDL_GetCPUCount() ...@@ -335,7 +335,7 @@ SDL_GetCPUCount()
/* Oh, such a sweet sweet trick, just not very useful. :) */ /* Oh, such a sweet sweet trick, just not very useful. :) */
static const char * static const char *
SDL_GetCPUType() SDL_GetCPUType(void)
{ {
static char SDL_CPUType[13]; static char SDL_CPUType[13];
...@@ -366,7 +366,7 @@ SDL_GetCPUType() ...@@ -366,7 +366,7 @@ SDL_GetCPUType()
} }
static const char * static const char *
SDL_GetCPUName() SDL_GetCPUName(void)
{ {
static char SDL_CPUName[48]; static char SDL_CPUName[48];
...@@ -437,8 +437,8 @@ SDL_GetCPUName() ...@@ -437,8 +437,8 @@ SDL_GetCPUName()
return SDL_CPUName; return SDL_CPUName;
} }
static int int
SDL_GetCPUCacheLineSize() SDL_GetCPUCacheLineSize(void)
{ {
const char *cpuType = SDL_GetCPUType(); const char *cpuType = SDL_GetCPUType();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment