Loading include/ui/GrallocAllocator.h +3 −3 Original line number Original line Diff line number Diff line Loading @@ -47,14 +47,14 @@ public: Error createBufferDescriptor( Error createBufferDescriptor( const IAllocatorClient::BufferDescriptorInfo& descriptorInfo, const IAllocatorClient::BufferDescriptorInfo& descriptorInfo, BufferDescriptor& descriptor) const; BufferDescriptor* outDescriptor) const; void destroyBufferDescriptor(BufferDescriptor descriptor) const; void destroyBufferDescriptor(BufferDescriptor descriptor) const; Error allocate(BufferDescriptor descriptor, Buffer& buffer) const; Error allocate(BufferDescriptor descriptor, Buffer* outBuffer) const; void free(Buffer buffer) const; void free(Buffer buffer) const; Error exportHandle(BufferDescriptor descriptor, Buffer buffer, Error exportHandle(BufferDescriptor descriptor, Buffer buffer, native_handle_t*& bufferHandle) const; native_handle_t** outBufferHandle) const; private: private: sp<IAllocator> mAllocator; sp<IAllocator> mAllocator; Loading include/ui/GrallocMapper.h +21 −20 Original line number Original line Diff line number Diff line Loading @@ -52,70 +52,71 @@ public: void release(buffer_handle_t handle) const; void release(buffer_handle_t handle) const; Error getDimensions(buffer_handle_t handle, Error getDimensions(buffer_handle_t handle, uint32_t& width, uint32_t& height) const uint32_t* outWidth, uint32_t* outHeight) const { { return mMapper->getDimensions(mDevice, handle, &width, &height); return mMapper->getDimensions(mDevice, handle, outWidth, outHeight); } } Error getFormat(buffer_handle_t handle, Error getFormat(buffer_handle_t handle, PixelFormat& format) const PixelFormat* outFormat) const { { return mMapper->getFormat(mDevice, handle, &format); return mMapper->getFormat(mDevice, handle, outFormat); } } Error getLayerCount(buffer_handle_t handle, uint32_t& layerCount) const Error getLayerCount(buffer_handle_t handle, uint32_t* outLayerCount) const { { return mMapper->getLayerCount(mDevice, handle, &layerCount); return mMapper->getLayerCount(mDevice, handle, outLayerCount); } } Error getProducerUsageMask(buffer_handle_t handle, Error getProducerUsageMask(buffer_handle_t handle, uint64_t& usageMask) const uint64_t* outUsageMask) const { { return mMapper->getProducerUsageMask(mDevice, handle, &usageMask); return mMapper->getProducerUsageMask(mDevice, handle, outUsageMask); } } Error getConsumerUsageMask(buffer_handle_t handle, Error getConsumerUsageMask(buffer_handle_t handle, uint64_t& usageMask) const uint64_t* outUsageMask) const { { return mMapper->getConsumerUsageMask(mDevice, handle, &usageMask); return mMapper->getConsumerUsageMask(mDevice, handle, outUsageMask); } } Error getBackingStore(buffer_handle_t handle, Error getBackingStore(buffer_handle_t handle, BackingStore& store) const BackingStore* outStore) const { { return mMapper->getBackingStore(mDevice, handle, &store); return mMapper->getBackingStore(mDevice, handle, outStore); } } Error getStride(buffer_handle_t handle, uint32_t& stride) const Error getStride(buffer_handle_t handle, uint32_t* outStride) const { { return mMapper->getStride(mDevice, handle, &stride); return mMapper->getStride(mDevice, handle, outStride); } } Error getNumFlexPlanes(buffer_handle_t handle, uint32_t& numPlanes) const Error getNumFlexPlanes(buffer_handle_t handle, uint32_t* outNumPlanes) const { { return mMapper->getNumFlexPlanes(mDevice, handle, &numPlanes); return mMapper->getNumFlexPlanes(mDevice, handle, outNumPlanes); } } Error lock(buffer_handle_t handle, Error lock(buffer_handle_t handle, uint64_t producerUsageMask, uint64_t producerUsageMask, uint64_t consumerUsageMask, uint64_t consumerUsageMask, const Device::Rect& accessRegion, const Device::Rect& accessRegion, int acquireFence, void*& data) const int acquireFence, void** outData) const { { return mMapper->lock(mDevice, handle, return mMapper->lock(mDevice, handle, producerUsageMask, consumerUsageMask, producerUsageMask, consumerUsageMask, &accessRegion, acquireFence, &data); &accessRegion, acquireFence, outData); } } Error lock(buffer_handle_t handle, Error lock(buffer_handle_t handle, uint64_t producerUsageMask, uint64_t producerUsageMask, uint64_t consumerUsageMask, uint64_t consumerUsageMask, const Device::Rect& accessRegion, const Device::Rect& accessRegion, int acquireFence, FlexLayout& flexLayout) const int acquireFence, FlexLayout* outFlexLayout) const { { return mMapper->lockFlex(mDevice, handle, return mMapper->lockFlex(mDevice, handle, producerUsageMask, consumerUsageMask, producerUsageMask, consumerUsageMask, &accessRegion, acquireFence, &flexLayout); &accessRegion, acquireFence, outFlexLayout); } } int unlock(buffer_handle_t handle) const; int unlock(buffer_handle_t handle) const; Loading libs/ui/GrallocAllocator.cpp +8 −7 Original line number Original line Diff line number Diff line Loading @@ -55,7 +55,7 @@ std::string Allocator::dumpDebugInfo() const Error Allocator::createBufferDescriptor( Error Allocator::createBufferDescriptor( const IAllocatorClient::BufferDescriptorInfo& descriptorInfo, const IAllocatorClient::BufferDescriptorInfo& descriptorInfo, BufferDescriptor& descriptor) const BufferDescriptor* outDescriptor) const { { Error error = kDefaultError; Error error = kDefaultError; mClient->createDescriptor(descriptorInfo, mClient->createDescriptor(descriptorInfo, Loading @@ -65,7 +65,7 @@ Error Allocator::createBufferDescriptor( return; return; } } descriptor = tmpDescriptor; *outDescriptor = tmpDescriptor; }); }); return error; return error; Loading @@ -76,7 +76,8 @@ void Allocator::destroyBufferDescriptor(BufferDescriptor descriptor) const mClient->destroyDescriptor(descriptor); mClient->destroyDescriptor(descriptor); } } Error Allocator::allocate(BufferDescriptor descriptor, Buffer& buffer) const Error Allocator::allocate(BufferDescriptor descriptor, Buffer* outBuffer) const { { hardware::hidl_vec<BufferDescriptor> descriptors; hardware::hidl_vec<BufferDescriptor> descriptors; descriptors.setToExternal(&descriptor, 1); descriptors.setToExternal(&descriptor, 1); Loading @@ -89,7 +90,7 @@ Error Allocator::allocate(BufferDescriptor descriptor, Buffer& buffer) const return; return; } } buffer = tmpBuffers[0]; *outBuffer = tmpBuffers[0]; }); }); return error; return error; Loading @@ -101,7 +102,7 @@ void Allocator::free(Buffer buffer) const } } Error Allocator::exportHandle(BufferDescriptor descriptor, Buffer buffer, Error Allocator::exportHandle(BufferDescriptor descriptor, Buffer buffer, native_handle_t*& bufferHandle) const native_handle_t** outBufferHandle) const { { Error error = kDefaultError; Error error = kDefaultError; auto status = mClient->exportHandle(descriptor, buffer, auto status = mClient->exportHandle(descriptor, buffer, Loading @@ -111,8 +112,8 @@ Error Allocator::exportHandle(BufferDescriptor descriptor, Buffer buffer, return; return; } } bufferHandle = native_handle_clone(tmpBufferHandle); *outBufferHandle = native_handle_clone(tmpBufferHandle); if (!bufferHandle) { if (!*outBufferHandle) { error = Error::NO_RESOURCES; error = Error::NO_RESOURCES; } } }); }); Loading libs/ui/GraphicBufferAllocator.cpp +4 −4 Original line number Original line Diff line number Diff line Loading @@ -115,14 +115,14 @@ public: info.consumerUsageMask = usage; info.consumerUsageMask = usage; Gralloc2::BufferDescriptor descriptor; Gralloc2::BufferDescriptor descriptor; auto error = mAllocator->createBufferDescriptor(info, descriptor); auto error = mAllocator->createBufferDescriptor(info, &descriptor); if (error != Gralloc2::Error::NONE) { if (error != Gralloc2::Error::NONE) { ALOGE("Failed to create desc (%u x %u) layerCount %u format %d usage %u: %d", ALOGE("Failed to create desc (%u x %u) layerCount %u format %d usage %u: %d", width, height, layerCount, format, usage, error); width, height, layerCount, format, usage, error); return; return; } } error = mAllocator->allocate(descriptor, mBuffer); error = mAllocator->allocate(descriptor, &mBuffer); if (error == Gralloc2::Error::NOT_SHARED) { if (error == Gralloc2::Error::NOT_SHARED) { error = Gralloc2::Error::NONE; error = Gralloc2::Error::NONE; } } Loading @@ -134,7 +134,7 @@ public: return; return; } } error = mAllocator->exportHandle(descriptor, mBuffer, mHandle); error = mAllocator->exportHandle(descriptor, mBuffer, &mHandle); if (error != Gralloc2::Error::NONE) { if (error != Gralloc2::Error::NONE) { ALOGE("Failed to export handle"); ALOGE("Failed to export handle"); mAllocator->free(mBuffer); mAllocator->free(mBuffer); Loading Loading @@ -172,7 +172,7 @@ public: *handle = mHandle; *handle = mHandle; auto error = mapper.getGrallocMapper().getStride(mHandle, *stride); auto error = mapper.getGrallocMapper().getStride(mHandle, stride); if (error != Gralloc2::Error::NONE) { if (error != Gralloc2::Error::NONE) { ALOGW("Failed to get stride from buffer: %d", error); ALOGW("Failed to get stride from buffer: %d", error); *stride = 0; *stride = 0; Loading libs/ui/GraphicBufferMapper.cpp +3 −3 Original line number Original line Diff line number Diff line Loading @@ -151,7 +151,7 @@ status_t GraphicBufferMapper::lockAsync(buffer_handle_t handle, const Gralloc2::Device::Rect& accessRect = const Gralloc2::Device::Rect& accessRect = *reinterpret_cast<Gralloc2::Device::Rect*>(&accessRegion); *reinterpret_cast<Gralloc2::Device::Rect*>(&accessRegion); error = static_cast<gralloc1_error_t>(mMapper->lock( error = static_cast<gralloc1_error_t>(mMapper->lock( handle, usage, usage, accessRect, fenceFd, *vaddr)); handle, usage, usage, accessRect, fenceFd, vaddr)); } else { } else { sp<Fence> fence = new Fence(fenceFd); sp<Fence> fence = new Fence(fenceFd); error = mDevice->lock(handle, error = mDevice->lock(handle, Loading Loading @@ -213,7 +213,7 @@ status_t GraphicBufferMapper::lockAsyncYCbCr(buffer_handle_t handle, gralloc1_error_t error; gralloc1_error_t error; if (mMapper->valid()) { if (mMapper->valid()) { error = static_cast<gralloc1_error_t>( error = static_cast<gralloc1_error_t>( mMapper->getNumFlexPlanes(handle, numPlanes)); mMapper->getNumFlexPlanes(handle, &numPlanes)); } else { } else { error = mDevice->getNumFlexPlanes(handle, &numPlanes); error = mDevice->getNumFlexPlanes(handle, &numPlanes); } } Loading @@ -238,7 +238,7 @@ status_t GraphicBufferMapper::lockAsyncYCbCr(buffer_handle_t handle, Gralloc2::FlexLayout& layout = Gralloc2::FlexLayout& layout = *reinterpret_cast<Gralloc2::FlexLayout*>(&flexLayout); *reinterpret_cast<Gralloc2::FlexLayout*>(&flexLayout); error = static_cast<gralloc1_error_t>(mMapper->lock( error = static_cast<gralloc1_error_t>(mMapper->lock( handle, usage, usage, accessRect, fenceFd, layout)); handle, usage, usage, accessRect, fenceFd, &layout)); } else { } else { sp<Fence> fence = new Fence(fenceFd); sp<Fence> fence = new Fence(fenceFd); error = mDevice->lockFlex(handle, error = mDevice->lockFlex(handle, Loading Loading
include/ui/GrallocAllocator.h +3 −3 Original line number Original line Diff line number Diff line Loading @@ -47,14 +47,14 @@ public: Error createBufferDescriptor( Error createBufferDescriptor( const IAllocatorClient::BufferDescriptorInfo& descriptorInfo, const IAllocatorClient::BufferDescriptorInfo& descriptorInfo, BufferDescriptor& descriptor) const; BufferDescriptor* outDescriptor) const; void destroyBufferDescriptor(BufferDescriptor descriptor) const; void destroyBufferDescriptor(BufferDescriptor descriptor) const; Error allocate(BufferDescriptor descriptor, Buffer& buffer) const; Error allocate(BufferDescriptor descriptor, Buffer* outBuffer) const; void free(Buffer buffer) const; void free(Buffer buffer) const; Error exportHandle(BufferDescriptor descriptor, Buffer buffer, Error exportHandle(BufferDescriptor descriptor, Buffer buffer, native_handle_t*& bufferHandle) const; native_handle_t** outBufferHandle) const; private: private: sp<IAllocator> mAllocator; sp<IAllocator> mAllocator; Loading
include/ui/GrallocMapper.h +21 −20 Original line number Original line Diff line number Diff line Loading @@ -52,70 +52,71 @@ public: void release(buffer_handle_t handle) const; void release(buffer_handle_t handle) const; Error getDimensions(buffer_handle_t handle, Error getDimensions(buffer_handle_t handle, uint32_t& width, uint32_t& height) const uint32_t* outWidth, uint32_t* outHeight) const { { return mMapper->getDimensions(mDevice, handle, &width, &height); return mMapper->getDimensions(mDevice, handle, outWidth, outHeight); } } Error getFormat(buffer_handle_t handle, Error getFormat(buffer_handle_t handle, PixelFormat& format) const PixelFormat* outFormat) const { { return mMapper->getFormat(mDevice, handle, &format); return mMapper->getFormat(mDevice, handle, outFormat); } } Error getLayerCount(buffer_handle_t handle, uint32_t& layerCount) const Error getLayerCount(buffer_handle_t handle, uint32_t* outLayerCount) const { { return mMapper->getLayerCount(mDevice, handle, &layerCount); return mMapper->getLayerCount(mDevice, handle, outLayerCount); } } Error getProducerUsageMask(buffer_handle_t handle, Error getProducerUsageMask(buffer_handle_t handle, uint64_t& usageMask) const uint64_t* outUsageMask) const { { return mMapper->getProducerUsageMask(mDevice, handle, &usageMask); return mMapper->getProducerUsageMask(mDevice, handle, outUsageMask); } } Error getConsumerUsageMask(buffer_handle_t handle, Error getConsumerUsageMask(buffer_handle_t handle, uint64_t& usageMask) const uint64_t* outUsageMask) const { { return mMapper->getConsumerUsageMask(mDevice, handle, &usageMask); return mMapper->getConsumerUsageMask(mDevice, handle, outUsageMask); } } Error getBackingStore(buffer_handle_t handle, Error getBackingStore(buffer_handle_t handle, BackingStore& store) const BackingStore* outStore) const { { return mMapper->getBackingStore(mDevice, handle, &store); return mMapper->getBackingStore(mDevice, handle, outStore); } } Error getStride(buffer_handle_t handle, uint32_t& stride) const Error getStride(buffer_handle_t handle, uint32_t* outStride) const { { return mMapper->getStride(mDevice, handle, &stride); return mMapper->getStride(mDevice, handle, outStride); } } Error getNumFlexPlanes(buffer_handle_t handle, uint32_t& numPlanes) const Error getNumFlexPlanes(buffer_handle_t handle, uint32_t* outNumPlanes) const { { return mMapper->getNumFlexPlanes(mDevice, handle, &numPlanes); return mMapper->getNumFlexPlanes(mDevice, handle, outNumPlanes); } } Error lock(buffer_handle_t handle, Error lock(buffer_handle_t handle, uint64_t producerUsageMask, uint64_t producerUsageMask, uint64_t consumerUsageMask, uint64_t consumerUsageMask, const Device::Rect& accessRegion, const Device::Rect& accessRegion, int acquireFence, void*& data) const int acquireFence, void** outData) const { { return mMapper->lock(mDevice, handle, return mMapper->lock(mDevice, handle, producerUsageMask, consumerUsageMask, producerUsageMask, consumerUsageMask, &accessRegion, acquireFence, &data); &accessRegion, acquireFence, outData); } } Error lock(buffer_handle_t handle, Error lock(buffer_handle_t handle, uint64_t producerUsageMask, uint64_t producerUsageMask, uint64_t consumerUsageMask, uint64_t consumerUsageMask, const Device::Rect& accessRegion, const Device::Rect& accessRegion, int acquireFence, FlexLayout& flexLayout) const int acquireFence, FlexLayout* outFlexLayout) const { { return mMapper->lockFlex(mDevice, handle, return mMapper->lockFlex(mDevice, handle, producerUsageMask, consumerUsageMask, producerUsageMask, consumerUsageMask, &accessRegion, acquireFence, &flexLayout); &accessRegion, acquireFence, outFlexLayout); } } int unlock(buffer_handle_t handle) const; int unlock(buffer_handle_t handle) const; Loading
libs/ui/GrallocAllocator.cpp +8 −7 Original line number Original line Diff line number Diff line Loading @@ -55,7 +55,7 @@ std::string Allocator::dumpDebugInfo() const Error Allocator::createBufferDescriptor( Error Allocator::createBufferDescriptor( const IAllocatorClient::BufferDescriptorInfo& descriptorInfo, const IAllocatorClient::BufferDescriptorInfo& descriptorInfo, BufferDescriptor& descriptor) const BufferDescriptor* outDescriptor) const { { Error error = kDefaultError; Error error = kDefaultError; mClient->createDescriptor(descriptorInfo, mClient->createDescriptor(descriptorInfo, Loading @@ -65,7 +65,7 @@ Error Allocator::createBufferDescriptor( return; return; } } descriptor = tmpDescriptor; *outDescriptor = tmpDescriptor; }); }); return error; return error; Loading @@ -76,7 +76,8 @@ void Allocator::destroyBufferDescriptor(BufferDescriptor descriptor) const mClient->destroyDescriptor(descriptor); mClient->destroyDescriptor(descriptor); } } Error Allocator::allocate(BufferDescriptor descriptor, Buffer& buffer) const Error Allocator::allocate(BufferDescriptor descriptor, Buffer* outBuffer) const { { hardware::hidl_vec<BufferDescriptor> descriptors; hardware::hidl_vec<BufferDescriptor> descriptors; descriptors.setToExternal(&descriptor, 1); descriptors.setToExternal(&descriptor, 1); Loading @@ -89,7 +90,7 @@ Error Allocator::allocate(BufferDescriptor descriptor, Buffer& buffer) const return; return; } } buffer = tmpBuffers[0]; *outBuffer = tmpBuffers[0]; }); }); return error; return error; Loading @@ -101,7 +102,7 @@ void Allocator::free(Buffer buffer) const } } Error Allocator::exportHandle(BufferDescriptor descriptor, Buffer buffer, Error Allocator::exportHandle(BufferDescriptor descriptor, Buffer buffer, native_handle_t*& bufferHandle) const native_handle_t** outBufferHandle) const { { Error error = kDefaultError; Error error = kDefaultError; auto status = mClient->exportHandle(descriptor, buffer, auto status = mClient->exportHandle(descriptor, buffer, Loading @@ -111,8 +112,8 @@ Error Allocator::exportHandle(BufferDescriptor descriptor, Buffer buffer, return; return; } } bufferHandle = native_handle_clone(tmpBufferHandle); *outBufferHandle = native_handle_clone(tmpBufferHandle); if (!bufferHandle) { if (!*outBufferHandle) { error = Error::NO_RESOURCES; error = Error::NO_RESOURCES; } } }); }); Loading
libs/ui/GraphicBufferAllocator.cpp +4 −4 Original line number Original line Diff line number Diff line Loading @@ -115,14 +115,14 @@ public: info.consumerUsageMask = usage; info.consumerUsageMask = usage; Gralloc2::BufferDescriptor descriptor; Gralloc2::BufferDescriptor descriptor; auto error = mAllocator->createBufferDescriptor(info, descriptor); auto error = mAllocator->createBufferDescriptor(info, &descriptor); if (error != Gralloc2::Error::NONE) { if (error != Gralloc2::Error::NONE) { ALOGE("Failed to create desc (%u x %u) layerCount %u format %d usage %u: %d", ALOGE("Failed to create desc (%u x %u) layerCount %u format %d usage %u: %d", width, height, layerCount, format, usage, error); width, height, layerCount, format, usage, error); return; return; } } error = mAllocator->allocate(descriptor, mBuffer); error = mAllocator->allocate(descriptor, &mBuffer); if (error == Gralloc2::Error::NOT_SHARED) { if (error == Gralloc2::Error::NOT_SHARED) { error = Gralloc2::Error::NONE; error = Gralloc2::Error::NONE; } } Loading @@ -134,7 +134,7 @@ public: return; return; } } error = mAllocator->exportHandle(descriptor, mBuffer, mHandle); error = mAllocator->exportHandle(descriptor, mBuffer, &mHandle); if (error != Gralloc2::Error::NONE) { if (error != Gralloc2::Error::NONE) { ALOGE("Failed to export handle"); ALOGE("Failed to export handle"); mAllocator->free(mBuffer); mAllocator->free(mBuffer); Loading Loading @@ -172,7 +172,7 @@ public: *handle = mHandle; *handle = mHandle; auto error = mapper.getGrallocMapper().getStride(mHandle, *stride); auto error = mapper.getGrallocMapper().getStride(mHandle, stride); if (error != Gralloc2::Error::NONE) { if (error != Gralloc2::Error::NONE) { ALOGW("Failed to get stride from buffer: %d", error); ALOGW("Failed to get stride from buffer: %d", error); *stride = 0; *stride = 0; Loading
libs/ui/GraphicBufferMapper.cpp +3 −3 Original line number Original line Diff line number Diff line Loading @@ -151,7 +151,7 @@ status_t GraphicBufferMapper::lockAsync(buffer_handle_t handle, const Gralloc2::Device::Rect& accessRect = const Gralloc2::Device::Rect& accessRect = *reinterpret_cast<Gralloc2::Device::Rect*>(&accessRegion); *reinterpret_cast<Gralloc2::Device::Rect*>(&accessRegion); error = static_cast<gralloc1_error_t>(mMapper->lock( error = static_cast<gralloc1_error_t>(mMapper->lock( handle, usage, usage, accessRect, fenceFd, *vaddr)); handle, usage, usage, accessRect, fenceFd, vaddr)); } else { } else { sp<Fence> fence = new Fence(fenceFd); sp<Fence> fence = new Fence(fenceFd); error = mDevice->lock(handle, error = mDevice->lock(handle, Loading Loading @@ -213,7 +213,7 @@ status_t GraphicBufferMapper::lockAsyncYCbCr(buffer_handle_t handle, gralloc1_error_t error; gralloc1_error_t error; if (mMapper->valid()) { if (mMapper->valid()) { error = static_cast<gralloc1_error_t>( error = static_cast<gralloc1_error_t>( mMapper->getNumFlexPlanes(handle, numPlanes)); mMapper->getNumFlexPlanes(handle, &numPlanes)); } else { } else { error = mDevice->getNumFlexPlanes(handle, &numPlanes); error = mDevice->getNumFlexPlanes(handle, &numPlanes); } } Loading @@ -238,7 +238,7 @@ status_t GraphicBufferMapper::lockAsyncYCbCr(buffer_handle_t handle, Gralloc2::FlexLayout& layout = Gralloc2::FlexLayout& layout = *reinterpret_cast<Gralloc2::FlexLayout*>(&flexLayout); *reinterpret_cast<Gralloc2::FlexLayout*>(&flexLayout); error = static_cast<gralloc1_error_t>(mMapper->lock( error = static_cast<gralloc1_error_t>(mMapper->lock( handle, usage, usage, accessRect, fenceFd, layout)); handle, usage, usage, accessRect, fenceFd, &layout)); } else { } else { sp<Fence> fence = new Fence(fenceFd); sp<Fence> fence = new Fence(fenceFd); error = mDevice->lockFlex(handle, error = mDevice->lockFlex(handle, Loading