Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 871023e6 authored by Adithya Srinivasan's avatar Adithya Srinivasan
Browse files

Add HWC composition queueing trace event

As a part of the frame lifecycle, adding HWC_COMPOSITION_QUEUED event
from within SurfaceFlinger.

Test: Build, flash and run GAPID on any app
Bug: 140236090
Change-Id: I7277af4fc0368a684993ac44bb9be6668f6d2090
parent 46e9976b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -601,6 +601,8 @@ public:

    virtual sp<GraphicBuffer> getBuffer() const { return nullptr; }

    virtual uint64_t getCurrentFrameNumber() const { return mCurrentFrameNumber; }

    /*
     * Returns if a frame is ready
     */
+6 −1
Original line number Diff line number Diff line
@@ -1715,7 +1715,12 @@ void SurfaceFlinger::handleMessageRefresh() {
    refreshArgs.layersWithQueuedFrames.reserve(mLayersWithQueuedFrames.size());
    for (sp<Layer> layer : mLayersWithQueuedFrames) {
        auto compositionLayer = layer->getCompositionLayer();
        if (compositionLayer) refreshArgs.layersWithQueuedFrames.push_back(compositionLayer.get());
        if (compositionLayer) {
            refreshArgs.layersWithQueuedFrames.push_back(compositionLayer.get());
            mFrameTracer->traceTimestamp(layer->getSequence(), layer->getCurrentBufferId(),
                                         layer->getCurrentFrameNumber(), systemTime(),
                                         FrameTracer::FrameEvent::HWC_COMPOSITION_QUEUED);
        }
    }

    refreshArgs.repaintEverything = mRepaintEverything.exchange(false);