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

Commit 9ab6389c authored by Rachel Lee's avatar Rachel Lee Committed by Android (Google) Code Review
Browse files

Merge "Fix 59.94 fps content to choose 60 Hz mode." into udc-dev

parents f2075052 36426fa5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -308,7 +308,7 @@ float RefreshRateSelector::calculateNonExactMatchingLayerScoreLocked(const Layer
        // significantly faster than the display rate, at it would cause a significant frame drop.
        // It is more appropriate to choose a higher display rate even if
        // a pull-down will be required.
        constexpr float kMinMultiplier = 0.25f;
        constexpr float kMinMultiplier = 0.75f;
        if (multiplier >= kMinMultiplier &&
            isFractionalPairOrMultiple(refreshRate, layer.desiredRefreshRate)) {
            return kScoreForFractionalPairs;
+18 −0
Original line number Diff line number Diff line
@@ -1455,6 +1455,24 @@ TEST_P(RefreshRateSelectorTest,
        lr.name = "ExplicitExactOrMultiple 29.97 Hz";
        EXPECT_EQ(kModeId60Frac, selector.getBestFrameRateMode(layers)->getId());
    }

    // Test that 29.97 will choose 30 if 59.94 is not supported
    {
        auto selector = createSelector(makeModes(kMode30, kMode60), kModeId60);

        lr.desiredRefreshRate = 29.97_Hz;
        lr.name = "ExplicitExactOrMultiple 29.97 Hz";
        EXPECT_EQ(kModeId30, selector.getBestFrameRateMode(layers)->getId());
    }

    // Test that 59.94 will choose 60 if 59.94 is not supported
    {
        auto selector = createSelector(makeModes(kMode60, kMode30Frac, kMode30), kModeId60);

        lr.desiredRefreshRate = 59.94_Hz;
        lr.name = "ExplicitExactOrMultiple 59.94 Hz";
        EXPECT_EQ(kModeId60, selector.getBestFrameRateMode(layers)->getId());
    }
}

TEST_P(RefreshRateSelectorTest, getBestFrameRateMode_ExplicitExact_WithFractionalRefreshRates) {