From 2b2ec50b56fb2134754fbeef8b96f1787c349313 Mon Sep 17 00:00:00 2001 From: ramindani Date: Fri, 25 Aug 2023 18:47:38 -0700 Subject: [PATCH] [Composer VTS] Check Vrr mode is the only mode in the Config Group BUG: 296636107 Test: atest VtsHalGraphicsComposer3_TargetTest Change-Id: I4bdf7b0988673a13297d648dcf3360a6821aaecb --- .../aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp index 90944d5b68..1e6f34b534 100644 --- a/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp +++ b/graphics/composer/aidl/vts/VtsHalGraphicsComposer3_TargetTest.cpp @@ -1231,13 +1231,20 @@ TEST_P(GraphicsComposerAidlV3Test, GetDisplayConfigurations) { EXPECT_NE(-1, displayConfig.vsyncPeriod); EXPECT_NE(-1, displayConfig.configGroup); if (displayConfig.dpi) { - EXPECT_NE(-1, displayConfig.dpi->x); - EXPECT_NE(-1, displayConfig.dpi->y); + EXPECT_NE(-1.f, displayConfig.dpi->x); + EXPECT_NE(-1.f, displayConfig.dpi->y); } if (displayConfig.vrrConfig) { const auto& vrrConfig = *displayConfig.vrrConfig; EXPECT_GE(vrrConfig.minFrameIntervalNs, displayConfig.vsyncPeriod); + EXPECT_EQ(1, std::count_if( + displayConfigurations.cbegin(), displayConfigurations.cend(), + [displayConfig](const auto& config) { + return config.configGroup == displayConfig.configGroup; + })) + << "There should be only one VRR mode in one ConfigGroup"; + const auto verifyFrameIntervalIsDivisorOfVsync = [&](int32_t frameIntervalNs) { constexpr auto kThreshold = 0.05f; // 5% const auto ratio =