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

Commit b6b241f9 authored by Rachel Lee's avatar Rachel Lee Committed by Automerger Merge Worker
Browse files

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

parents f20da3e2 9ab6389c
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) {