summaryrefslogtreecommitdiff
path: root/legacy/evas/src/lib/engines
diff options
context:
space:
mode:
authorVincent Torri <vincent.torri@gmail.com>2012-10-13 14:07:58 +0000
committerVincent Torri <vincent.torri@gmail.com>2012-10-13 14:07:58 +0000
commit2c4cd5909a7283d603a9237d3de919ba33e8222c (patch)
treeb1ca31e327c955a459c0fd5196c1f124b1e11c7a /legacy/evas/src/lib/engines
parent82a183ffde3918c561fb4c82d5bda13769b9c4c1 (diff)
Evas: asm detection with eina if sigaction or siglongjmp are not available. Only mmx, sse or sse3
SVN revision: 77958
Diffstat (limited to 'legacy/evas/src/lib/engines')
-rw-r--r--legacy/evas/src/lib/engines/common/evas_cpu.c10
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}