From e96a325aff9da4e02abeb7b9178592583cf3b78c Mon Sep 17 00:00:00 2001 From: Craig Donner Date: Thu, 2 Feb 2017 12:13:34 -0800 Subject: Add methods for allocating and locking GraphicBuffers via gralloc1 flags Bug: 34050596 Test: manual Change-Id: I9515e60fe6b67d2c6f02b1bb78651669430f12ef --- libs/gui/IGraphicBufferAlloc.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'libs/gui/IGraphicBufferAlloc.cpp') diff --git a/libs/gui/IGraphicBufferAlloc.cpp b/libs/gui/IGraphicBufferAlloc.cpp index a3d3b74c6b..21a0dd5b3d 100644 --- a/libs/gui/IGraphicBufferAlloc.cpp +++ b/libs/gui/IGraphicBufferAlloc.cpp @@ -46,14 +46,16 @@ public: virtual sp createGraphicBuffer(uint32_t width, uint32_t height, PixelFormat format, uint32_t layerCount, - uint32_t usage, std::string requestorName, status_t* error) { + uint64_t producerUsage, uint64_t consumerUsage, + std::string requestorName, status_t* error) { Parcel data, reply; data.writeInterfaceToken(IGraphicBufferAlloc::getInterfaceDescriptor()); data.writeUint32(width); data.writeUint32(height); data.writeInt32(static_cast(format)); data.writeUint32(layerCount); - data.writeUint32(usage); + data.writeUint64(producerUsage); + data.writeUint64(consumerUsage); if (requestorName.empty()) { requestorName += "[PID "; requestorName += std::to_string(getpid()); @@ -108,12 +110,14 @@ status_t BnGraphicBufferAlloc::onTransact( uint32_t height = data.readUint32(); PixelFormat format = static_cast(data.readInt32()); uint32_t layerCount = data.readUint32(); - uint32_t usage = data.readUint32(); + uint64_t producerUsage = data.readUint64(); + uint64_t consumerUsage = data.readUint64(); status_t error = NO_ERROR; std::string requestorName; data.readUtf8FromUtf16(&requestorName); sp result = createGraphicBuffer(width, height, - format, layerCount, usage, requestorName, &error); + format, layerCount, producerUsage, consumerUsage, + requestorName, &error); reply->writeInt32(error); if (result != 0) { reply->write(*result); -- cgit v1.2.3-59-g8ed1b