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

Commit ff9926fc authored by Ady Abraham's avatar Ady Abraham Committed by Android (Google) Code Review
Browse files

Merge "SurfaceFlinger: tree vote for FrameRateCompatibility::ExactOrMultiple" into rvc-dev

parents 507056a4 414e8b5c
Loading
Loading
Loading
Loading
+9 −2
Original line number Original line Diff line number Diff line
@@ -1353,8 +1353,15 @@ void Layer::updateTreeHasFrameRateVote() {
    // First traverse the tree and count how many layers has votes
    // First traverse the tree and count how many layers has votes
    int layersWithVote = 0;
    int layersWithVote = 0;
    traverseTree([&layersWithVote](Layer* layer) {
    traverseTree([&layersWithVote](Layer* layer) {
        if (layer->mCurrentState.frameRate.rate > 0 ||
        const auto layerVotedWithDefaultCompatibility = layer->mCurrentState.frameRate.rate > 0 &&
            layer->mCurrentState.frameRate.type == FrameRateCompatibility::NoVote) {
                layer->mCurrentState.frameRate.type == FrameRateCompatibility::Default;
        const auto layerVotedWithNoVote =
                layer->mCurrentState.frameRate.type == FrameRateCompatibility::NoVote;

        // We do not count layers that are ExactOrMultiple for the same reason
        // we are allowing touch boost for those layers. See
        // RefreshRateConfigs::getBestRefreshRate for more details.
        if (layerVotedWithDefaultCompatibility || layerVotedWithNoVote) {
            layersWithVote++;
            layersWithVote++;
        }
        }
    });
    });