summaryrefslogtreecommitdiff
path: root/src/sna/sna.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-02-25 23:13:23 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2013-02-25 23:15:02 +0000
commitaa045d80ec0d3366745d1671b9f667cec587d804 (patch)
treeaefe5be212ac8424bb587283175c3ef6ad86307e /src/sna/sna.h
parent56fd91fc830d7a210e3a0e70ab41261a1f5baa83 (diff)
sna: Detect available instruction sets at runtime
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna.h')
-rw-r--r--src/sna/sna.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/sna/sna.h b/src/sna/sna.h
index f6e89ecd..77a52bdd 100644
--- a/src/sna/sna.h
+++ b/src/sna/sna.h
@@ -207,6 +207,18 @@ struct sna {
#define SNA_TEAR_FREE 0x10
#define SNA_FORCE_SHADOW 0x20
+ unsigned cpu_features;
+#define MMX 0x1
+#define SSE 0x2
+#define SSE2 0x4
+#define SSE3 0x8
+#define SSSE3 0x10
+#define SSE4a 0x20
+#define SSE4_1 0x40
+#define SSE4_2 0x80
+#define AVX 0x100
+#define AVX2 0x200
+
unsigned watch_flush;
struct timeval timer_tv;
@@ -855,6 +867,8 @@ inline static bool is_clipped(const RegionRec *r,
r->extents.y2 - r->extents.y1 != d->height);
}
+unsigned sna_cpu_detect(void);
+
void sna_threads_init(void);
int sna_use_threads (int width, int height, int threshold);
void sna_threads_run(void (*func)(void *arg), void *arg);