diff options
author | Vincent Torri <vincent.torri@gmail.com> | 2012-10-13 14:07:58 +0000 |
---|---|---|
committer | Vincent Torri <vincent.torri@gmail.com> | 2012-10-13 14:07:58 +0000 |
commit | 2c4cd5909a7283d603a9237d3de919ba33e8222c (patch) | |
tree | b1ca31e327c955a459c0fd5196c1f124b1e11c7a /legacy/evas/src/lib/engines/common/evas_cpu.c | |
parent | 82a183ffde3918c561fb4c82d5bda13769b9c4c1 (diff) |
Evas: asm detection with eina if sigaction or siglongjmp are not available. Only mmx, sse or sse3
SVN revision: 77958
Diffstat (limited to '')
-rw-r--r-- | legacy/evas/src/lib/engines/common/evas_cpu.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/legacy/evas/src/lib/engines/common/evas_cpu.c b/legacy/evas/src/lib/engines/common/evas_cpu.c index fe90c5b636..b09da28b78 100644 --- a/legacy/evas/src/lib/engines/common/evas_cpu.c +++ b/legacy/evas/src/lib/engines/common/evas_cpu.c | |||
@@ -142,6 +142,16 @@ evas_common_cpu_feature_test(void (*feature)(void)) | |||
142 | sigaction(SIGSEGV, &oact2, NULL); | 142 | sigaction(SIGSEGV, &oact2, NULL); |
143 | return enabled; | 143 | return enabled; |
144 | #else | 144 | #else |
145 | Eina_Cpu_Features f; | ||
146 | |||
147 | f = eina_cpu_features_get(); | ||
148 | if (feature == evas_common_cpu_mmx_test) | ||
149 | return (f & EINA_CPU_MMX) == EINA_CPU_MMX; | ||
150 | /* no mmx2 support in eina */ | ||
151 | if (feature == evas_common_cpu_sse_test) | ||
152 | return (f & EINA_CPU_SSE) == EINA_CPU_SSE; | ||
153 | if (feature == evas_common_cpu_sse3_test) | ||
154 | return (f & EINA_CPU_SSE3) == EINA_CPU_SSE3; | ||
145 | return 0; | 155 | return 0; |
146 | #endif | 156 | #endif |
147 | } | 157 | } |