Loading libs/vr/libvrflinger/hardware_composer.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -1215,6 +1215,12 @@ Return<void> HardwareComposer::ComposerCallback::onVsyncPeriodTimingChanged( return Void(); } Return<void> HardwareComposer::ComposerCallback::onSeamlessPossible( Hwc2::Display /*display*/) { LOG_ALWAYS_FATAL("Unexpected onSeamlessPossible callback"); return Void(); } void HardwareComposer::ComposerCallback::SetVsyncService( const sp<VsyncService>& vsync_service) { std::lock_guard<std::mutex> lock(mutex_); Loading libs/vr/libvrflinger/hardware_composer.h +1 −0 Original line number Diff line number Diff line Loading @@ -381,6 +381,7 @@ class HardwareComposer { hardware::Return<void> onVsyncPeriodTimingChanged( Hwc2::Display display, const Hwc2::VsyncPeriodChangeTimeline& updatedTimeline) override; hardware::Return<void> onSeamlessPossible(Hwc2::Display display) override; bool GotFirstHotplug() { return got_first_hotplug_; } void SetVsyncService(const sp<VsyncService>& vsync_service); Loading services/surfaceflinger/DisplayHardware/HWC2.h +1 −0 Original line number Diff line number Diff line Loading @@ -76,6 +76,7 @@ class ComposerCallback { virtual void onVsyncPeriodTimingChangedReceived( int32_t sequenceId, hwc2_display_t display, const hwc_vsync_period_change_timeline_t& updatedTimeline) = 0; virtual void onSeamlessPossible(int32_t sequenceId, hwc2_display_t display) = 0; virtual ~ComposerCallback() = default; }; Loading services/surfaceflinger/DisplayHardware/HWComposer.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -125,6 +125,11 @@ public: return android::hardware::Void(); } android::hardware::Return<void> onSeamlessPossible(android::Hwc2::Display display) override { mCallback->onSeamlessPossible(mSequenceId, display); return android::hardware::Void(); } private: HWC2::ComposerCallback* mCallback; const int32_t mSequenceId; Loading services/surfaceflinger/SurfaceFlinger.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -1570,6 +1570,11 @@ void SurfaceFlinger::onVsyncPeriodTimingChangedReceived( mScheduler->onNewVsyncPeriodChangeTimeline(updatedTimeline); } void SurfaceFlinger::onSeamlessPossible(int32_t /*sequenceId*/, hwc2_display_t /*display*/) { // TODO(b/142753666): use constraints when calling to setActiveConfigWithConstrains and // use this callback to know when to retry in case of SEAMLESS_NOT_POSSIBLE. } void SurfaceFlinger::onRefreshReceived(int sequenceId, hwc2_display_t /*hwcDisplayId*/) { Mutex::Autolock lock(mStateLock); if (sequenceId != getBE().mComposerSequenceId) { Loading Loading
libs/vr/libvrflinger/hardware_composer.cpp +6 −0 Original line number Diff line number Diff line Loading @@ -1215,6 +1215,12 @@ Return<void> HardwareComposer::ComposerCallback::onVsyncPeriodTimingChanged( return Void(); } Return<void> HardwareComposer::ComposerCallback::onSeamlessPossible( Hwc2::Display /*display*/) { LOG_ALWAYS_FATAL("Unexpected onSeamlessPossible callback"); return Void(); } void HardwareComposer::ComposerCallback::SetVsyncService( const sp<VsyncService>& vsync_service) { std::lock_guard<std::mutex> lock(mutex_); Loading
libs/vr/libvrflinger/hardware_composer.h +1 −0 Original line number Diff line number Diff line Loading @@ -381,6 +381,7 @@ class HardwareComposer { hardware::Return<void> onVsyncPeriodTimingChanged( Hwc2::Display display, const Hwc2::VsyncPeriodChangeTimeline& updatedTimeline) override; hardware::Return<void> onSeamlessPossible(Hwc2::Display display) override; bool GotFirstHotplug() { return got_first_hotplug_; } void SetVsyncService(const sp<VsyncService>& vsync_service); Loading
services/surfaceflinger/DisplayHardware/HWC2.h +1 −0 Original line number Diff line number Diff line Loading @@ -76,6 +76,7 @@ class ComposerCallback { virtual void onVsyncPeriodTimingChangedReceived( int32_t sequenceId, hwc2_display_t display, const hwc_vsync_period_change_timeline_t& updatedTimeline) = 0; virtual void onSeamlessPossible(int32_t sequenceId, hwc2_display_t display) = 0; virtual ~ComposerCallback() = default; }; Loading
services/surfaceflinger/DisplayHardware/HWComposer.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -125,6 +125,11 @@ public: return android::hardware::Void(); } android::hardware::Return<void> onSeamlessPossible(android::Hwc2::Display display) override { mCallback->onSeamlessPossible(mSequenceId, display); return android::hardware::Void(); } private: HWC2::ComposerCallback* mCallback; const int32_t mSequenceId; Loading
services/surfaceflinger/SurfaceFlinger.cpp +5 −0 Original line number Diff line number Diff line Loading @@ -1570,6 +1570,11 @@ void SurfaceFlinger::onVsyncPeriodTimingChangedReceived( mScheduler->onNewVsyncPeriodChangeTimeline(updatedTimeline); } void SurfaceFlinger::onSeamlessPossible(int32_t /*sequenceId*/, hwc2_display_t /*display*/) { // TODO(b/142753666): use constraints when calling to setActiveConfigWithConstrains and // use this callback to know when to retry in case of SEAMLESS_NOT_POSSIBLE. } void SurfaceFlinger::onRefreshReceived(int sequenceId, hwc2_display_t /*hwcDisplayId*/) { Mutex::Autolock lock(mStateLock); if (sequenceId != getBE().mComposerSequenceId) { Loading