diff options
author | 2022-04-07 14:54:34 +0000 | |
---|---|---|
committer | 2022-04-07 14:54:34 +0000 | |
commit | 2ec1c91c17add19d1389c14231c1a80c6633b2d0 (patch) | |
tree | fc30e2c470ff5f5b3bd5a71ac1649f2395bf5aae | |
parent | 16d0bb1960fcbca0d6759b1364f9b5d0419d6ecf (diff) | |
parent | 01709c205430b5c8b6f10d0f7eeca3c7f3a129ef (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.cpp | 8 |
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() { |