xref: /haiku/src/add-ons/media/media-add-ons/video_mixer/CpuCapabilities.h (revision 1e60bdeab63fa7a57bc9a55b032052e95a18bd2c)
1 /*
2  * Copyright (C) 2009 David McPaul
3  *
4  * All rights reserved. Distributed under the terms of the MIT License.
5  */
6 
7 #ifndef __CPU_CAPABILITIES__
8 #define __CPU_CAPABILITIES__
9 
10 #define CAPABILITY_MMX 1
11 #define CAPABILITY_SSE1 2
12 #define CAPABILITY_SSE2 3
13 #define CAPABILITY_SSE3 4
14 #define CAPABILITY_SSSE3 5
15 #define CAPABILITY_SSE41 6
16 #define CAPABILITY_SSE42 7
17 
18 
19 class CPUCapabilities {
20 	public:
21 		CPUCapabilities();
22 		~CPUCapabilities();
23 
24 		bool HasMMX();
25 		bool HasSSE1();
26 		bool HasSSE2();
27 		bool HasSSE3();
28 		bool HasSSSE3();
29 		bool HasSSE41();
30 		bool HasSSE42();
31 
32 		void PrintCapabilities();
33 
34 	private:
35 		uint32		capabilities;
36 
37 		void setIntelCapabilities();
38 };
39 
40 #endif	//__CPU_CAPABILITIES__
41