diff options
| author | 2019-10-25 18:17:11 -0700 | |
|---|---|---|
| committer | 2019-10-29 18:24:29 -0700 | |
| commit | 7dbf76d53626e356b17f21852fe305eaeb162cbe (patch) | |
| tree | 0d112830720e4bf4a87c1232b9e32fdb123547ab /services/surfaceflinger/BufferQueueLayer.cpp | |
| parent | 58a5df89681035b4741d841cd2154f23fa58f151 (diff) | |
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
Diffstat (limited to 'services/surfaceflinger/BufferQueueLayer.cpp')
| -rw-r--r-- | services/surfaceflinger/BufferQueueLayer.cpp | 17 |
1 files changed, 15 insertions, 2 deletions
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); |