diff options
author | Mathias Agopian <mathias@google.com> | 2010-06-08 19:54:15 -0700 |
---|---|---|
committer | Mathias Agopian <mathias@google.com> | 2010-06-08 20:10:02 -0700 |
commit | 36ef8cf54e2bf2f96b8c7f47cd534c00ccb7b64f (patch) | |
tree | ea437c86609ee36a52c071cd066d029793633639 /include | |
parent | ddcc4a66d848deef6fb4689e64e30cd9bd2684fe (diff) | |
download | frameworks_av-36ef8cf54e2bf2f96b8c7f47cd534c00ccb7b64f.zip frameworks_av-36ef8cf54e2bf2f96b8c7f47cd534c00ccb7b64f.tar.gz frameworks_av-36ef8cf54e2bf2f96b8c7f47cd534c00ccb7b64f.tar.bz2 |
allow re-targetting of surfaces
Surfaces can now be parcelized and sent to remote
processes. When a surface crosses a process
boundary, it looses its connection with the
current process and gets attached to the new one.
Change-Id: I39c7b055bcd3ea1162ef2718d3d4b866bf7c81c0
Diffstat (limited to 'include')
-rw-r--r-- | include/private/surfaceflinger/SharedBufferStack.h | 16 |
1 files changed, 6 insertions, 10 deletions
diff --git a/include/private/surfaceflinger/SharedBufferStack.h b/include/private/surfaceflinger/SharedBufferStack.h index c11c855..633b543 100644 --- a/include/private/surfaceflinger/SharedBufferStack.h +++ b/include/private/surfaceflinger/SharedBufferStack.h @@ -43,15 +43,6 @@ namespace android { * unless they are in use by the server, which is only the case for the last * dequeue-able buffer. When these various conditions are not met, the caller * waits until the condition is met. - * - * - * CAVEATS: - * - * In the current implementation there are several limitations: - * - buffers must be locked in the same order they've been dequeued - * - buffers must be enqueued in the same order they've been locked - * - dequeue() is not reentrant - * - no error checks are done on the condition above * */ @@ -269,7 +260,9 @@ private: // ---------------------------------------------------------------------------- -class SharedBufferServer : public SharedBufferBase +class SharedBufferServer + : public SharedBufferBase, + public LightRefBase<SharedBufferServer> { public: SharedBufferServer(SharedClient* sharedClient, int surface, int num, @@ -290,6 +283,9 @@ public: private: + friend class LightRefBase<SharedBufferServer>; + ~SharedBufferServer(); + /* * BufferList is basically a fixed-capacity sorted-vector of * unsigned 5-bits ints using a 32-bits int as storage. |