From 0a53d5c81b5553d6063b8133492275ce88186978 Mon Sep 17 00:00:00 2001 From: Jamie Gennis Date: Mon, 20 Dec 2010 11:21:07 -0800 Subject: 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 --- include/surfaceflinger/ISurfaceComposer.h | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'include/surfaceflinger') 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 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, -- cgit v1.1