diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2015-11-10 09:56:07 +0000 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2015-11-10 09:58:52 +0000 |
commit | 64dbcdd4de1fe1941196265d054272d7d93e5d59 (patch) | |
tree | dd2431605316acb4da845639001cc1d1f8397df8 /src/sna/sna_display.c | |
parent | 47f6c5b211c0458f2bf1e05a736e466bd8b64763 (diff) |
sna/dri2: Add a specific recursion indicator for TearFree/DRI2
Avoid conflating the DRI3/Present flag for controlling TearFree by
adding a separate flag to indicate when we are waiting inside the
TearFree shadow handler to avoid recursion in DRI2.
Reported-by: Andreas Reis <andreas.reis@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=92873
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Diffstat (limited to 'src/sna/sna_display.c')
-rw-r--r-- | src/sna/sna_display.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c index 997150ed..a7dcb6bc 100644 --- a/src/sna/sna_display.c +++ b/src/sna/sna_display.c @@ -1379,6 +1379,7 @@ static bool wait_for_shadow(struct sna *sna, } assert(sna->mode.shadow_active); + sna->mode.shadow_wait = true; sna->mode.shadow_enabled = false; flip_active = sna->mode.flip_active; @@ -1432,6 +1433,8 @@ static bool wait_for_shadow(struct sna *sna, } } assert(!sna->mode.shadow_enabled); + assert(sna->mode.shadow_wait); + sna->mode.shadow_wait = false; sna->mode.shadow_enabled = true; if (bo->refcnt > 1) { |