SDL3pp
A slim C++ wrapper for SDL3
Loading...
Searching...
No Matches
SDL3pp_cpuinfo.h
1#ifndef SDL3PP_CPUINFO_H_
2#define SDL3PP_CPUINFO_H_
3
4#include <SDL3/SDL_cpuinfo.h>
5#include "SDL3pp_stdinc.h"
6
7namespace SDL {
8
34constexpr int CACHELINE_SIZE = SDL_CACHELINE_SIZE;
35
47inline int GetNumLogicalCPUCores() { return SDL_GetNumLogicalCPUCores(); }
48
61inline int GetCPUCacheLineSize() { return SDL_GetCPUCacheLineSize(); }
62
74inline bool HasAltiVec() { return SDL_HasAltiVec(); }
75
87inline bool HasMMX() { return SDL_HasMMX(); }
88
105inline bool HasSSE() { return SDL_HasSSE(); }
106
123inline bool HasSSE2() { return SDL_HasSSE2(); }
124
141inline bool HasSSE3() { return SDL_HasSSE3(); }
142
159inline bool HasSSE41() { return SDL_HasSSE41(); }
160
177inline bool HasSSE42() { return SDL_HasSSE42(); }
178
193inline bool HasAVX() { return SDL_HasAVX(); }
194
209inline bool HasAVX2() { return SDL_HasAVX2(); }
210
225inline bool HasAVX512F() { return SDL_HasAVX512F(); }
226
242inline bool HasARMSIMD() { return SDL_HasARMSIMD(); }
243
255inline bool HasNEON() { return SDL_HasNEON(); }
256
269inline bool HasLSX() { return SDL_HasLSX(); }
270
283inline bool HasLASX() { return SDL_HasLASX(); }
284
294inline int GetSystemRAM() { return SDL_GetSystemRAM(); }
295
318inline size_t GetSIMDAlignment() { return SDL_GetSIMDAlignment(); }
319
321
322} // namespace SDL
323
324#endif /* SDL3PP_CPUINFO_H_ */
int GetNumLogicalCPUCores()
Get the number of logical CPU cores available.
Definition: SDL3pp_cpuinfo.h:47
bool HasLASX()
Determine whether the CPU has LASX (LOONGARCH SIMD) features.
Definition: SDL3pp_cpuinfo.h:283
bool HasAVX2()
Determine whether the CPU has AVX2 features.
Definition: SDL3pp_cpuinfo.h:209
bool HasAVX()
Determine whether the CPU has AVX features.
Definition: SDL3pp_cpuinfo.h:193
bool HasSSE42()
Determine whether the CPU has SSE4.2 features.
Definition: SDL3pp_cpuinfo.h:177
bool HasARMSIMD()
Determine whether the CPU has ARM SIMD (ARMv6) features.
Definition: SDL3pp_cpuinfo.h:242
bool HasSSE3()
Determine whether the CPU has SSE3 features.
Definition: SDL3pp_cpuinfo.h:141
bool HasSSE41()
Determine whether the CPU has SSE4.1 features.
Definition: SDL3pp_cpuinfo.h:159
int GetCPUCacheLineSize()
Determine the L1 cache line size of the CPU.
Definition: SDL3pp_cpuinfo.h:61
bool HasMMX()
Determine whether the CPU has MMX features.
Definition: SDL3pp_cpuinfo.h:87
bool HasAVX512F()
Determine whether the CPU has AVX-512F (foundation) features.
Definition: SDL3pp_cpuinfo.h:225
constexpr int CACHELINE_SIZE
A guess for the cacheline size used for padding.
Definition: SDL3pp_cpuinfo.h:34
size_t GetSIMDAlignment()
Report the alignment this system needs for SIMD allocations.
Definition: SDL3pp_cpuinfo.h:318
bool HasSSE()
Determine whether the CPU has SSE features.
Definition: SDL3pp_cpuinfo.h:105
bool HasAltiVec()
Determine whether the CPU has AltiVec features.
Definition: SDL3pp_cpuinfo.h:74
int GetSystemRAM()
Get the amount of RAM configured in the system.
Definition: SDL3pp_cpuinfo.h:294
bool HasLSX()
Determine whether the CPU has LSX (LOONGARCH SIMD) features.
Definition: SDL3pp_cpuinfo.h:269
bool HasSSE2()
Determine whether the CPU has SSE2 features.
Definition: SDL3pp_cpuinfo.h:123
bool HasNEON()
Determine whether the CPU has NEON (ARM SIMD) features.
Definition: SDL3pp_cpuinfo.h:255
Main include header for the SDL3pp library.