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/ui/GraphicBufferMapper.cpp | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'libs/ui/GraphicBufferMapper.cpp') diff --git a/libs/ui/GraphicBufferMapper.cpp b/libs/ui/GraphicBufferMapper.cpp index 1ff934bfe9..f03a30730b 100644 --- a/libs/ui/GraphicBufferMapper.cpp +++ b/libs/ui/GraphicBufferMapper.cpp @@ -142,6 +142,13 @@ status_t GraphicBufferMapper::unlock(buffer_handle_t handle) status_t GraphicBufferMapper::lockAsync(buffer_handle_t handle, uint32_t usage, const Rect& bounds, void** vaddr, int fenceFd) +{ + return lockAsync(handle, usage, usage, bounds, vaddr, fenceFd); +} + +status_t GraphicBufferMapper::lockAsync(buffer_handle_t handle, + uint64_t producerUsage, uint64_t consumerUsage, const Rect& bounds, + void** vaddr, int fenceFd) { ATRACE_CALL(); @@ -151,12 +158,13 @@ status_t GraphicBufferMapper::lockAsync(buffer_handle_t handle, const Gralloc2::IMapper::Rect& accessRect = *reinterpret_cast(&accessRegion); error = static_cast(mMapper->lock( - handle, usage, usage, accessRect, fenceFd, vaddr)); + handle, producerUsage, consumerUsage, accessRect, + fenceFd, vaddr)); } else { sp fence = new Fence(fenceFd); error = mDevice->lock(handle, - static_cast(usage), - static_cast(usage), + static_cast(producerUsage), + static_cast(consumerUsage), &accessRegion, vaddr, fence); } -- cgit v1.2.3-59-g8ed1b