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

Commit cf3834db authored by Dan Stoza's avatar Dan Stoza
Browse files

DO NOT MERGE libgui: Prepare for IGBC::BufferItem removal

Currently, there are two instances of BufferItem: one inside of
IGraphicBufferConsumer, and a standalone one inside of libgui. They
only differ in the name of one of the fields, and we want to remove
the IGBC version. This changes things so that client code may be
incrementally switched over to the libgui version.

This is a squashed commit containing the following changes:
    I64f495105f56cbf5803cea4aa6b072ea29b70cf5
    I1394e693314429ada93427889f10b7b01c948053
    I9c3bc8037fa9438d4d9080b8afb694219ef2f71f
    I699ed0a6837076867ca756b28d1ffb2238f7a0d9
    Iac8425e1241774304a131da2fb9dec6e82922f13

Change-Id: Ic4d51f5df6dbc70b376d13fceba2335b9bae4f3d
parent 82c6bcc9
Loading
Loading
Loading
Loading
+8 −2
Original line number Diff line number Diff line
@@ -44,6 +44,7 @@ class BufferItem : public Flattenable<BufferItem> {
    // The default value of mBuf, used to indicate this doesn't correspond to a slot.
    enum { INVALID_BUFFER_SLOT = -1 };
    BufferItem();
    BufferItem(const IGraphicBufferConsumer::BufferItem& item);
    ~BufferItem();
    operator IGraphicBufferConsumer::BufferItem() const;

@@ -86,9 +87,14 @@ class BufferItem : public Flattenable<BufferItem> {
    // mFrameNumber is the number of the queued frame for this slot.
    uint64_t mFrameNumber;

    union {
        // mSlot is the slot index of this buffer (default INVALID_BUFFER_SLOT).
        int mSlot;

        // mBuf is the former name for mSlot
        int mBuf;
    };

    // mIsDroppable whether this buffer was queued with the
    // property that it can be replaced by a new buffer for the purpose of
    // making sure dequeueBuffer() won't block.
+4 −2
Original line number Diff line number Diff line
@@ -76,7 +76,9 @@ class BufferItemConsumer: public ConsumerBase
    //
    // If waitForFence is true, and the acquired BufferItem has a valid fence object,
    // acquireBuffer will wait on the fence with no timeout before returning.
    status_t acquireBuffer(BufferItem *item, nsecs_t presentWhen,
    status_t acquireBuffer(BufferQueue::BufferItem *item, nsecs_t presentWhen,
            bool waitForFence = true);
    status_t acquireBuffer(android::BufferItem* item, nsecs_t presentWhen,
            bool waitForFence = true);

    // Returns an acquired buffer to the queue, allowing it to be reused. Since
+2 −0
Original line number Diff line number Diff line
@@ -48,6 +48,8 @@ public:
    // is CLOCK_MONOTONIC.
    virtual status_t acquireBuffer(BufferItem* outBuffer,
            nsecs_t expectedPresent);
    virtual status_t acquireBuffer(android::BufferItem* outBuffer,
            nsecs_t expectedPresent);

    // See IGraphicBufferConsumer::detachBuffer
    virtual status_t detachBuffer(int slot);
+2 −2
Original line number Diff line number Diff line
@@ -153,8 +153,8 @@ protected:
    // initialization that must take place the first time a buffer is assigned
    // to a slot.  If it is overridden the derived class's implementation must
    // call ConsumerBase::acquireBufferLocked.
    virtual status_t acquireBufferLocked(IGraphicBufferConsumer::BufferItem *item,
        nsecs_t presentWhen);
    virtual status_t acquireBufferLocked(BufferItem *item, nsecs_t presentWhen);
    virtual status_t acquireBufferLocked(BufferQueue::BufferItem *item, nsecs_t presentWhen);

    // releaseBufferLocked relinquishes control over a buffer, returning that
    // control to the BufferQueue.
+2 −2
Original line number Diff line number Diff line
@@ -241,8 +241,8 @@ protected:

    // acquireBufferLocked overrides the ConsumerBase method to update the
    // mEglSlots array in addition to the ConsumerBase behavior.
    virtual status_t acquireBufferLocked(BufferQueue::BufferItem *item,
        nsecs_t presentWhen);
    virtual status_t acquireBufferLocked(BufferItem *item, nsecs_t presentWhen);
    virtual status_t acquireBufferLocked(IGraphicBufferConsumer::BufferItem *item, nsecs_t presentWhen);

    // releaseBufferLocked overrides the ConsumerBase method to update the
    // mEglSlots array in addition to the ConsumerBase.
Loading