Merge "Prevent buggy display orientation when exiting vr" into oc-dev
am: 95d4e52244
Change-Id: Ie146b08ded70a24bbdc4b681c72724807e26717e
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp
index 45cac6f..fec1f1e 100644
--- a/services/surfaceflinger/SurfaceFlinger.cpp
+++ b/services/surfaceflinger/SurfaceFlinger.cpp
@@ -1262,7 +1262,6 @@
}
}
mDisplays.clear();
- initializeDisplays();
}
void SurfaceFlinger::updateVrFlinger() {
@@ -1309,6 +1308,12 @@
// parts of this class rely on the primary display always being available.
createDefaultDisplayDevice();
+ // Reset the timing values to account for the period of the swapped in HWC
+ const auto& activeConfig = mHwc->getActiveConfig(HWC_DISPLAY_PRIMARY);
+ const nsecs_t period = activeConfig->getVsyncPeriod();
+ mAnimFrameTracker.setDisplayRefreshPeriod(period);
+ setCompositorTimingSnapped(0, period, 0);
+
android_atomic_or(1, &mRepaintEverything);
setTransactionFlags(eDisplayTransactionNeeded);
}