diff options
author | Sean Paul <seanpaul@chromium.org> | 2016-06-22 22:48:22 -0400 |
---|---|---|
committer | Sean Paul <seanpaul@chromium.org> | 2016-06-22 23:59:10 -0400 |
commit | 137a6a8e9bea5c90a6832e9ed3e630f47041ab15 (patch) | |
tree | 4adc5fcac3e8bf96fb1508711fe7074ac5558ab8 /drmdisplaycompositor.h | |
parent | aa18d918e24d63b650791fe021f41761d8a33d3b (diff) |
drm_hwcomposer: On error, free active composition
If we drop a frame while compositing, free the active composition.
Assume a frame pipeline of A->B->A. If we drop frame B, it will become
the active composition, which means the fences for A will not be released,
causing us to block A on A --> DEADLOCK.
BUG=b/29122961
TEST=Tested on smaug, no longer hangs
Change-Id: I98817bb361f1d0669395ddac5d96cf4f19d4b26a
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Diffstat (limited to 'drmdisplaycompositor.h')
-rw-r--r-- | drmdisplaycompositor.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drmdisplaycompositor.h b/drmdisplaycompositor.h index e4c3b53..9487cac 100644 --- a/drmdisplaycompositor.h +++ b/drmdisplaycompositor.h @@ -149,6 +149,7 @@ class DrmDisplayCompositor { int ApplyDpms(DrmDisplayComposition *display_comp); int DisablePlanes(DrmDisplayComposition *display_comp); + void ClearDisplay(); void ApplyFrame(std::unique_ptr<DrmDisplayComposition> composition, int status); |