diff options
author | Treehugger Robot <treehugger-gerrit@google.com> | 2019-12-20 19:28:08 +0000 |
---|---|---|
committer | Gerrit Code Review <noreply-gerritcodereview@google.com> | 2019-12-20 19:28:08 +0000 |
commit | 7eca3198fda97a83956a9c166c22289a6fa7b199 (patch) | |
tree | bdb7307d7b4d1ab2b7c33dddc7da55de9e38b8a8 | |
parent | e377b272429fef443b0f498568cbccf111950ba0 (diff) | |
parent | ee2538c104f85f3ceeaf90b1dcb1149a9e590ed3 (diff) | |
download | native-7eca3198fda97a83956a9c166c22289a6fa7b199.tar.gz |
Merge "Change the position of addAndGetFrameTimestamps when queueBuffer" into android10-tests-dev
-rw-r--r-- | libs/gui/BufferQueueProducer.cpp | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/libs/gui/BufferQueueProducer.cpp b/libs/gui/BufferQueueProducer.cpp index 9c311a314f..0354965a9b 100644 --- a/libs/gui/BufferQueueProducer.cpp +++ b/libs/gui/BufferQueueProducer.cpp @@ -972,6 +972,17 @@ status_t BufferQueueProducer::queueBuffer(int slot, item.mGraphicBuffer.clear(); } + // Update and get FrameEventHistory. + nsecs_t postedTime = systemTime(SYSTEM_TIME_MONOTONIC); + NewFrameEventsEntry newFrameEventsEntry = { + currentFrameNumber, + postedTime, + requestedPresentTimestamp, + std::move(acquireFenceTime) + }; + addAndGetFrameTimestamps(&newFrameEventsEntry, + getFrameTimestamps ? &output->frameTimestamps : nullptr); + // Call back without the main BufferQueue lock held, but with the callback // lock held so we can ensure that callbacks occur in order @@ -1001,17 +1012,6 @@ status_t BufferQueueProducer::queueBuffer(int slot, mCallbackCondition.notify_all(); } - // Update and get FrameEventHistory. - nsecs_t postedTime = systemTime(SYSTEM_TIME_MONOTONIC); - NewFrameEventsEntry newFrameEventsEntry = { - currentFrameNumber, - postedTime, - requestedPresentTimestamp, - std::move(acquireFenceTime) - }; - addAndGetFrameTimestamps(&newFrameEventsEntry, - getFrameTimestamps ? &output->frameTimestamps : nullptr); - // Wait without lock held if (connectedApi == NATIVE_WINDOW_API_EGL) { // Waiting here allows for two full buffers to be queued but not a |