summaryrefslogtreecommitdiff
path: root/src/sna/sna.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2015-02-13 09:13:33 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2015-02-13 16:41:52 +0000
commitadaf0a2c6189ae0460219b9b47df54defd64011b (patch)
tree05e3a4d016bf6d1277d5a9aee974b1bb2397f85f /src/sna/sna.h
parent42ebe2ef9646be5c4586868cf332b4cd79bb4618 (diff)
sna/present: Hook into TearFree
For the duration of the Present flip chain, replace our frontbuffer with the Client's Pixmap. Before any attempt to draw into the real frontbuffer, Present will unflip back to the TearFree front+shadow. However, it does give the Client direct access to the scanout through their Pixmap (effectively disabling TearFree on behalf of the Client). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna.h')
-rw-r--r--src/sna/sna.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/sna/sna.h b/src/sna/sna.h
index d2c95ff4..1bddf7ad 100644
--- a/src/sna/sna.h
+++ b/src/sna/sna.h
@@ -284,6 +284,7 @@ struct sna {
struct kgem_bo *shadow;
unsigned front_active;
unsigned shadow_active;
+ unsigned rr_active;
unsigned flip_active;
unsigned hidden;
bool dirty;
@@ -310,6 +311,13 @@ struct sna {
Bool (*rrGetInfo)(ScreenPtr, Rotation *);
} mode;
+ struct sna_tearfree {
+ struct notifier {
+ void (*func)(struct sna *, void *);
+ void *data;
+ } hook[2];
+ } tearfree;
+
struct {
struct sna_cursor *cursors;
xf86CursorInfoPtr info;