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 | |
parent | 6c18b3b67e50e12f77f76108363493162ff36340 (diff) | |
download | drm_hwcomposer-android-6.0.1_r21.tar.gz |
drm_hwcomposer: Always call PrepareFrame() for compositionsandroid-6.0.1_r68android-6.0.1_r67android-6.0.1_r62android-6.0.1_r54android-6.0.1_r53android-6.0.1_r45android-6.0.1_r25android-6.0.1_r24android-6.0.1_r22android-6.0.1_r21marshmallow-dr1.6-releasemarshmallow-dr1.5-releasemarshmallow-dr1.5-dev
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>
-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 |