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>
diff --git a/drmdisplaycompositor.h b/drmdisplaycompositor.h
index e4c3b53..9487cac 100644
--- a/drmdisplaycompositor.h
+++ b/drmdisplaycompositor.h
@@ -149,6 +149,7 @@
int ApplyDpms(DrmDisplayComposition *display_comp);
int DisablePlanes(DrmDisplayComposition *display_comp);
+ void ClearDisplay();
void ApplyFrame(std::unique_ptr<DrmDisplayComposition> composition,
int status);