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

Commit 92c95a72 authored by Vishnu Nair's avatar Vishnu Nair Committed by Android (Google) Code Review
Browse files

Merge "Pull out FrameRateCompatibility definition to avoid circular dependencies" into main

parents 07d03c4d 3fbe3268
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -666,7 +666,7 @@ void LayerSnapshotBuilder::updateFrameRateFromChildSnapshot(LayerSnapshot& snaps
        return;
    }

    using FrameRateCompatibility = scheduler::LayerInfo::FrameRateCompatibility;
    using FrameRateCompatibility = scheduler::FrameRateCompatibility;
    if (snapshot.frameRate.isValid()) {
        // we already have a valid framerate.
        return;
+1 −2
Original line number Diff line number Diff line
@@ -122,8 +122,7 @@ RequestedLayerState::RequestedLayerState(const LayerCreationArgs& args)
    isTrustedOverlay = false;
    dropInputMode = gui::DropInputMode::NONE;
    dimmingEnabled = true;
    defaultFrameRateCompatibility =
            static_cast<int8_t>(scheduler::LayerInfo::FrameRateCompatibility::Default);
    defaultFrameRateCompatibility = static_cast<int8_t>(scheduler::FrameRateCompatibility::Default);
    frameRateCategory = static_cast<int8_t>(FrameRateCategory::Default);
    frameRateSelectionStrategy =
            static_cast<int8_t>(scheduler::LayerInfo::FrameRateSelectionStrategy::Self);
+1 −1
Original line number Diff line number Diff line
@@ -1160,7 +1160,7 @@ bool Layer::setDefaultFrameRateCompatibility(FrameRateCompatibility compatibilit
    return true;
}

scheduler::LayerInfo::FrameRateCompatibility Layer::getDefaultFrameRateCompatibility() const {
scheduler::FrameRateCompatibility Layer::getDefaultFrameRateCompatibility() const {
    return mDrawingState.defaultFrameRateCompatibility;
}

+1 −1
Original line number Diff line number Diff line
@@ -111,7 +111,7 @@ public:
    };

    using FrameRate = scheduler::LayerInfo::FrameRate;
    using FrameRateCompatibility = scheduler::LayerInfo::FrameRateCompatibility;
    using FrameRateCompatibility = scheduler::FrameRateCompatibility;
    using FrameRateSelectionStrategy = scheduler::LayerInfo::FrameRateSelectionStrategy;

    struct State {
+38 −0
Original line number Diff line number Diff line
/*
 * Copyright 2023 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

#pragma once

namespace android::scheduler {
// FrameRateCompatibility specifies how we should interpret the frame rate associated with
// the layer.
enum class FrameRateCompatibility {
    Default, // Layer didn't specify any specific handling strategy

    Min, // Layer needs the minimum frame rate.

    Exact, // Layer needs the exact frame rate.

    ExactOrMultiple, // Layer needs the exact frame rate (or a multiple of it) to present the
                     // content properly. Any other value will result in a pull down.

    NoVote, // Layer doesn't have any requirements for the refresh rate and
            // should not be considered when the display refresh rate is determined.

    ftl_last = NoVote
};

} // namespace android::scheduler
Loading