diff options
| author | 2021-05-18 20:51:02 +0000 | |
|---|---|---|
| committer | 2021-05-18 20:51:02 +0000 | |
| commit | d59bcb858c93cd8f0a57e64cf0144534aa540f4f (patch) | |
| tree | 043a1fe223f3b76f14682ca8aa403b57b0380a3b | |
| parent | 7ed6f2fca8325ffa8a62d356adad51937f9d0a37 (diff) | |
| parent | e7aadccdb1374315214248cc286dfd82fa76a4b7 (diff) | |
Merge "SF: Add unit test for RefreshRateConfigs" into sc-dev
| -rw-r--r-- | services/surfaceflinger/tests/unittests/RefreshRateConfigsTest.cpp | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/services/surfaceflinger/tests/unittests/RefreshRateConfigsTest.cpp b/services/surfaceflinger/tests/unittests/RefreshRateConfigsTest.cpp index 0b70f27781..7ace70aeef 100644 --- a/services/surfaceflinger/tests/unittests/RefreshRateConfigsTest.cpp +++ b/services/surfaceflinger/tests/unittests/RefreshRateConfigsTest.cpp @@ -1450,12 +1450,12 @@ TEST_F(RefreshRateConfigsTest, nonSeamlessExactAndSeamlessMultipleLayers) { .seamlessness = Seamlessness::OnlySeamless, .weight = 1.0f, .focused = true}}; - auto& seamedLayer = layers[0]; ASSERT_EQ(HWC_CONFIG_ID_50, refreshRateConfigs->getBestRefreshRate(layers, {.touch = false, .idle = false}) .getModeId()); + auto& seamedLayer = layers[0]; seamedLayer.name = "30Hz ExplicitDefault", seamedLayer.desiredRefreshRate = Fps(30.0f); refreshRateConfigs->setCurrentModeId(HWC_CONFIG_ID_30); @@ -1464,6 +1464,27 @@ TEST_F(RefreshRateConfigsTest, nonSeamlessExactAndSeamlessMultipleLayers) { .getModeId()); } +TEST_F(RefreshRateConfigsTest, minLayersDontTrigerSeamedSwitch) { + auto refreshRateConfigs = + std::make_unique<RefreshRateConfigs>(m60_90DeviceWithDifferentGroups, + /*currentConfigId=*/HWC_CONFIG_ID_90); + + // Allow group switching. + RefreshRateConfigs::Policy policy; + policy.defaultMode = refreshRateConfigs->getCurrentPolicy().defaultMode; + policy.allowGroupSwitching = true; + ASSERT_GE(refreshRateConfigs->setDisplayManagerPolicy(policy), 0); + + auto layers = std::vector<LayerRequirement>{LayerRequirement{.name = "Min", + .vote = LayerVoteType::Min, + .weight = 1.f, + .focused = true}}; + + ASSERT_EQ(HWC_CONFIG_ID_90, + refreshRateConfigs->getBestRefreshRate(layers, {.touch = false, .idle = false}) + .getModeId()); +} + TEST_F(RefreshRateConfigsTest, primaryVsAppRequestPolicy) { auto refreshRateConfigs = std::make_unique<RefreshRateConfigs>(m30_60_90Device, |