@@ -86,44 +86,51 @@ std::string toString(const EventThreadConnection& connection) {
8686
8787std::string toString (const DisplayEventReceiver::Event& event) {
8888 switch (event.header .type ) {
89- case DisplayEventReceiver ::DISPLAY_EVENT_HOTPLUG:
89+ case DisplayEventType ::DISPLAY_EVENT_HOTPLUG:
9090 return StringPrintf (" Hotplug{displayId=%s, %s}" ,
9191 to_string (event.header .displayId ).c_str (),
9292 event.hotplug .connected ? " connected" : " disconnected" );
93- case DisplayEventReceiver ::DISPLAY_EVENT_VSYNC:
93+ case DisplayEventType ::DISPLAY_EVENT_VSYNC:
9494 return StringPrintf (" VSync{displayId=%s, count=%u, expectedPresentationTime=%" PRId64
9595 " }" ,
9696 to_string (event.header .displayId ).c_str (), event.vsync .count ,
9797 event.vsync .vsyncData .preferredExpectedPresentationTime ());
98- case DisplayEventReceiver ::DISPLAY_EVENT_MODE_CHANGE:
98+ case DisplayEventType ::DISPLAY_EVENT_MODE_CHANGE:
9999 return StringPrintf (" ModeChanged{displayId=%s, modeId=%u}" ,
100100 to_string (event.header .displayId ).c_str (), event.modeChange .modeId );
101- case DisplayEventReceiver ::DISPLAY_EVENT_HDCP_LEVELS_CHANGE:
101+ case DisplayEventType ::DISPLAY_EVENT_HDCP_LEVELS_CHANGE:
102102 return StringPrintf (" HdcpLevelsChange{displayId=%s, connectedLevel=%d, maxLevel=%d}" ,
103103 to_string (event.header .displayId ).c_str (),
104104 event.hdcpLevelsChange .connectedLevel ,
105105 event.hdcpLevelsChange .maxLevel );
106- case DisplayEventReceiver ::DISPLAY_EVENT_MODE_REJECTION:
106+ case DisplayEventType ::DISPLAY_EVENT_MODE_REJECTION:
107107 return StringPrintf (" ModeRejected{displayId=%s, modeId=%u}" ,
108108 to_string (event.header .displayId ).c_str (),
109109 event.modeRejection .modeId );
110- default :
111- return " Event{}" ;
110+ case DisplayEventType::DISPLAY_EVENT_FRAME_RATE_OVERRIDE:
111+ return StringPrintf (" FrameRateOverride{displayId=%s, frameRateHz=%f}" ,
112+ to_string (event.header .displayId ).c_str (),
113+ event.frameRateOverride .frameRateHz );
114+ case DisplayEventType::DISPLAY_EVENT_FRAME_RATE_OVERRIDE_FLUSH:
115+ return StringPrintf (" FrameRateOverrideFlush{displayId=%s}" ,
116+ to_string (event.header .displayId ).c_str ());
117+ case DisplayEventType::DISPLAY_EVENT_NULL:
118+ return " NULL" ;
112119 }
113120}
114121
115122DisplayEventReceiver::Event makeHotplug (PhysicalDisplayId displayId, nsecs_t timestamp,
116123 bool connected) {
117124 DisplayEventReceiver::Event event;
118- event.header = {DisplayEventReceiver ::DISPLAY_EVENT_HOTPLUG, displayId, timestamp};
125+ event.header = {DisplayEventType ::DISPLAY_EVENT_HOTPLUG, displayId, timestamp};
119126 event.hotplug .connected = connected;
120127 return event;
121128}
122129
123130DisplayEventReceiver::Event makeHotplugError (nsecs_t timestamp, int32_t connectionError) {
124131 DisplayEventReceiver::Event event;
125132 PhysicalDisplayId unusedDisplayId;
126- event.header = {DisplayEventReceiver ::DISPLAY_EVENT_HOTPLUG, unusedDisplayId, timestamp};
133+ event.header = {DisplayEventType ::DISPLAY_EVENT_HOTPLUG, unusedDisplayId, timestamp};
127134 event.hotplug .connected = false ;
128135 event.hotplug .connectionError = connectionError;
129136 return event;
@@ -133,7 +140,7 @@ DisplayEventReceiver::Event makeVSync(PhysicalDisplayId displayId, nsecs_t times
133140 uint32_t count, nsecs_t expectedPresentationTime,
134141 nsecs_t deadlineTimestamp) {
135142 DisplayEventReceiver::Event event;
136- event.header = {DisplayEventReceiver ::DISPLAY_EVENT_VSYNC, displayId, timestamp};
143+ event.header = {DisplayEventType ::DISPLAY_EVENT_VSYNC, displayId, timestamp};
137144 event.vsync .count = count;
138145 event.vsync .vsyncData .preferredFrameTimelineIndex = 0 ;
139146 // Temporarily store the current vsync information in frameTimelines[0], marked as
@@ -148,7 +155,7 @@ DisplayEventReceiver::Event makeVSync(PhysicalDisplayId displayId, nsecs_t times
148155
149156DisplayEventReceiver::Event makeModeChanged (const scheduler::FrameRateMode& mode) {
150157 DisplayEventReceiver::Event event;
151- event.header = {DisplayEventReceiver ::DISPLAY_EVENT_MODE_CHANGE,
158+ event.header = {DisplayEventType ::DISPLAY_EVENT_MODE_CHANGE,
152159 mode.modePtr ->getPhysicalDisplayId (), systemTime ()};
153160 event.modeChange .modeId = ftl::to_underlying (mode.modePtr ->getId ());
154161 event.modeChange .vsyncPeriod = mode.fps .getPeriodNsecs ();
@@ -160,7 +167,7 @@ DisplayEventReceiver::Event makeFrameRateOverrideEvent(PhysicalDisplayId display
160167 return DisplayEventReceiver::Event{
161168 .header =
162169 DisplayEventReceiver::Event::Header{
163- .type = DisplayEventReceiver ::DISPLAY_EVENT_FRAME_RATE_OVERRIDE,
170+ .type = DisplayEventType ::DISPLAY_EVENT_FRAME_RATE_OVERRIDE,
164171 .displayId = displayId,
165172 .timestamp = systemTime (),
166173 },
@@ -171,7 +178,7 @@ DisplayEventReceiver::Event makeFrameRateOverrideEvent(PhysicalDisplayId display
171178DisplayEventReceiver::Event makeFrameRateOverrideFlushEvent (PhysicalDisplayId displayId) {
172179 return DisplayEventReceiver::Event{
173180 .header = DisplayEventReceiver::Event::Header{
174- .type = DisplayEventReceiver ::DISPLAY_EVENT_FRAME_RATE_OVERRIDE_FLUSH,
181+ .type = DisplayEventType ::DISPLAY_EVENT_FRAME_RATE_OVERRIDE_FLUSH,
175182 .displayId = displayId,
176183 .timestamp = systemTime (),
177184 }};
@@ -182,7 +189,7 @@ DisplayEventReceiver::Event makeHdcpLevelsChange(PhysicalDisplayId displayId,
182189 return DisplayEventReceiver::Event{
183190 .header =
184191 DisplayEventReceiver::Event::Header{
185- .type = DisplayEventReceiver ::DISPLAY_EVENT_HDCP_LEVELS_CHANGE,
192+ .type = DisplayEventType ::DISPLAY_EVENT_HDCP_LEVELS_CHANGE,
186193 .displayId = displayId,
187194 .timestamp = systemTime (),
188195 },
@@ -195,7 +202,7 @@ DisplayEventReceiver::Event makeModeRejection(PhysicalDisplayId displayId, Displ
195202 return DisplayEventReceiver::Event{
196203 .header =
197204 DisplayEventReceiver::Event::Header{
198- .type = DisplayEventReceiver ::DISPLAY_EVENT_MODE_REJECTION,
205+ .type = DisplayEventType ::DISPLAY_EVENT_MODE_REJECTION,
199206 .displayId = displayId,
200207 .timestamp = systemTime (),
201208 },
@@ -263,10 +270,10 @@ status_t EventThreadConnection::postEvent(const DisplayEventReceiver::Event& eve
263270 return size < 0 ? status_t (size) : status_t (NO_ERROR);
264271 };
265272
266- if (event.header .type == DisplayEventReceiver ::DISPLAY_EVENT_FRAME_RATE_OVERRIDE ||
267- event.header .type == DisplayEventReceiver ::DISPLAY_EVENT_FRAME_RATE_OVERRIDE_FLUSH) {
273+ if (event.header .type == DisplayEventType ::DISPLAY_EVENT_FRAME_RATE_OVERRIDE ||
274+ event.header .type == DisplayEventType ::DISPLAY_EVENT_FRAME_RATE_OVERRIDE_FLUSH) {
268275 mPendingEvents .emplace_back (event);
269- if (event.header .type == DisplayEventReceiver ::DISPLAY_EVENT_FRAME_RATE_OVERRIDE) {
276+ if (event.header .type == DisplayEventType ::DISPLAY_EVENT_FRAME_RATE_OVERRIDE) {
270277 return status_t (NO_ERROR);
271278 }
272279
@@ -524,7 +531,7 @@ void EventThread::threadMain(std::unique_lock<std::mutex>& lock) {
524531 event = mPendingEvents .front ();
525532 mPendingEvents .pop_front ();
526533
527- if (event->header .type == DisplayEventReceiver ::DISPLAY_EVENT_HOTPLUG) {
534+ if (event->header .type == DisplayEventType ::DISPLAY_EVENT_HOTPLUG) {
528535 if (event->hotplug .connectionError == 0 ) {
529536 if (event->hotplug .connected && !mVSyncState ) {
530537 mVSyncState .emplace ();
@@ -636,18 +643,21 @@ bool EventThread::shouldConsumeEvent(const DisplayEventReceiver::Event& event,
636643 };
637644
638645 switch (event.header .type ) {
639- case DisplayEventReceiver ::DISPLAY_EVENT_HOTPLUG:
646+ case DisplayEventType ::DISPLAY_EVENT_HOTPLUG:
640647 return true ;
641648
642- case DisplayEventReceiver ::DISPLAY_EVENT_HDCP_LEVELS_CHANGE:
649+ case DisplayEventType ::DISPLAY_EVENT_HDCP_LEVELS_CHANGE:
643650 return true ;
644651
645- case DisplayEventReceiver ::DISPLAY_EVENT_MODE_CHANGE: {
652+ case DisplayEventType ::DISPLAY_EVENT_MODE_CHANGE: {
646653 return connection->mEventRegistration .test (
647654 gui::ISurfaceComposer::EventRegistration::modeChanged);
648655 }
649656
650- case DisplayEventReceiver::DISPLAY_EVENT_VSYNC:
657+ case DisplayEventType::DISPLAY_EVENT_MODE_REJECTION:
658+ return true ;
659+
660+ case DisplayEventType::DISPLAY_EVENT_VSYNC:
651661 switch (connection->vsyncRequest ) {
652662 case VSyncRequest::None:
653663 return false ;
@@ -673,13 +683,12 @@ bool EventThread::shouldConsumeEvent(const DisplayEventReceiver::Event& event,
673683 return event.vsync .count % vsyncPeriod (connection->vsyncRequest ) == 0 ;
674684 }
675685
676- case DisplayEventReceiver ::DISPLAY_EVENT_FRAME_RATE_OVERRIDE:
686+ case DisplayEventType ::DISPLAY_EVENT_FRAME_RATE_OVERRIDE:
677687 [[fallthrough]];
678- case DisplayEventReceiver ::DISPLAY_EVENT_FRAME_RATE_OVERRIDE_FLUSH:
688+ case DisplayEventType ::DISPLAY_EVENT_FRAME_RATE_OVERRIDE_FLUSH:
679689 return connection->mEventRegistration .test (
680690 gui::ISurfaceComposer::EventRegistration::frameRateOverride);
681-
682- default :
691+ case DisplayEventType::DISPLAY_EVENT_NULL:
683692 return false ;
684693 }
685694}
@@ -758,7 +767,7 @@ void EventThread::dispatchEvent(const DisplayEventReceiver::Event& event,
758767 ftl::SmallVector<uid_t , 10 > uidsPostedQueuedBuffers;
759768 for (const auto & consumer : consumers) {
760769 DisplayEventReceiver::Event copy = event;
761- if (event.header .type == DisplayEventReceiver ::DISPLAY_EVENT_VSYNC) {
770+ if (event.header .type == DisplayEventType ::DISPLAY_EVENT_VSYNC) {
762771 const Period frameInterval = mCallback .getVsyncPeriod (consumer->mOwnerUid );
763772 copy.vsync .vsyncData .frameInterval = frameInterval.ns ();
764773 generateFrameTimeline (copy.vsync .vsyncData , frameInterval.ns (), copy.header .timestamp ,
@@ -793,7 +802,7 @@ void EventThread::dispatchEvent(const DisplayEventReceiver::Event& event,
793802 for (auto uid : uidsPostedQueuedBuffers) {
794803 mBufferStuffedUids .erase (uid);
795804 }
796- if (event.header .type == DisplayEventReceiver ::DISPLAY_EVENT_VSYNC &&
805+ if (event.header .type == DisplayEventType ::DISPLAY_EVENT_VSYNC &&
797806 FlagManager::getInstance ().vrr_config ()) {
798807 mLastCommittedVsyncTime =
799808 TimePoint::fromNs (event.vsync .vsyncData .preferredExpectedPresentationTime ());
0 commit comments