diff options
author | 2017-02-02 12:13:34 -0800 | |
---|---|---|
committer | 2017-02-03 14:21:36 -0800 | |
commit | e96a325aff9da4e02abeb7b9178592583cf3b78c (patch) | |
tree | b93ba6ca1f80ef765d9579a7e69d0336a12abd62 /libs/ui/GraphicBufferMapper.cpp | |
parent | bd448543439eb0f337191897bc3305eb8be0adda (diff) |
Add methods for allocating and locking GraphicBuffers via gralloc1 flags
Bug: 34050596
Test: manual
Change-Id: I9515e60fe6b67d2c6f02b1bb78651669430f12ef
Diffstat (limited to 'libs/ui/GraphicBufferMapper.cpp')
-rw-r--r-- | libs/ui/GraphicBufferMapper.cpp | 14 |
1 files changed, 11 insertions, 3 deletions
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 @@ -143,6 +143,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(); gralloc1_rect_t accessRegion = asGralloc1Rect(bounds); @@ -151,12 +158,13 @@ status_t GraphicBufferMapper::lockAsync(buffer_handle_t handle, const Gralloc2::IMapper::Rect& accessRect = *reinterpret_cast<Gralloc2::IMapper::Rect*>(&accessRegion); error = static_cast<gralloc1_error_t>(mMapper->lock( - handle, usage, usage, accessRect, fenceFd, vaddr)); + handle, producerUsage, consumerUsage, accessRect, + fenceFd, vaddr)); } else { sp<Fence> fence = new Fence(fenceFd); error = mDevice->lock(handle, - static_cast<gralloc1_producer_usage_t>(usage), - static_cast<gralloc1_consumer_usage_t>(usage), + static_cast<gralloc1_producer_usage_t>(producerUsage), + static_cast<gralloc1_consumer_usage_t>(consumerUsage), &accessRegion, vaddr, fence); } |