From e0ff3e4a2679cb505e801db5df4d1546f6caa41a Mon Sep 17 00:00:00 2001 From: Chia-I Wu Date: Mon, 24 Jul 2017 11:11:01 -0700 Subject: [PATCH] graphics: ignore/reduce spurious vsync in VTS Bug: 62802718 Test: VTS Change-Id: I1ed73e0b2f14414f540865a96e6bd5ac1599fbf3 --- .../composer/2.1/vts/functional/GraphicsComposerCallback.h | 2 +- .../2.1/vts/functional/VtsHalGraphicsComposerTestUtils.cpp | 5 +++++ .../vts/functional/VtsHalGraphicsComposerV2_1TargetTest.cpp | 4 ++++ 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/graphics/composer/2.1/vts/functional/GraphicsComposerCallback.h b/graphics/composer/2.1/vts/functional/GraphicsComposerCallback.h index ada7d09997..e3320865e8 100644 --- a/graphics/composer/2.1/vts/functional/GraphicsComposerCallback.h +++ b/graphics/composer/2.1/vts/functional/GraphicsComposerCallback.h @@ -51,7 +51,7 @@ class GraphicsComposerCallback : public IComposerCallback { // the set of all currently connected displays std::unordered_set mDisplays; // true only when vsync is enabled - bool mVsyncAllowed = false; + bool mVsyncAllowed = true; // track invalid callbacks int mInvalidHotplugCount = 0; diff --git a/graphics/composer/2.1/vts/functional/VtsHalGraphicsComposerTestUtils.cpp b/graphics/composer/2.1/vts/functional/VtsHalGraphicsComposerTestUtils.cpp index 4e65a95bfd..c66cdd0c9e 100644 --- a/graphics/composer/2.1/vts/functional/VtsHalGraphicsComposerTestUtils.cpp +++ b/graphics/composer/2.1/vts/functional/VtsHalGraphicsComposerTestUtils.cpp @@ -297,6 +297,11 @@ void ComposerClient::setVsyncEnabled(Display display, bool enabled) { : IComposerClient::Vsync::DISABLE; Error error = mClient->setVsyncEnabled(display, vsync); ASSERT_EQ(Error::NONE, error) << "failed to set vsync mode"; + + // give the hwbinder thread some time to handle any pending vsync callback + if (!enabled) { + usleep(5 * 1000); + } } void ComposerClient::execute(TestCommandReader* reader, diff --git a/graphics/composer/2.1/vts/functional/VtsHalGraphicsComposerV2_1TargetTest.cpp b/graphics/composer/2.1/vts/functional/VtsHalGraphicsComposerV2_1TargetTest.cpp index c77b7d3972..0f03546558 100644 --- a/graphics/composer/2.1/vts/functional/VtsHalGraphicsComposerV2_1TargetTest.cpp +++ b/graphics/composer/2.1/vts/functional/VtsHalGraphicsComposerV2_1TargetTest.cpp @@ -61,6 +61,10 @@ class GraphicsComposerHidlTest : public ::testing::VtsHalHidlTargetTestBase { // assume the first display is primary and is never removed mPrimaryDisplay = waitForFirstDisplay(); + + // explicitly disable vsync + mComposerClient->setVsyncEnabled(mPrimaryDisplay, false); + mComposerCallback->setVsyncAllowed(false); } void TearDown() override {