diff options
author | Sean Paul <seanpaul@chromium.org> | 2015-11-30 14:35:45 -0500 |
---|---|---|
committer | Sean Paul <seanpaul@chromium.org> | 2015-11-30 16:03:54 -0500 |
commit | e3141c6fa66806f55fed65c83ed0c2c0201490e0 (patch) | |
tree | 83742ba6408b0d706cbdefdb5e667a5240c7a012 /drmdisplaycompositor.cpp | |
parent | 6c18b3b67e50e12f77f76108363493162ff36340 (diff) |
drm_hwcomposer: Always call PrepareFrame() for compositions
Previously this was not called for compositions which were known to
fail the atomic test. Unfortunately this left the composition in a
state which could not be processed by SquashFrame (only one layer and
source_layer was still set to kSourceSquash).
So call PrepareFrame() on every composition so SquashFrame stays happy.
Change-Id: I976e344ce4970370d9ca4307c2f2c45025199b64
Signed-off-by: Sean Paul <seanpaul@chromium.org>
Diffstat (limited to 'drmdisplaycompositor.cpp')
-rw-r--r-- | drmdisplaycompositor.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/drmdisplaycompositor.cpp b/drmdisplaycompositor.cpp index 028a6a3..29ecc75 100644 --- a/drmdisplaycompositor.cpp +++ b/drmdisplaycompositor.cpp @@ -922,12 +922,10 @@ int DrmDisplayCompositor::Composite() { switch (composition->type()) { case DRM_COMPOSITION_TYPE_FRAME: - if (use_hw_overlays_ || composition->geometry_changed()) { - ret = PrepareFrame(composition.get()); - if (ret) { - ALOGE("Failed to prepare frame for display %d", display_); - return ret; - } + ret = PrepareFrame(composition.get()); + if (ret) { + ALOGE("Failed to prepare frame for display %d", display_); + return ret; } if (composition->geometry_changed()) { // Send the composition to the kernel to ensure we can commit it. This |