diff options
Diffstat (limited to 'services/surfaceflinger/SurfaceFlinger.cpp')
| -rw-r--r-- | services/surfaceflinger/SurfaceFlinger.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/services/surfaceflinger/SurfaceFlinger.cpp b/services/surfaceflinger/SurfaceFlinger.cpp index c1f362ccd1..486112ae4d 100644 --- a/services/surfaceflinger/SurfaceFlinger.cpp +++ b/services/surfaceflinger/SurfaceFlinger.cpp @@ -3736,7 +3736,8 @@ void SurfaceFlinger::processDisplayAdded(const wp<IBinder>& displayToken, ftl::FakeGuard guard(kMainThreadContext); // For hotplug reconnect, renew the registration since display modes have been reloaded. - mScheduler->registerDisplay(display->getPhysicalId(), display->holdRefreshRateSelector()); + mScheduler->registerDisplay(display->getPhysicalId(), display->holdRefreshRateSelector(), + mActiveDisplayId); } if (display->isVirtual()) { @@ -3775,7 +3776,7 @@ void SurfaceFlinger::processDisplayRemoved(const wp<IBinder>& displayToken) { if (display->isVirtual()) { releaseVirtualDisplay(display->getVirtualId()); } else { - mScheduler->unregisterDisplay(display->getPhysicalId()); + mScheduler->unregisterDisplay(display->getPhysicalId(), mActiveDisplayId); } } @@ -4395,7 +4396,8 @@ void SurfaceFlinger::initScheduler(const sp<const DisplayDevice>& display) { getFactory(), activeRefreshRate, *mTimeStats); // The pacesetter must be registered before EventThread creation below. - mScheduler->registerDisplay(display->getPhysicalId(), display->holdRefreshRateSelector()); + mScheduler->registerDisplay(display->getPhysicalId(), display->holdRefreshRateSelector(), + mActiveDisplayId); if (FlagManager::getInstance().vrr_config()) { mScheduler->setRenderRate(display->getPhysicalId(), activeMode.fps); } |