Loading libs/gui/SurfaceComposerClient.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -2337,6 +2337,7 @@ status_t SurfaceComposerClient::getDynamicDisplayInfo(const sp<IBinder>& display } outInfo->activeDisplayModeId = ginfo.activeDisplayModeId; outInfo->renderFrameRate = ginfo.renderFrameRate; outInfo->supportedColorModes.clear(); outInfo->supportedColorModes.reserve(ginfo.supportedColorModes.size()); Loading libs/gui/aidl/android/gui/DynamicDisplayInfo.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ parcelable DynamicDisplayInfo { List<DisplayMode> supportedDisplayModes; int activeDisplayModeId; float renderFrameRate; int[] supportedColorModes; int activeColorMode; Loading libs/ui/include/ui/DynamicDisplayInfo.h +1 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ struct DynamicDisplayInfo { // we can't use size_t because it may have different width // in the client process. ui::DisplayModeId activeDisplayModeId; float renderFrameRate; std::vector<ui::ColorMode> supportedColorModes; ui::ColorMode activeColorMode; Loading services/surfaceflinger/Scheduler/EventThread.cpp +6 −6 Original line number Diff line number Diff line Loading @@ -124,12 +124,12 @@ DisplayEventReceiver::Event makeVSync(PhysicalDisplayId displayId, nsecs_t times return event; } DisplayEventReceiver::Event makeModeChanged(DisplayModePtr mode) { DisplayEventReceiver::Event makeModeChanged(const scheduler::FrameRateMode& mode) { DisplayEventReceiver::Event event; event.header = {DisplayEventReceiver::DISPLAY_EVENT_MODE_CHANGE, mode->getPhysicalDisplayId(), systemTime()}; event.modeChange.modeId = mode->getId().value(); event.modeChange.vsyncPeriod = mode->getVsyncPeriod(); event.header = {DisplayEventReceiver::DISPLAY_EVENT_MODE_CHANGE, mode.modePtr->getPhysicalDisplayId(), systemTime()}; event.modeChange.modeId = mode.modePtr->getId().value(); event.modeChange.vsyncPeriod = mode.fps.getPeriodNsecs(); return event; } Loading Loading @@ -405,7 +405,7 @@ void EventThread::onHotplugReceived(PhysicalDisplayId displayId, bool connected) mCondition.notify_all(); } void EventThread::onModeChanged(DisplayModePtr mode) { void EventThread::onModeChanged(const scheduler::FrameRateMode& mode) { std::lock_guard<std::mutex> lock(mMutex); mPendingEvents.push_back(makeModeChanged(mode)); Loading services/surfaceflinger/Scheduler/EventThread.h +3 −2 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ #include <sys/types.h> #include <utils/Errors.h> #include <scheduler/FrameRateMode.h> #include <condition_variable> #include <cstdint> #include <deque> Loading Loading @@ -134,7 +135,7 @@ public: virtual void onHotplugReceived(PhysicalDisplayId displayId, bool connected) = 0; // called when SF changes the active mode and apps needs to be notified about the change virtual void onModeChanged(DisplayModePtr) = 0; virtual void onModeChanged(const scheduler::FrameRateMode&) = 0; // called when SF updates the Frame Rate Override list virtual void onFrameRateOverridesChanged(PhysicalDisplayId displayId, Loading Loading @@ -185,7 +186,7 @@ public: void onHotplugReceived(PhysicalDisplayId displayId, bool connected) override; void onModeChanged(DisplayModePtr) override; void onModeChanged(const scheduler::FrameRateMode&) override; void onFrameRateOverridesChanged(PhysicalDisplayId displayId, std::vector<FrameRateOverride> overrides) override; Loading Loading
libs/gui/SurfaceComposerClient.cpp +1 −0 Original line number Diff line number Diff line Loading @@ -2337,6 +2337,7 @@ status_t SurfaceComposerClient::getDynamicDisplayInfo(const sp<IBinder>& display } outInfo->activeDisplayModeId = ginfo.activeDisplayModeId; outInfo->renderFrameRate = ginfo.renderFrameRate; outInfo->supportedColorModes.clear(); outInfo->supportedColorModes.reserve(ginfo.supportedColorModes.size()); Loading
libs/gui/aidl/android/gui/DynamicDisplayInfo.aidl +1 −0 Original line number Diff line number Diff line Loading @@ -27,6 +27,7 @@ parcelable DynamicDisplayInfo { List<DisplayMode> supportedDisplayModes; int activeDisplayModeId; float renderFrameRate; int[] supportedColorModes; int activeColorMode; Loading
libs/ui/include/ui/DynamicDisplayInfo.h +1 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ struct DynamicDisplayInfo { // we can't use size_t because it may have different width // in the client process. ui::DisplayModeId activeDisplayModeId; float renderFrameRate; std::vector<ui::ColorMode> supportedColorModes; ui::ColorMode activeColorMode; Loading
services/surfaceflinger/Scheduler/EventThread.cpp +6 −6 Original line number Diff line number Diff line Loading @@ -124,12 +124,12 @@ DisplayEventReceiver::Event makeVSync(PhysicalDisplayId displayId, nsecs_t times return event; } DisplayEventReceiver::Event makeModeChanged(DisplayModePtr mode) { DisplayEventReceiver::Event makeModeChanged(const scheduler::FrameRateMode& mode) { DisplayEventReceiver::Event event; event.header = {DisplayEventReceiver::DISPLAY_EVENT_MODE_CHANGE, mode->getPhysicalDisplayId(), systemTime()}; event.modeChange.modeId = mode->getId().value(); event.modeChange.vsyncPeriod = mode->getVsyncPeriod(); event.header = {DisplayEventReceiver::DISPLAY_EVENT_MODE_CHANGE, mode.modePtr->getPhysicalDisplayId(), systemTime()}; event.modeChange.modeId = mode.modePtr->getId().value(); event.modeChange.vsyncPeriod = mode.fps.getPeriodNsecs(); return event; } Loading Loading @@ -405,7 +405,7 @@ void EventThread::onHotplugReceived(PhysicalDisplayId displayId, bool connected) mCondition.notify_all(); } void EventThread::onModeChanged(DisplayModePtr mode) { void EventThread::onModeChanged(const scheduler::FrameRateMode& mode) { std::lock_guard<std::mutex> lock(mMutex); mPendingEvents.push_back(makeModeChanged(mode)); Loading
services/surfaceflinger/Scheduler/EventThread.h +3 −2 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ #include <sys/types.h> #include <utils/Errors.h> #include <scheduler/FrameRateMode.h> #include <condition_variable> #include <cstdint> #include <deque> Loading Loading @@ -134,7 +135,7 @@ public: virtual void onHotplugReceived(PhysicalDisplayId displayId, bool connected) = 0; // called when SF changes the active mode and apps needs to be notified about the change virtual void onModeChanged(DisplayModePtr) = 0; virtual void onModeChanged(const scheduler::FrameRateMode&) = 0; // called when SF updates the Frame Rate Override list virtual void onFrameRateOverridesChanged(PhysicalDisplayId displayId, Loading Loading @@ -185,7 +186,7 @@ public: void onHotplugReceived(PhysicalDisplayId displayId, bool connected) override; void onModeChanged(DisplayModePtr) override; void onModeChanged(const scheduler::FrameRateMode&) override; void onFrameRateOverridesChanged(PhysicalDisplayId displayId, std::vector<FrameRateOverride> overrides) override; Loading