table of contents
cpu_capabilities(3alleg4) | Allegro manual | cpu_capabilities(3alleg4) |
NAME¶
cpu_capabilities - Contains the capability flags of the CPU. Allegro game programming library.
SYNOPSIS¶
#include <allegro.h>
extern int cpu_capabilities;
DESCRIPTION¶
Contains CPU flags indicating what features are available on the current CPU. The flags can be any combination of these:
You can check for multiple features by OR-ing the flags together. For example, to check if the CPU has an FPU and MMX instructions available, you'd do:
CPU_ID - Indicates that the "cpuid" instruction is
available. If this is set, then all Allegro CPU
variables are 100% reliable, otherwise there
may be some mistakes.
CPU_FPU - An FPU is available.
CPU_IA64 - Running on Intel 64 bit CPU
CPU_AMD64 - Running on AMD 64 bit CPU
CPU_MMX - Intel MMX instruction set is available.
CPU_MMXPLUS - Intel MMX+ instruction set is available.
CPU_SSE - Intel SSE instruction set is available.
CPU_SSE2 - Intel SSE2 instruction set is available.
CPU_SSE3 - Intel SSE3 instruction set is available.
CPU_3DNOW - AMD 3DNow! instruction set is available.
CPU_ENH3DNOW - AMD Enhanced 3DNow! instruction set is
available.
CPU_CMOV - Pentium Pro "cmov" instruction is available.
You can read this variable after you have called check_cpu() (which is automatically called by allegro_init()).
if ((cpu_capabilities & (CPU_FPU | CPU_MMX)) ==
(CPU_FPU | CPU_MMX)) {
printf("CPU has both an FPU and MMX instructions!\n");
}
SEE ALSO¶
check_cpu(3alleg4), cpu_vendor(3alleg4), cpu_family(3alleg4), cpu_model(3alleg4), cpu_capabilities(3alleg4), allegro_init(3alleg4)
version 4.4.3 | Allegro |