cpu_capabilities.3alleg

Langue: en

Version: version 4.2.2 (debian - 07/07/09)

Section: 3 (Bibliothèques de fonctions)

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:
    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 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:
    if ((cpu_capabilities & (CPU_FPU | CPU_MMX)) ==
        (CPU_FPU | CPU_MMX)) {
       printf("CPU has both an FPU and MMX instructions!\n");
    }
    
 
You can read this variable after you have called check_cpu() (which is automatically called by allegro_init()).

SEE ALSO

check_cpu(3alleg), cpu_vendor(3alleg), cpu_family(3alleg), cpu_model(3alleg), cpu_capabilities(3alleg), allegro_init(3alleg)