summaryrefslogtreecommitdiff
path: root/drmdisplaycompositor.h
diff options
context:
space:
mode:
authorSean Paul <seanpaul@chromium.org>2016-06-22 22:48:22 -0400
committerSean Paul <seanpaul@chromium.org>2016-06-22 23:59:10 -0400
commit137a6a8e9bea5c90a6832e9ed3e630f47041ab15 (patch)
tree4adc5fcac3e8bf96fb1508711fe7074ac5558ab8 /drmdisplaycompositor.h
parentaa18d918e24d63b650791fe021f41761d8a33d3b (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.h1
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);