summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2019-12-20 20:25:10 +0000
committer Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> 2019-12-20 20:25:10 +0000
commit03e9895b00e4fcce93b18a95a0df59db7d8356b7 (patch)
treed2228ef237c8d40acd44f2356d665ca7485ad77e
parent465c64dbed43f902821c58b9d844e56de824168e (diff)
parent2c09b198fec764d899570cf4f8d21c7cf9abd0f9 (diff)
Merge "Change the position of addAndGetFrameTimestamps when queueBuffer" am: 3d04184bd2 am: 2c09b198fe
Change-Id: I9e0a7fa54b16872e17137904c9607752b358b54d
-rw-r--r--libs/gui/BufferQueueProducer.cpp22
1 files changed, 11 insertions, 11 deletions
diff --git a/libs/gui/BufferQueueProducer.cpp b/libs/gui/BufferQueueProducer.cpp
index a317aaf2f2..4f8eb6b5e8 100644
--- a/libs/gui/BufferQueueProducer.cpp
+++ b/libs/gui/BufferQueueProducer.cpp
@@ -981,6 +981,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
@@ -1010,17 +1021,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