summaryrefslogtreecommitdiffstats
path: root/include
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
commit495633406580685dfaa41979bbae47fc5f77fefe (patch)
treeb4b41af65fc6920778023ec6dbf8d6caa8539ebe /include
parent0383fbf4f671d8e3e4480959abef4af6a749c9bf (diff)
downloadframeworks_native-495633406580685dfaa41979bbae47fc5f77fefe.zip
frameworks_native-495633406580685dfaa41979bbae47fc5f77fefe.tar.gz
frameworks_native-495633406580685dfaa41979bbae47fc5f77fefe.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')
-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,