1 /* babl - dynamically extendable universal pixel conversion library.
2  * Copyright (C) 2005-2008, Øyvind Kolås and others.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 3 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General
15  * Public License along with this library; if not, see
16  * <https://www.gnu.org/licenses/>.
17  */
18 
19 #ifndef _BABL_CPU_ACCEL_H
20 #define _BABL_CPU_ACCEL_H
21 
22 typedef enum
23 {
24   BABL_CPU_ACCEL_NONE        = 0x0,
25 
26   /* x86 accelerations */
27   BABL_CPU_ACCEL_X86_MMX     = 0x01000000,
28   BABL_CPU_ACCEL_X86_3DNOW   = 0x40000000,
29   BABL_CPU_ACCEL_X86_MMXEXT  = 0x20000000,
30   BABL_CPU_ACCEL_X86_SSE     = 0x10000000,
31   BABL_CPU_ACCEL_X86_SSE2    = 0x08000000,
32   BABL_CPU_ACCEL_X86_SSE3    = 0x02000000,
33   BABL_CPU_ACCEL_X86_SSSE3   = 0x00800000,
34   BABL_CPU_ACCEL_X86_SSE4_1  = 0x00400000,
35   /* BABL_CPU_ACCEL_X86_SSE4_2  = 0x00200000, */
36   /* BABL_CPU_ACCEL_X86_AVX     = 0x00080000, */
37   BABL_CPU_ACCEL_X86_F16C    = 0x00040000,
38   BABL_CPU_ACCEL_X86_AVX2    = 0x00020000,
39 
40   /* powerpc accelerations */
41   BABL_CPU_ACCEL_PPC_ALTIVEC = 0x04000000,
42   BABL_CPU_ACCEL_X86_64      = 0x00100000
43 } BablCpuAccelFlags;
44 
45 
46 BablCpuAccelFlags  babl_cpu_accel_get_support (void);
47 void               babl_cpu_accel_set_use     (unsigned int use);
48 
49 
50 #endif  /* _BABL_CPU_ACCEL_H */
51