diff options
| author | 2023-06-01 09:28:18 +0000 | |
|---|---|---|
| committer | 2023-06-01 09:28:18 +0000 | |
| commit | a23e920d26e2bfd359b166b39bb2fdb3ef4c617d (patch) | |
| tree | 4406758a2cc0455b404f8413126ffa20523fe68c | |
| parent | 801a6fc780ec671a5920cab87811729117c07e0d (diff) | |
| parent | d46685714cfc1e09807ced0bb3c2d27f36950021 (diff) | |
Merge "Log out-of-order window infos updates" into udc-dev am: d46685714c
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/native/+/23391277
Change-Id: I9fa5ed1ae4a10331fd32ed9bbf2b8909fb39a43f
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
| -rw-r--r-- | services/inputflinger/dispatcher/InputDispatcher.cpp | 7 | ||||
| -rw-r--r-- | services/inputflinger/dispatcher/InputDispatcher.h | 2 |
2 files changed, 9 insertions, 0 deletions
diff --git a/services/inputflinger/dispatcher/InputDispatcher.cpp b/services/inputflinger/dispatcher/InputDispatcher.cpp index 0cc7cfbcc8..fbbb38835a 100644 --- a/services/inputflinger/dispatcher/InputDispatcher.cpp +++ b/services/inputflinger/dispatcher/InputDispatcher.cpp @@ -6700,6 +6700,13 @@ void InputDispatcher::onWindowInfosChanged(const gui::WindowInfosUpdate& update) for (const auto& [displayId, handles] : handlesPerDisplay) { setInputWindowsLocked(handles, displayId); } + + if (update.vsyncId < mWindowInfosVsyncId) { + ALOGE("Received out of order window infos update. Last update vsync id: %" PRId64 + ", current update vsync id: %" PRId64, + mWindowInfosVsyncId, update.vsyncId); + } + mWindowInfosVsyncId = update.vsyncId; } // Wake up poll loop since it may need to make new input dispatching choices. mLooper->wake(); diff --git a/services/inputflinger/dispatcher/InputDispatcher.h b/services/inputflinger/dispatcher/InputDispatcher.h index 8ca01b7a09..6b22f2f24f 100644 --- a/services/inputflinger/dispatcher/InputDispatcher.h +++ b/services/inputflinger/dispatcher/InputDispatcher.h @@ -204,6 +204,8 @@ private: const IdGenerator mIdGenerator; + int64_t mWindowInfosVsyncId GUARDED_BY(mLock); + // With each iteration, InputDispatcher nominally processes one queued event, // a timeout, or a response from an input consumer. // This method should only be called on the input dispatcher's own thread. |