Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e8d87ee3 authored by Huihong Luo's avatar Huihong Luo Committed by Automerger Merge Worker
Browse files

Merge "Avoid duplicate rendering of the same cached override buffer" into sc-dev am: dcf174f4

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/14128308

Change-Id: I3d90718109ae07807f2ad65888d6a96bca750810
parents a572afbc dcf174f4
Loading
Loading
Loading
Loading
+9 −2
Original line number Diff line number Diff line
@@ -1104,6 +1104,7 @@ std::vector<LayerFE::LayerSettings> Output::generateClientCompositionRequests(
    Region stubRegion;

    bool disableBlurs = false;
    sp<GraphicBuffer> previousOverrideBuffer = nullptr;

    for (auto* layer : getOutputLayersOrderedByZ()) {
        const auto& layerState = layer->getState();
@@ -1153,8 +1154,14 @@ std::vector<LayerFE::LayerSettings> Output::generateClientCompositionRequests(

            std::vector<LayerFE::LayerSettings> results;
            if (layer->getState().overrideInfo.buffer != nullptr) {
                if (layer->getState().overrideInfo.buffer != previousOverrideBuffer) {
                    results = layer->getOverrideCompositionList();
                    previousOverrideBuffer = layer->getState().overrideInfo.buffer;
                    ALOGV("Replacing [%s] with override in RE", layer->getLayerFE().getDebugName());
                } else {
                    ALOGV("Skipping redundant override buffer for [%s] in RE",
                          layer->getLayerFE().getDebugName());
                }
            } else {
                results = layerFE.prepareClientCompositionList(targetSettings);
                if (realContentIsVisible && !results.empty()) {