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

Commit 58fbba63 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

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


  // track invalid callbacks
  // track invalid callbacks
  int mInvalidHotplugCount = 0;
  int mInvalidHotplugCount = 0;
+5 −0
Original line number Original line Diff line number Diff line
@@ -297,6 +297,11 @@ void ComposerClient::setVsyncEnabled(Display display, bool enabled) {
                                           : IComposerClient::Vsync::DISABLE;
                                           : IComposerClient::Vsync::DISABLE;
  Error error = mClient->setVsyncEnabled(display, vsync);
  Error error = mClient->setVsyncEnabled(display, vsync);
  ASSERT_EQ(Error::NONE, error) << "failed to set vsync mode";
  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,
void ComposerClient::execute(TestCommandReader* reader,
+4 −0
Original line number Original line Diff line number Diff line
@@ -61,6 +61,10 @@ class GraphicsComposerHidlTest : public ::testing::VtsHalHidlTargetTestBase {


    // assume the first display is primary and is never removed
    // assume the first display is primary and is never removed
    mPrimaryDisplay = waitForFirstDisplay();
    mPrimaryDisplay = waitForFirstDisplay();

    // explicitly disable vsync
    mComposerClient->setVsyncEnabled(mPrimaryDisplay, false);
    mComposerCallback->setVsyncAllowed(false);
  }
  }


  void TearDown() override {
  void TearDown() override {