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

Commit 9a43d3f7 authored by Melody Hsu's avatar Melody Hsu Committed by Android (Google) Code Review
Browse files

Merge "Track pendingBuffer count in RequestedLayerState" into main

parents cfc6759f 16355787
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -61,6 +61,7 @@ struct LayerCreationArgs {
    ui::LayerStack layerStackToMirror = ui::INVALID_LAYER_STACK;
    uint32_t parentId = UNASSIGNED_LAYER_ID;
    uint32_t layerIdToMirror = UNASSIGNED_LAYER_ID;
    std::atomic<int32_t>* pendingBuffers = 0;
};

} // namespace android::surfaceflinger
+2 −1
Original line number Diff line number Diff line
@@ -56,7 +56,8 @@ RequestedLayerState::RequestedLayerState(const LayerCreationArgs& args)
        ownerUid(args.ownerUid),
        ownerPid(args.ownerPid),
        parentId(args.parentId),
        layerIdToMirror(args.layerIdToMirror) {
        layerIdToMirror(args.layerIdToMirror),
        pendingBuffers(args.pendingBuffers) {
    layerId = static_cast<int32_t>(args.sequence);
    changes |= RequestedLayerState::Changes::Created;
    metadata.merge(args.metadata);
+1 −0
Original line number Diff line number Diff line
@@ -131,6 +131,7 @@ struct RequestedLayerState : layer_state_t {
    uint64_t barrierFrameNumber = 0;
    uint32_t barrierProducerId = 0;
    std::string debugName;
    std::atomic<int32_t>* pendingBuffers = 0;

    // book keeping states
    bool handleAlive = true;
+1 −1
Original line number Diff line number Diff line
@@ -1342,7 +1342,7 @@ Rect Layer::computeBufferCrop(const State& s) {
}

void Layer::decrementPendingBufferCount() {
    int32_t pendingBuffers = --mPendingBufferTransactions;
    int32_t pendingBuffers = --mPendingBuffers;
    tracePendingBufferCount(pendingBuffers);
}

+2 −2
Original line number Diff line number Diff line
@@ -369,7 +369,7 @@ public:

    // See mPendingBufferTransactions
    void decrementPendingBufferCount();
    std::atomic<int32_t>* getPendingBufferCounter() { return &mPendingBufferTransactions; }
    std::atomic<int32_t>* getPendingBufferCounter() { return &mPendingBuffers; }
    std::string getPendingBufferCounterName() { return mBlastTransactionName; }
    void callReleaseBufferCallback(const sp<ITransactionCompletedListener>& listener,
                                   const sp<GraphicBuffer>& buffer, uint64_t framenumber,
@@ -562,7 +562,7 @@ private:
    //     - If the integer increases, a buffer arrived at the server.
    //     - If the integer decreases in latchBuffer, that buffer was latched
    //     - If the integer decreases in setBuffer, a buffer was dropped
    std::atomic<int32_t> mPendingBufferTransactions{0};
    std::atomic<int32_t> mPendingBuffers{0};

    // Contains requested position and matrix updates. This will be applied if the client does
    // not specify a destination frame.
Loading