Loading libs/gui/Choreographer.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -369,6 +369,10 @@ void Choreographer::dispatchHdcpLevelsChanged(PhysicalDisplayId displayId, int32 this, to_string(displayId).c_str(), connectedLevel, maxLevel); } void Choreographer::dispatchModeRejected(PhysicalDisplayId, int32_t) { LOG_ALWAYS_FATAL("dispatchModeRejected was called but was never registered"); } void Choreographer::handleMessage(const Message& message) { switch (message.what) { case MSG_SCHEDULE_CALLBACKS: Loading libs/gui/DisplayEventDispatcher.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -211,6 +211,9 @@ bool DisplayEventDispatcher::processPendingEvents(nsecs_t* outTimestamp, ev.hdcpLevelsChange.connectedLevel, ev.hdcpLevelsChange.maxLevel); break; case DisplayEventReceiver::DISPLAY_EVENT_MODE_REJECTION: dispatchModeRejected(ev.header.displayId, ev.modeRejection.modeId); break; default: ALOGW("dispatcher %p ~ ignoring unknown event type %#x", this, ev.header.type); break; Loading libs/gui/include/gui/Choreographer.h +1 −0 Original line number Diff line number Diff line Loading @@ -127,6 +127,7 @@ private: std::vector<FrameRateOverride> overrides) override; void dispatchHdcpLevelsChanged(PhysicalDisplayId displayId, int32_t connectedLevel, int32_t maxLevel) override; void dispatchModeRejected(PhysicalDisplayId displayId, int32_t modeId) override; void scheduleCallbacks(); Loading libs/gui/include/gui/DisplayEventDispatcher.h +2 −0 Original line number Diff line number Diff line Loading @@ -68,6 +68,8 @@ private: virtual void dispatchHdcpLevelsChanged(PhysicalDisplayId displayId, int32_t connectedLevel, int32_t maxLevel) = 0; virtual void dispatchModeRejected(PhysicalDisplayId displayId, int32_t modeId) = 0; bool processPendingEvents(nsecs_t* outTimestamp, PhysicalDisplayId* outDisplayId, uint32_t* outCount, VsyncEventData* outVsyncEventData); Loading libs/gui/include/gui/DisplayEventReceiver.h +6 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ public: DISPLAY_EVENT_VSYNC = fourcc('v', 's', 'y', 'n'), DISPLAY_EVENT_HOTPLUG = fourcc('p', 'l', 'u', 'g'), DISPLAY_EVENT_MODE_CHANGE = fourcc('m', 'o', 'd', 'e'), DISPLAY_EVENT_MODE_REJECTION = fourcc('r', 'e', 'j', 'e'), DISPLAY_EVENT_NULL = fourcc('n', 'u', 'l', 'l'), DISPLAY_EVENT_FRAME_RATE_OVERRIDE = fourcc('r', 'a', 't', 'e'), DISPLAY_EVENT_FRAME_RATE_OVERRIDE_FLUSH = fourcc('f', 'l', 's', 'h'), Loading Loading @@ -96,6 +97,10 @@ public: nsecs_t vsyncPeriod __attribute__((aligned(8))); }; struct ModeRejection { int32_t modeId; }; struct FrameRateOverride { uid_t uid __attribute__((aligned(8))); float frameRateHz __attribute__((aligned(8))); Loading @@ -117,6 +122,7 @@ public: ModeChange modeChange; FrameRateOverride frameRateOverride; HdcpLevelsChange hdcpLevelsChange; ModeRejection modeRejection; }; }; static_assert(sizeof(Event) == 224); Loading Loading
libs/gui/Choreographer.cpp +4 −0 Original line number Diff line number Diff line Loading @@ -369,6 +369,10 @@ void Choreographer::dispatchHdcpLevelsChanged(PhysicalDisplayId displayId, int32 this, to_string(displayId).c_str(), connectedLevel, maxLevel); } void Choreographer::dispatchModeRejected(PhysicalDisplayId, int32_t) { LOG_ALWAYS_FATAL("dispatchModeRejected was called but was never registered"); } void Choreographer::handleMessage(const Message& message) { switch (message.what) { case MSG_SCHEDULE_CALLBACKS: Loading
libs/gui/DisplayEventDispatcher.cpp +3 −0 Original line number Diff line number Diff line Loading @@ -211,6 +211,9 @@ bool DisplayEventDispatcher::processPendingEvents(nsecs_t* outTimestamp, ev.hdcpLevelsChange.connectedLevel, ev.hdcpLevelsChange.maxLevel); break; case DisplayEventReceiver::DISPLAY_EVENT_MODE_REJECTION: dispatchModeRejected(ev.header.displayId, ev.modeRejection.modeId); break; default: ALOGW("dispatcher %p ~ ignoring unknown event type %#x", this, ev.header.type); break; Loading
libs/gui/include/gui/Choreographer.h +1 −0 Original line number Diff line number Diff line Loading @@ -127,6 +127,7 @@ private: std::vector<FrameRateOverride> overrides) override; void dispatchHdcpLevelsChanged(PhysicalDisplayId displayId, int32_t connectedLevel, int32_t maxLevel) override; void dispatchModeRejected(PhysicalDisplayId displayId, int32_t modeId) override; void scheduleCallbacks(); Loading
libs/gui/include/gui/DisplayEventDispatcher.h +2 −0 Original line number Diff line number Diff line Loading @@ -68,6 +68,8 @@ private: virtual void dispatchHdcpLevelsChanged(PhysicalDisplayId displayId, int32_t connectedLevel, int32_t maxLevel) = 0; virtual void dispatchModeRejected(PhysicalDisplayId displayId, int32_t modeId) = 0; bool processPendingEvents(nsecs_t* outTimestamp, PhysicalDisplayId* outDisplayId, uint32_t* outCount, VsyncEventData* outVsyncEventData); Loading
libs/gui/include/gui/DisplayEventReceiver.h +6 −0 Original line number Diff line number Diff line Loading @@ -62,6 +62,7 @@ public: DISPLAY_EVENT_VSYNC = fourcc('v', 's', 'y', 'n'), DISPLAY_EVENT_HOTPLUG = fourcc('p', 'l', 'u', 'g'), DISPLAY_EVENT_MODE_CHANGE = fourcc('m', 'o', 'd', 'e'), DISPLAY_EVENT_MODE_REJECTION = fourcc('r', 'e', 'j', 'e'), DISPLAY_EVENT_NULL = fourcc('n', 'u', 'l', 'l'), DISPLAY_EVENT_FRAME_RATE_OVERRIDE = fourcc('r', 'a', 't', 'e'), DISPLAY_EVENT_FRAME_RATE_OVERRIDE_FLUSH = fourcc('f', 'l', 's', 'h'), Loading Loading @@ -96,6 +97,10 @@ public: nsecs_t vsyncPeriod __attribute__((aligned(8))); }; struct ModeRejection { int32_t modeId; }; struct FrameRateOverride { uid_t uid __attribute__((aligned(8))); float frameRateHz __attribute__((aligned(8))); Loading @@ -117,6 +122,7 @@ public: ModeChange modeChange; FrameRateOverride frameRateOverride; HdcpLevelsChange hdcpLevelsChange; ModeRejection modeRejection; }; }; static_assert(sizeof(Event) == 224); Loading