summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJamie Gennis <jgennis@google.com>2010-11-02 11:51:32 -0700
committerJamie Gennis <jgennis@google.com>2010-11-11 14:06:38 -0800
commit6c925d00e131e40811897e0ddc332d6f5bc83178 (patch)
tree813fca5b0cff6cdc7e2a6c15a12b3ae777b12d3d /include
parent0b440fc34da7f53fcec24cc8c907b959218b957d (diff)
downloadframeworks_base-6c925d00e131e40811897e0ddc332d6f5bc83178.zip
frameworks_base-6c925d00e131e40811897e0ddc332d6f5bc83178.tar.gz
frameworks_base-6c925d00e131e40811897e0ddc332d6f5bc83178.tar.bz2
Implement reducing the buffer count of a Surface.
Change-Id: I7f979c60c06d654aa8265002836277434bc1a64f Bug: 3095167
Diffstat (limited to 'include')
-rw-r--r--include/private/surfaceflinger/SharedBufferStack.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/include/private/surfaceflinger/SharedBufferStack.h b/include/private/surfaceflinger/SharedBufferStack.h
index d6ae5e9..9d589cf 100644
--- a/include/private/surfaceflinger/SharedBufferStack.h
+++ b/include/private/surfaceflinger/SharedBufferStack.h
@@ -285,6 +285,8 @@ public:
uint32_t getTransform(int buffer) const;
status_t resize(int newNumBuffers);
+ status_t grow(int newNumBuffers);
+ status_t shrink(int newNumBuffers);
SharedBufferStack::Statistics getStats() const;
@@ -346,6 +348,14 @@ private:
int mNumBuffers;
BufferList mBufferList;
+ struct BuffersAvailableCondition : public ConditionBase {
+ int mNumBuffers;
+ inline BuffersAvailableCondition(SharedBufferServer* sbs,
+ int numBuffers);
+ inline bool operator()() const;
+ inline const char* name() const { return "BuffersAvailableCondition"; }
+ };
+
struct UnlockUpdate : public UpdateBase {
const int lockedBuffer;
inline UnlockUpdate(SharedBufferBase* sbb, int lockedBuffer);