summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Chavi Weingarten <chaviw@google.com> 2022-04-07 14:54:34 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2022-04-07 14:54:34 +0000
commit2ec1c91c17add19d1389c14231c1a80c6633b2d0 (patch)
treefc30e2c470ff5f5b3bd5a71ac1649f2395bf5aae
parent16d0bb1960fcbca0d6759b1364f9b5d0419d6ecf (diff)
parent01709c205430b5c8b6f10d0f7eeca3c7f3a129ef (diff)
Merge "Don't create CE Layer when EffectLayer has nothing to draw." into tm-dev am: 01709c2054
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/17591706 Change-Id: Ib7e425d22806bca7b7d2f5e7940f910e16635b1a Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--services/surfaceflinger/EffectLayer.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/services/surfaceflinger/EffectLayer.cpp b/services/surfaceflinger/EffectLayer.cpp
index cc85352dc7..e8c590e3c4 100644
--- a/services/surfaceflinger/EffectLayer.cpp
+++ b/services/surfaceflinger/EffectLayer.cpp
@@ -114,7 +114,13 @@ void EffectLayer::preparePerFrameCompositionState() {
}
sp<compositionengine::LayerFE> EffectLayer::getCompositionEngineLayerFE() const {
- return asLayerFE();
+ // There's no need to get a CE Layer if the EffectLayer isn't going to draw anything. In that
+ // case, it acts more like a ContainerLayer so returning a null CE Layer makes more sense
+ if (hasSomethingToDraw()) {
+ return asLayerFE();
+ } else {
+ return nullptr;
+ }
}
compositionengine::LayerFECompositionState* EffectLayer::editCompositionState() {