summaryrefslogtreecommitdiff
path: root/libs/gui/BufferQueueProducer.cpp
diff options
context:
space:
mode:
author Dan Stoza <stoza@google.com> 2016-05-13 11:37:28 -0700
committer Dan Stoza <stoza@google.com> 2016-05-13 15:48:03 -0700
commite77c7669bee30b7c0099172cf0c38cef92412040 (patch)
treebdf6da9c3a2e32628f5fe837f519ff27dcb4bf1e /libs/gui/BufferQueueProducer.cpp
parent411326105161b86965784dad03452900b2fcb911 (diff)
BufferQueue/SF: Add OccupancyTracker
Adds an OccupancyTracker to BufferQueue. This module keeps track of how many buffers are in the queue over time, which, in combination with various aggregation of these statistics, allows SurfaceFlinger to report what fraction of the time a given layer was double- or triple-buffered. Change-Id: Ida6e967dc5483c00a633e9fe03998e420dd88502
Diffstat (limited to 'libs/gui/BufferQueueProducer.cpp')
-rw-r--r--libs/gui/BufferQueueProducer.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/libs/gui/BufferQueueProducer.cpp b/libs/gui/BufferQueueProducer.cpp
index 3e26e058fb..65f8255dec 100644
--- a/libs/gui/BufferQueueProducer.cpp
+++ b/libs/gui/BufferQueueProducer.cpp
@@ -886,6 +886,7 @@ status_t BufferQueueProducer::queueBuffer(int slot,
static_cast<uint32_t>(mCore->mQueue.size()));
ATRACE_INT(mCore->mConsumerName.string(), mCore->mQueue.size());
+ mCore->mOccupancyTracker.registerOccupancyChange(mCore->mQueue.size());
// Take a ticket for the callback functions
callbackTicket = mNextCallbackTicket++;