diff options
author | Mathias Agopian <mathias@google.com> | 2010-10-04 20:21:14 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-10-04 20:21:14 -0700 |
commit | b0ade8a64d3b3bee75b544313d2047efbb9604f7 (patch) | |
tree | f486e2888984afdbab713ba0ae3cd8b660e00633 /include | |
parent | 11e69dea99ca2ace7bf8eb56ce6f6528fc906813 (diff) | |
parent | 50817931e4cb4ae0019fd13c831a2839349834c5 (diff) | |
download | frameworks_av-b0ade8a64d3b3bee75b544313d2047efbb9604f7.zip frameworks_av-b0ade8a64d3b3bee75b544313d2047efbb9604f7.tar.gz frameworks_av-b0ade8a64d3b3bee75b544313d2047efbb9604f7.tar.bz2 |
am f4619308: Merge "fix [2835280] Add support for cancelling buffers to ANativeWindow" into gingerbread
Merge commit 'f461930872beb4362998642c115691bdd2e94617' into gingerbread-plus-aosp
* commit 'f461930872beb4362998642c115691bdd2e94617':
fix [2835280] Add support for cancelling buffers to ANativeWindow
Diffstat (limited to 'include')
-rw-r--r-- | include/private/surfaceflinger/SharedBufferStack.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/include/private/surfaceflinger/SharedBufferStack.h b/include/private/surfaceflinger/SharedBufferStack.h index d689667..d6ae5e9 100644 --- a/include/private/surfaceflinger/SharedBufferStack.h +++ b/include/private/surfaceflinger/SharedBufferStack.h @@ -114,8 +114,9 @@ public: int32_t identity; // surface's identity (const) int32_t token; // surface's token (for debugging) - int32_t reserved32[1]; Statistics stats; + int8_t headBuf; // last retired buffer + uint8_t reservedBytes[3]; int32_t reserved; BufferData buffers[NUM_BUFFER_MAX]; // 1024 bytes }; @@ -201,6 +202,7 @@ public: status_t undoDequeue(int buf); status_t lock(int buf); + status_t cancel(int buf); status_t queue(int buf); bool needNewBuffer(int buffer) const; status_t setDirtyRegion(int buffer, const Region& reg); @@ -230,8 +232,9 @@ private: inline ssize_t operator()(); }; - struct UndoDequeueUpdate : public UpdateBase { - inline UndoDequeueUpdate(SharedBufferBase* sbb); + struct CancelUpdate : public UpdateBase { + int tail, buf; + inline CancelUpdate(SharedBufferBase* sbb, int tail, int buf); inline ssize_t operator()(); }; @@ -256,7 +259,6 @@ private: int mNumBuffers; int32_t tail; - int32_t undoDequeueTail; int32_t queued_head; // statistics... nsecs_t mDequeueTime[SharedBufferStack::NUM_BUFFER_MAX]; |