diff options
author | Dan Stoza <stoza@google.com> | 2015-03-13 14:40:34 -0700 |
---|---|---|
committer | Dan Stoza <stoza@google.com> | 2015-03-20 12:29:04 -0700 |
commit | 1c87e474d87d6d1380fb61d476d606b1a2fda1c1 (patch) | |
tree | 8b7b36614bcc7f9280531f73dbcacea8a1d96a16 /include/gui | |
parent | 701473cf9bb1d1da2a0f55d9732d3016e1f33d59 (diff) | |
download | frameworks_native-1c87e474d87d6d1380fb61d476d606b1a2fda1c1.zip frameworks_native-1c87e474d87d6d1380fb61d476d606b1a2fda1c1.tar.gz frameworks_native-1c87e474d87d6d1380fb61d476d606b1a2fda1c1.tar.bz2 |
DO NOT MERGE libgui: Remove IGBC::BufferItem
Removes IGraphicBufferConsumer::BufferItem. Depends on the
following changes:
I187b3a7d05196b6289596afac8fb9a9d4aebff76
I0ddd38df37500cfd6b21d1e768ed14e39c5cd9fc
Cherry-pick of Id1fa56d092188f2cb712768d5d2fc6a9027fb73c
Change-Id: I3edf0db8fba656fd78e18a5a7f1137f0fb6b237d
Diffstat (limited to 'include/gui')
-rw-r--r-- | include/gui/BufferItem.h | 6 | ||||
-rw-r--r-- | include/gui/BufferItemConsumer.h | 6 | ||||
-rw-r--r-- | include/gui/BufferQueue.h | 6 | ||||
-rw-r--r-- | include/gui/BufferQueueConsumer.h | 2 | ||||
-rw-r--r-- | include/gui/BufferQueueCore.h | 4 | ||||
-rw-r--r-- | include/gui/ConsumerBase.h | 1 | ||||
-rw-r--r-- | include/gui/GLConsumer.h | 3 | ||||
-rw-r--r-- | include/gui/IGraphicBufferConsumer.h | 70 |
8 files changed, 9 insertions, 89 deletions
diff --git a/include/gui/BufferItem.h b/include/gui/BufferItem.h index 112c482..cc41bae 100644 --- a/include/gui/BufferItem.h +++ b/include/gui/BufferItem.h @@ -20,10 +20,10 @@ #include <EGL/egl.h> #include <EGL/eglext.h> -#include <gui/IGraphicBufferConsumer.h> - #include <ui/Rect.h> +#include <system/graphics.h> + #include <utils/Flattenable.h> #include <utils/StrongPointer.h> @@ -44,9 +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; static const char* scalingModeName(uint32_t scalingMode); diff --git a/include/gui/BufferItemConsumer.h b/include/gui/BufferItemConsumer.h index 57e121e..930fabf 100644 --- a/include/gui/BufferItemConsumer.h +++ b/include/gui/BufferItemConsumer.h @@ -42,8 +42,6 @@ class BufferItemConsumer: public ConsumerBase public: typedef ConsumerBase::FrameAvailableListener FrameAvailableListener; - typedef BufferQueue::BufferItem BufferItem; - enum { DEFAULT_MAX_BUFFERS = -1 }; enum { INVALID_BUFFER_SLOT = BufferQueue::INVALID_BUFFER_SLOT }; enum { NO_BUFFER_AVAILABLE = BufferQueue::NO_BUFFER_AVAILABLE }; @@ -76,9 +74,7 @@ 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(BufferQueue::BufferItem *item, nsecs_t presentWhen, - bool waitForFence = true); - status_t acquireBuffer(android::BufferItem* item, nsecs_t presentWhen, + status_t acquireBuffer(BufferItem* item, nsecs_t presentWhen, bool waitForFence = true); // Returns an acquired buffer to the queue, allowing it to be reused. Since diff --git a/include/gui/BufferQueue.h b/include/gui/BufferQueue.h index 1188837..721b218 100644 --- a/include/gui/BufferQueue.h +++ b/include/gui/BufferQueue.h @@ -17,6 +17,7 @@ #ifndef ANDROID_GUI_BUFFERQUEUE_H #define ANDROID_GUI_BUFFERQUEUE_H +#include <gui/BufferItem.h> #include <gui/BufferQueueDefs.h> #include <gui/IGraphicBufferConsumer.h> #include <gui/IGraphicBufferProducer.h> @@ -34,7 +35,7 @@ public: // Attempts at runtime to increase the number of buffers past this will fail. enum { NUM_BUFFER_SLOTS = BufferQueueDefs::NUM_BUFFER_SLOTS }; // Used as a placeholder slot# when the value isn't pointing to an existing buffer. - enum { INVALID_BUFFER_SLOT = IGraphicBufferConsumer::BufferItem::INVALID_BUFFER_SLOT }; + enum { INVALID_BUFFER_SLOT = BufferItem::INVALID_BUFFER_SLOT }; // Alias to <IGraphicBufferConsumer.h> -- please scope from there in future code! enum { NO_BUFFER_AVAILABLE = IGraphicBufferConsumer::NO_BUFFER_AVAILABLE, @@ -47,7 +48,6 @@ public: // for backward source compatibility typedef ::android::ConsumerListener ConsumerListener; - typedef IGraphicBufferConsumer::BufferItem BufferItem; // ProxyConsumerListener is a ConsumerListener implementation that keeps a weak // reference to the actual consumer object. It forwards all calls to that @@ -62,7 +62,7 @@ public: public: ProxyConsumerListener(const wp<ConsumerListener>& consumerListener); virtual ~ProxyConsumerListener(); - virtual void onFrameAvailable(const android::BufferItem& item); + virtual void onFrameAvailable(const BufferItem& item); virtual void onBuffersReleased(); virtual void onSidebandStreamChanged(); private: diff --git a/include/gui/BufferQueueConsumer.h b/include/gui/BufferQueueConsumer.h index 92127c1..9c91fc7 100644 --- a/include/gui/BufferQueueConsumer.h +++ b/include/gui/BufferQueueConsumer.h @@ -48,8 +48,6 @@ 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); diff --git a/include/gui/BufferQueueCore.h b/include/gui/BufferQueueCore.h index 797a108..40026bd 100644 --- a/include/gui/BufferQueueCore.h +++ b/include/gui/BufferQueueCore.h @@ -17,6 +17,7 @@ #ifndef ANDROID_GUI_BUFFERQUEUECORE_H #define ANDROID_GUI_BUFFERQUEUECORE_H +#include <gui/BufferItem.h> #include <gui/BufferQueueDefs.h> #include <gui/BufferSlot.h> @@ -45,7 +46,6 @@ namespace android { -class BufferItem; class IConsumerListener; class IGraphicBufferAlloc; class IProducerListener; @@ -58,7 +58,7 @@ class BufferQueueCore : public virtual RefBase { public: // Used as a placeholder slot number when the value isn't pointing to an // existing buffer. - enum { INVALID_BUFFER_SLOT = -1 }; // TODO: Extract from IGBC::BufferItem + enum { INVALID_BUFFER_SLOT = BufferItem::INVALID_BUFFER_SLOT }; // We reserve two slots in order to guarantee that the producer and // consumer can run asynchronously. diff --git a/include/gui/ConsumerBase.h b/include/gui/ConsumerBase.h index 46ad20e..ef0feab 100644 --- a/include/gui/ConsumerBase.h +++ b/include/gui/ConsumerBase.h @@ -154,7 +154,6 @@ protected: // to a slot. If it is overridden the derived class's implementation must // call ConsumerBase::acquireBufferLocked. 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. diff --git a/include/gui/GLConsumer.h b/include/gui/GLConsumer.h index 167ef20..4912580 100644 --- a/include/gui/GLConsumer.h +++ b/include/gui/GLConsumer.h @@ -242,7 +242,6 @@ protected: // acquireBufferLocked overrides the ConsumerBase method to update the // mEglSlots array in addition to the ConsumerBase behavior. 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. @@ -260,7 +259,7 @@ protected: // This releases the buffer in the slot referenced by mCurrentTexture, // then updates state to refer to the BufferItem, which must be a // newly-acquired buffer. - status_t updateAndReleaseLocked(const BufferQueue::BufferItem& item); + status_t updateAndReleaseLocked(const BufferItem& item); // Binds mTexName and the current buffer to mTexTarget. Uses // mCurrentTexture if it's set, mCurrentTextureImage if not. If the diff --git a/include/gui/IGraphicBufferConsumer.h b/include/gui/IGraphicBufferConsumer.h index ae85bd5..8f31b55 100644 --- a/include/gui/IGraphicBufferConsumer.h +++ b/include/gui/IGraphicBufferConsumer.h @@ -43,75 +43,6 @@ class NativeHandle; class IGraphicBufferConsumer : public IInterface { public: - - // public facing structure for BufferSlot - class BufferItem : public Flattenable<BufferItem> { - friend class Flattenable<BufferItem>; - size_t getPodSize() const; - size_t getFlattenedSize() const; - size_t getFdCount() const; - status_t flatten(void*& buffer, size_t& size, int*& fds, size_t& count) const; - status_t unflatten(void const*& buffer, size_t& size, int const*& fds, size_t& count); - - public: - // The default value of mBuf, used to indicate this doesn't correspond to a slot. - enum { INVALID_BUFFER_SLOT = -1 }; - BufferItem(); - - // mGraphicBuffer points to the buffer allocated for this slot, or is NULL - // if the buffer in this slot has been acquired in the past (see - // BufferSlot.mAcquireCalled). - sp<GraphicBuffer> mGraphicBuffer; - - // mFence is a fence that will signal when the buffer is idle. - sp<Fence> mFence; - - // mCrop is the current crop rectangle for this buffer slot. - Rect mCrop; - - // mTransform is the current transform flags for this buffer slot. - // refer to NATIVE_WINDOW_TRANSFORM_* in <window.h> - uint32_t mTransform; - - // mScalingMode is the current scaling mode for this buffer slot. - // refer to NATIVE_WINDOW_SCALING_* in <window.h> - uint32_t mScalingMode; - - // mTimestamp is the current timestamp for this buffer slot. This gets - // to set by queueBuffer each time this slot is queued. This value - // is guaranteed to be monotonically increasing for each newly - // acquired buffer. - int64_t mTimestamp; - - // mIsAutoTimestamp indicates whether mTimestamp was generated - // automatically when the buffer was queued. - bool mIsAutoTimestamp; - - // mDataSpace is the current dataSpace for this buffer slot. This gets - // set by queueBuffer each time this slot is queued. - android_dataspace mDataSpace; - - // mFrameNumber is the number of the queued frame for this slot. - uint64_t mFrameNumber; - - // mBuf is the slot index of this buffer (default INVALID_BUFFER_SLOT). - 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. - // i.e.: was the BufferQueue in "mDequeueBufferCannotBlock" when this buffer - // was queued. - bool mIsDroppable; - - // Indicates whether this buffer has been seen by a consumer yet - bool mAcquireCalled; - - // Indicates this buffer must be transformed by the inverse transform of the screen - // it is displayed onto. This is applied after mTransform. - bool mTransformToDisplayInverse; - }; - enum { // Returned by releaseBuffer, after which the consumer must // free any references to the just-released buffer that it might have. @@ -148,7 +79,6 @@ public: // Return of a negative value means an error has occurred: // * INVALID_OPERATION - too many buffers have been acquired virtual status_t acquireBuffer(BufferItem* buffer, nsecs_t presentWhen) = 0; - virtual status_t acquireBuffer(android::BufferItem* buffer, nsecs_t presentWhen) = 0; // detachBuffer attempts to remove all ownership of the buffer in the given // slot from the buffer queue. If this call succeeds, the slot will be |