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

Commit 5e4aa150 authored by Chia-I Wu's avatar Chia-I Wu Committed by android-build-merger
Browse files

Merge "graphics: ignore/reduce spurious vsync in VTS" into oc-dr1-dev am: d1231716

am: 58fbba63

Change-Id: I1c60e660c86cb672f0489d3b11daf3bdaa5ba733
parents cf0305b5 58fbba63
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ class GraphicsComposerCallback : public IComposerCallback {
  // the set of all currently connected displays
  std::unordered_set<Display> mDisplays;
  // true only when vsync is enabled
  bool mVsyncAllowed = false;
  bool mVsyncAllowed = true;

  // track invalid callbacks
  int mInvalidHotplugCount = 0;
+5 −0
Original line number Diff line number Diff line
@@ -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,
+4 −0
Original line number Diff line number Diff line
@@ -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 {