summaryrefslogtreecommitdiffstats
path: root/include/surfaceflinger
diff options
context:
space:
mode:
authorJamie Gennis <jgennis@google.com>2010-12-20 11:21:07 -0800
committerJamie Gennis <jgennis@google.com>2011-01-06 13:12:35 -0800
commit0a53d5c81b5553d6063b8133492275ce88186978 (patch)
treedc6573bc4f7011bc5e7be5e6a976f684e52ac061 /include/surfaceflinger
parent42edf0f8cf8ca85dd5010558ff399e2c9a4c779c (diff)
downloadframeworks_base-0a53d5c81b5553d6063b8133492275ce88186978.zip
frameworks_base-0a53d5c81b5553d6063b8133492275ce88186978.tar.gz
frameworks_base-0a53d5c81b5553d6063b8133492275ce88186978.tar.bz2
Add the ISurfaceComposer::createGraphicBuffer IPC.
This change adds a new binder method to the ISurfaceComposer interface. This IPC is intended to allow SurfaceFlinger clients to allocate gralloc buffers using SurfaceFlinger as a proxy to gralloc. Change-Id: Ide9fc283aec5da6268ba62cfed0c3319a50b640d
Diffstat (limited to 'include/surfaceflinger')
-rw-r--r--include/surfaceflinger/ISurfaceComposer.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/surfaceflinger/ISurfaceComposer.h b/include/surfaceflinger/ISurfaceComposer.h
index 693fbfb..1bab7d7 100644
--- a/include/surfaceflinger/ISurfaceComposer.h
+++ b/include/surfaceflinger/ISurfaceComposer.h
@@ -131,6 +131,13 @@ public:
* This is an ASYNCHRONOUS call.
*/
virtual void signal() const = 0;
+
+ /* Create a new GraphicBuffer for the client to use. SurfaceFlinger will
+ * not maintain a reference to the GraphicBuffer, so the underlying native
+ * handle will be freed once the client references are released.
+ */
+ virtual sp<GraphicBuffer> createGraphicBuffer(uint32_t w, uint32_t h,
+ PixelFormat format, uint32_t usage) const = 0;
};
// ----------------------------------------------------------------------------
@@ -144,6 +151,7 @@ public:
BOOT_FINISHED = IBinder::FIRST_CALL_TRANSACTION,
CREATE_CONNECTION,
CREATE_CLIENT_CONNECTION,
+ CREATE_GRAPHIC_BUFFER,
GET_CBLK,
OPEN_GLOBAL_TRANSACTION,
CLOSE_GLOBAL_TRANSACTION,