diff options
-rw-r--r-- | libs/ui/Gralloc2.cpp | 4 | ||||
-rw-r--r-- | libs/ui/Gralloc3.cpp | 4 | ||||
-rw-r--r-- | libs/ui/GraphicBuffer.cpp | 16 | ||||
-rw-r--r-- | libs/ui/GraphicBufferAllocator.cpp | 4 | ||||
-rw-r--r-- | libs/ui/GraphicBufferMapper.cpp | 4 | ||||
-rw-r--r-- | libs/ui/include/ui/Gralloc.h | 4 | ||||
-rw-r--r-- | libs/ui/include/ui/Gralloc2.h | 4 | ||||
-rw-r--r-- | libs/ui/include/ui/Gralloc3.h | 4 | ||||
-rw-r--r-- | libs/ui/include/ui/GraphicBuffer.h | 8 |
9 files changed, 28 insertions, 24 deletions
diff --git a/libs/ui/Gralloc2.cpp b/libs/ui/Gralloc2.cpp index 2c4b5f32b1..92ea07cbc4 100644 --- a/libs/ui/Gralloc2.cpp +++ b/libs/ui/Gralloc2.cpp @@ -94,7 +94,7 @@ Gralloc2Mapper::Gralloc2Mapper() { mMapperV2_1 = IMapper::castFrom(mMapper); } -bool Gralloc2Mapper::isSupported() const { +bool Gralloc2Mapper::isLoaded() const { return mMapper != nullptr; } @@ -359,7 +359,7 @@ Gralloc2Allocator::Gralloc2Allocator(const Gralloc2Mapper& mapper) : mMapper(map } } -bool Gralloc2Allocator::isSupported() const { +bool Gralloc2Allocator::isLoaded() const { return mAllocator != nullptr; } diff --git a/libs/ui/Gralloc3.cpp b/libs/ui/Gralloc3.cpp index acb6b01188..306a74b80c 100644 --- a/libs/ui/Gralloc3.cpp +++ b/libs/ui/Gralloc3.cpp @@ -92,7 +92,7 @@ Gralloc3Mapper::Gralloc3Mapper() { } } -bool Gralloc3Mapper::isSupported() const { +bool Gralloc3Mapper::isLoaded() const { return mMapper != nullptr; } @@ -322,7 +322,7 @@ Gralloc3Allocator::Gralloc3Allocator(const Gralloc3Mapper& mapper) : mMapper(map } } -bool Gralloc3Allocator::isSupported() const { +bool Gralloc3Allocator::isLoaded() const { return mAllocator != nullptr; } diff --git a/libs/ui/GraphicBuffer.cpp b/libs/ui/GraphicBuffer.cpp index da24cf1c06..15597eb666 100644 --- a/libs/ui/GraphicBuffer.cpp +++ b/libs/ui/GraphicBuffer.cpp @@ -236,15 +236,15 @@ status_t GraphicBuffer::initWithHandle(const native_handle_t* inHandle, HandleWr return NO_ERROR; } -status_t GraphicBuffer::lock(uint32_t inUsage, void** vaddr) -{ +status_t GraphicBuffer::lock(uint32_t inUsage, void** vaddr, int32_t* outBytesPerPixel, + int32_t* outBytesPerStride) { const Rect lockBounds(width, height); - status_t res = lock(inUsage, lockBounds, vaddr); + status_t res = lock(inUsage, lockBounds, vaddr, outBytesPerPixel, outBytesPerStride); return res; } -status_t GraphicBuffer::lock(uint32_t inUsage, const Rect& rect, void** vaddr) -{ +status_t GraphicBuffer::lock(uint32_t inUsage, const Rect& rect, void** vaddr, + int32_t* outBytesPerPixel, int32_t* outBytesPerStride) { if (rect.left < 0 || rect.right > width || rect.top < 0 || rect.bottom > height) { ALOGE("locking pixels (%d,%d,%d,%d) outside of buffer (w=%d, h=%d)", @@ -252,10 +252,10 @@ status_t GraphicBuffer::lock(uint32_t inUsage, const Rect& rect, void** vaddr) width, height); return BAD_VALUE; } - int32_t bytesPerPixel, bytesPerStride; - status_t res = - getBufferMapper().lock(handle, inUsage, rect, vaddr, &bytesPerPixel, &bytesPerStride); + status_t res = getBufferMapper().lock(handle, inUsage, rect, vaddr, outBytesPerPixel, + outBytesPerStride); + return res; } diff --git a/libs/ui/GraphicBufferAllocator.cpp b/libs/ui/GraphicBufferAllocator.cpp index efb5798167..5a67dc4a4d 100644 --- a/libs/ui/GraphicBufferAllocator.cpp +++ b/libs/ui/GraphicBufferAllocator.cpp @@ -48,12 +48,12 @@ KeyedVector<buffer_handle_t, GraphicBufferAllocator::GraphicBufferAllocator() : mMapper(GraphicBufferMapper::getInstance()) { mAllocator = std::make_unique<const Gralloc3Allocator>( reinterpret_cast<const Gralloc3Mapper&>(mMapper.getGrallocMapper())); - if (!mAllocator->isSupported()) { + if (!mAllocator->isLoaded()) { mAllocator = std::make_unique<const Gralloc2Allocator>( reinterpret_cast<const Gralloc2Mapper&>(mMapper.getGrallocMapper())); } - if (!mAllocator->isSupported()) { + if (!mAllocator->isLoaded()) { LOG_ALWAYS_FATAL("gralloc-allocator is missing"); } } diff --git a/libs/ui/GraphicBufferMapper.cpp b/libs/ui/GraphicBufferMapper.cpp index 9e36377c3d..79c333fce4 100644 --- a/libs/ui/GraphicBufferMapper.cpp +++ b/libs/ui/GraphicBufferMapper.cpp @@ -51,11 +51,11 @@ void GraphicBufferMapper::preloadHal() { GraphicBufferMapper::GraphicBufferMapper() { mMapper = std::make_unique<const Gralloc3Mapper>(); - if (!mMapper->isSupported()) { + if (!mMapper->isLoaded()) { mMapper = std::make_unique<const Gralloc2Mapper>(); } - if (!mMapper->isSupported()) { + if (!mMapper->isLoaded()) { LOG_ALWAYS_FATAL("gralloc-mapper is missing"); } } diff --git a/libs/ui/include/ui/Gralloc.h b/libs/ui/include/ui/Gralloc.h index a484bce4df..1b8a930c4c 100644 --- a/libs/ui/include/ui/Gralloc.h +++ b/libs/ui/include/ui/Gralloc.h @@ -31,7 +31,7 @@ class GrallocMapper { public: virtual ~GrallocMapper(); - virtual bool isSupported() const = 0; + virtual bool isLoaded() const = 0; virtual status_t createDescriptor(void* bufferDescriptorInfo, void* outBufferDescriptor) const = 0; @@ -74,7 +74,7 @@ class GrallocAllocator { public: virtual ~GrallocAllocator(); - virtual bool isSupported() const = 0; + virtual bool isLoaded() const = 0; virtual std::string dumpDebugInfo() const = 0; diff --git a/libs/ui/include/ui/Gralloc2.h b/libs/ui/include/ui/Gralloc2.h index b23d8f77e4..4ef9b51e4f 100644 --- a/libs/ui/include/ui/Gralloc2.h +++ b/libs/ui/include/ui/Gralloc2.h @@ -36,7 +36,7 @@ public: Gralloc2Mapper(); - bool isSupported() const override; + bool isLoaded() const override; status_t createDescriptor(void* bufferDescriptorInfo, void* outBufferDescriptor) const override; @@ -76,7 +76,7 @@ public: // time. Gralloc2Allocator(const Gralloc2Mapper& mapper); - bool isSupported() const override; + bool isLoaded() const override; std::string dumpDebugInfo() const override; diff --git a/libs/ui/include/ui/Gralloc3.h b/libs/ui/include/ui/Gralloc3.h index b0cbcc1300..879e96ed40 100644 --- a/libs/ui/include/ui/Gralloc3.h +++ b/libs/ui/include/ui/Gralloc3.h @@ -35,7 +35,7 @@ public: Gralloc3Mapper(); - bool isSupported() const override; + bool isLoaded() const override; status_t createDescriptor(void* bufferDescriptorInfo, void* outBufferDescriptor) const override; @@ -74,7 +74,7 @@ public: // time. Gralloc3Allocator(const Gralloc3Mapper& mapper); - bool isSupported() const override; + bool isLoaded() const override; std::string dumpDebugInfo() const override; diff --git a/libs/ui/include/ui/GraphicBuffer.h b/libs/ui/include/ui/GraphicBuffer.h index b73ca2b793..18a27a01dd 100644 --- a/libs/ui/include/ui/GraphicBuffer.h +++ b/libs/ui/include/ui/GraphicBuffer.h @@ -169,8 +169,12 @@ public: bool needsReallocation(uint32_t inWidth, uint32_t inHeight, PixelFormat inFormat, uint32_t inLayerCount, uint64_t inUsage); - status_t lock(uint32_t inUsage, void** vaddr); - status_t lock(uint32_t inUsage, const Rect& rect, void** vaddr); + // For the following two lock functions, if bytesPerStride or bytesPerPixel + // are unknown or variable, -1 will be returned + status_t lock(uint32_t inUsage, void** vaddr, int32_t* outBytesPerPixel = nullptr, + int32_t* outBytesPerStride = nullptr); + status_t lock(uint32_t inUsage, const Rect& rect, void** vaddr, + int32_t* outBytesPerPixel = nullptr, int32_t* outBytesPerStride = nullptr); // For HAL_PIXEL_FORMAT_YCbCr_420_888 status_t lockYCbCr(uint32_t inUsage, android_ycbcr *ycbcr); status_t lockYCbCr(uint32_t inUsage, const Rect& rect, |