From 7dbf76d53626e356b17f21852fe305eaeb162cbe Mon Sep 17 00:00:00 2001 From: Adithya Srinivasan Date: Fri, 25 Oct 2019 18:17:11 -0700 Subject: Add implementation for onFrameDetached and onFrameCancelled With the detach and cancel events added to the proto, the onFrameDetached and onFrameCancelled functions need to be implemented and start emitting the respective events. Test: Run GAPID, open youtube and play a video. Bug: 142502670 Change-Id: I25a90e75a83dc4e55a5676697050689dabc56fa1 --- services/surfaceflinger/BufferQueueLayer.cpp | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) (limited to 'services/surfaceflinger/BufferQueueLayer.cpp') diff --git a/services/surfaceflinger/BufferQueueLayer.cpp b/services/surfaceflinger/BufferQueueLayer.cpp index c24cdaa617..dc61e498df 100644 --- a/services/surfaceflinger/BufferQueueLayer.cpp +++ b/services/surfaceflinger/BufferQueueLayer.cpp @@ -374,13 +374,26 @@ void BufferQueueLayer::latchPerFrameState( void BufferQueueLayer::onFrameDequeued(const uint64_t bufferId) { const int32_t layerID = getSequence(); + mFlinger->mFrameTracer->traceNewLayer(layerID, getName().c_str()); mFlinger->mFrameTracer->traceTimestamp(layerID, bufferId, FrameTracer::UNSPECIFIED_FRAME_NUMBER, - systemTime(), FrameTracer::FrameEvent::DEQUEUE, 3000); + systemTime(), FrameTracer::FrameEvent::DEQUEUE); } -void BufferQueueLayer::onFrameAvailable(const BufferItem& item) { +void BufferQueueLayer::onFrameDetached(const uint64_t bufferId) { const int32_t layerID = getSequence(); mFlinger->mFrameTracer->traceNewLayer(layerID, getName().c_str()); + mFlinger->mFrameTracer->traceTimestamp(layerID, bufferId, FrameTracer::UNSPECIFIED_FRAME_NUMBER, + systemTime(), FrameTracer::FrameEvent::DETACH); +} + +void BufferQueueLayer::onFrameCancelled(const uint64_t bufferId) { + const int32_t layerID = getSequence(); + mFlinger->mFrameTracer->traceTimestamp(layerID, bufferId, FrameTracer::UNSPECIFIED_FRAME_NUMBER, + systemTime(), FrameTracer::FrameEvent::CANCEL); +} + +void BufferQueueLayer::onFrameAvailable(const BufferItem& item) { + const int32_t layerID = getSequence(); mFlinger->mFrameTracer->traceTimestamp(layerID, item.mGraphicBuffer->getId(), item.mFrameNumber, systemTime(), FrameTracer::FrameEvent::QUEUE); -- cgit v1.2.3-59-g8ed1b