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

Commit f9de6e0d authored by Pablo Ceballos's avatar Pablo Ceballos Committed by Android (Google) Code Review
Browse files

Merge "BQ: Remove getNextFrameNumber Binder call" into nyc-mr1-dev

parents 20854e60 bc8c1928
Loading
Loading
Loading
Loading
+0 −3
Original line number Original line Diff line number Diff line
@@ -170,9 +170,6 @@ public:
    // See IGraphicBufferProducer::getConsumerName
    // See IGraphicBufferProducer::getConsumerName
    virtual String8 getConsumerName() const override;
    virtual String8 getConsumerName() const override;


    // See IGraphicBufferProducer::getNextFrameNumber
    virtual uint64_t getNextFrameNumber() const override;

    // See IGraphicBufferProducer::setSharedBufferMode
    // See IGraphicBufferProducer::setSharedBufferMode
    virtual status_t setSharedBufferMode(bool sharedBufferMode) override;
    virtual status_t setSharedBufferMode(bool sharedBufferMode) override;


+7 −5
Original line number Original line Diff line number Diff line
@@ -361,24 +361,29 @@ public:
        inline void deflate(uint32_t* outWidth,
        inline void deflate(uint32_t* outWidth,
                uint32_t* outHeight,
                uint32_t* outHeight,
                uint32_t* outTransformHint,
                uint32_t* outTransformHint,
                uint32_t* outNumPendingBuffers) const {
                uint32_t* outNumPendingBuffers,
                uint64_t* outNextFrameNumber) const {
            *outWidth = width;
            *outWidth = width;
            *outHeight = height;
            *outHeight = height;
            *outTransformHint = transformHint;
            *outTransformHint = transformHint;
            *outNumPendingBuffers = numPendingBuffers;
            *outNumPendingBuffers = numPendingBuffers;
            *outNextFrameNumber = nextFrameNumber;
        }
        }
        inline void inflate(uint32_t inWidth, uint32_t inHeight,
        inline void inflate(uint32_t inWidth, uint32_t inHeight,
                uint32_t inTransformHint, uint32_t inNumPendingBuffers) {
                uint32_t inTransformHint, uint32_t inNumPendingBuffers,
                uint64_t inNextFrameNumber) {
            width = inWidth;
            width = inWidth;
            height = inHeight;
            height = inHeight;
            transformHint = inTransformHint;
            transformHint = inTransformHint;
            numPendingBuffers = inNumPendingBuffers;
            numPendingBuffers = inNumPendingBuffers;
            nextFrameNumber = inNextFrameNumber;
        }
        }
    private:
    private:
        uint32_t width;
        uint32_t width;
        uint32_t height;
        uint32_t height;
        uint32_t transformHint;
        uint32_t transformHint;
        uint32_t numPendingBuffers;
        uint32_t numPendingBuffers;
        uint64_t nextFrameNumber{0};
    };
    };


    virtual status_t queueBuffer(int slot, const QueueBufferInput& input,
    virtual status_t queueBuffer(int slot, const QueueBufferInput& input,
@@ -523,9 +528,6 @@ public:
    // Returns the name of the connected consumer.
    // Returns the name of the connected consumer.
    virtual String8 getConsumerName() const = 0;
    virtual String8 getConsumerName() const = 0;


    // Returns the number of the next frame which will be dequeued.
    virtual uint64_t getNextFrameNumber() const = 0;

    // Used to enable/disable shared buffer mode.
    // Used to enable/disable shared buffer mode.
    //
    //
    // When shared buffer mode is enabled the first buffer that is queued or
    // When shared buffer mode is enabled the first buffer that is queued or
+2 −0
Original line number Original line Diff line number Diff line
@@ -375,6 +375,8 @@ private:
    nsecs_t mLastQueueDuration = 0;
    nsecs_t mLastQueueDuration = 0;


    Condition mQueueBufferCondition;
    Condition mQueueBufferCondition;

    uint64_t mNextFrameNumber;
};
};


namespace view {
namespace view {
+4 −10
Original line number Original line Diff line number Diff line
@@ -900,7 +900,8 @@ status_t BufferQueueProducer::queueBuffer(int slot,


        output->inflate(mCore->mDefaultWidth, mCore->mDefaultHeight,
        output->inflate(mCore->mDefaultWidth, mCore->mDefaultHeight,
                mCore->mTransformHint,
                mCore->mTransformHint,
                static_cast<uint32_t>(mCore->mQueue.size()));
                static_cast<uint32_t>(mCore->mQueue.size()),
                mCore->mFrameCounter + 1);


        ATRACE_INT(mCore->mConsumerName.string(), mCore->mQueue.size());
        ATRACE_INT(mCore->mConsumerName.string(), mCore->mQueue.size());
        mCore->mOccupancyTracker.registerOccupancyChange(mCore->mQueue.size());
        mCore->mOccupancyTracker.registerOccupancyChange(mCore->mQueue.size());
@@ -1107,7 +1108,8 @@ status_t BufferQueueProducer::connect(const sp<IProducerListener>& listener,
            mCore->mConnectedApi = api;
            mCore->mConnectedApi = api;
            output->inflate(mCore->mDefaultWidth, mCore->mDefaultHeight,
            output->inflate(mCore->mDefaultWidth, mCore->mDefaultHeight,
                    mCore->mTransformHint,
                    mCore->mTransformHint,
                    static_cast<uint32_t>(mCore->mQueue.size()));
                    static_cast<uint32_t>(mCore->mQueue.size()),
                    mCore->mFrameCounter + 1);


            // Set up a death notification so that we can disconnect
            // Set up a death notification so that we can disconnect
            // automatically if the remote producer dies
            // automatically if the remote producer dies
@@ -1342,14 +1344,6 @@ String8 BufferQueueProducer::getConsumerName() const {
    return mConsumerName;
    return mConsumerName;
}
}


uint64_t BufferQueueProducer::getNextFrameNumber() const {
    ATRACE_CALL();

    Mutex::Autolock lock(mCore->mMutex);
    uint64_t nextFrameNumber = mCore->mFrameCounter + 1;
    return nextFrameNumber;
}

status_t BufferQueueProducer::setSharedBufferMode(bool sharedBufferMode) {
status_t BufferQueueProducer::setSharedBufferMode(bool sharedBufferMode) {
    ATRACE_CALL();
    ATRACE_CALL();
    BQ_LOGV("setSharedBufferMode: %d", sharedBufferMode);
    BQ_LOGV("setSharedBufferMode: %d", sharedBufferMode);
+0 −19
Original line number Original line Diff line number Diff line
@@ -50,7 +50,6 @@ enum {
    GET_CONSUMER_NAME,
    GET_CONSUMER_NAME,
    SET_MAX_DEQUEUED_BUFFER_COUNT,
    SET_MAX_DEQUEUED_BUFFER_COUNT,
    SET_ASYNC_MODE,
    SET_ASYNC_MODE,
    GET_NEXT_FRAME_NUMBER,
    SET_SHARED_BUFFER_MODE,
    SET_SHARED_BUFFER_MODE,
    SET_AUTO_REFRESH,
    SET_AUTO_REFRESH,
    SET_DEQUEUE_TIMEOUT,
    SET_DEQUEUE_TIMEOUT,
@@ -347,18 +346,6 @@ public:
        return reply.readString8();
        return reply.readString8();
    }
    }


    virtual uint64_t getNextFrameNumber() const {
        Parcel data, reply;
        data.writeInterfaceToken(IGraphicBufferProducer::getInterfaceDescriptor());
        status_t result = remote()->transact(GET_NEXT_FRAME_NUMBER, data, &reply);
        if (result != NO_ERROR) {
            ALOGE("getNextFrameNumber failed to transact: %d", result);
            return 0;
        }
        uint64_t frameNumber = reply.readUint64();
        return frameNumber;
    }

    virtual status_t setSharedBufferMode(bool sharedBufferMode) {
    virtual status_t setSharedBufferMode(bool sharedBufferMode) {
        Parcel data, reply;
        Parcel data, reply;
        data.writeInterfaceToken(
        data.writeInterfaceToken(
@@ -676,12 +663,6 @@ status_t BnGraphicBufferProducer::onTransact(
            reply->writeString8(getConsumerName());
            reply->writeString8(getConsumerName());
            return NO_ERROR;
            return NO_ERROR;
        }
        }
        case GET_NEXT_FRAME_NUMBER: {
            CHECK_INTERFACE(IGraphicBufferProducer, data, reply);
            uint64_t frameNumber = getNextFrameNumber();
            reply->writeUint64(frameNumber);
            return NO_ERROR;
        }
        case SET_SHARED_BUFFER_MODE: {
        case SET_SHARED_BUFFER_MODE: {
            CHECK_INTERFACE(IGraphicBufferProducer, data, reply);
            CHECK_INTERFACE(IGraphicBufferProducer, data, reply);
            bool sharedBufferMode = data.readInt32();
            bool sharedBufferMode = data.readInt32();
Loading