summaryrefslogtreecommitdiff
path: root/src/sna/sna.h
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2013-10-21 18:55:23 +0100
committerChris Wilson <chris@chris-wilson.co.uk>2013-10-21 23:44:16 +0100
commitfa2687bdd5a4c8bc608dac8bb711035f0752a725 (patch)
tree05b9b47344f1adda5e1ec8011f43c22b852bf5d5 /src/sna/sna.h
parent83c1d1efa1d0d24ebe606065a4305b81fe64b73b (diff)
sna: Eliminate the synchronous wait from inside TearFree
Defer the actual wait until the next use of the screen pixmap, and then if needed replace the GPU bo with an alternative back buffer. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna.h')
-rw-r--r--src/sna/sna.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/sna/sna.h b/src/sna/sna.h
index 7d08d236..304f7123 100644
--- a/src/sna/sna.h
+++ b/src/sna/sna.h
@@ -131,6 +131,9 @@ struct sna_pixmap {
void *ptr;
#define PTR(ptr) ((void*)((uintptr_t)(ptr) & ~1))
+ bool (*move_to_gpu)(struct sna *, struct sna_pixmap *, unsigned);
+ void *move_to_gpu_data;
+
struct list flush_list;
struct list cow_list;
@@ -266,10 +269,11 @@ struct sna {
struct sna_mode {
drmModeResPtr kmode;
- int shadow_active;
DamagePtr shadow_damage;
struct kgem_bo *shadow;
+ int shadow_active;
int shadow_flip;
+ int front_active;
unsigned num_real_crtc;
unsigned num_real_output;