summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorMathias Agopian <mathias@google.com>2010-10-04 20:21:14 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2010-10-04 20:21:14 -0700
commitb0ade8a64d3b3bee75b544313d2047efbb9604f7 (patch)
treef486e2888984afdbab713ba0ae3cd8b660e00633 /include
parent11e69dea99ca2ace7bf8eb56ce6f6528fc906813 (diff)
parent50817931e4cb4ae0019fd13c831a2839349834c5 (diff)
downloadframeworks_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.h10
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];