From d2ba4f36c7100aae7695dbd06ec22f7431e8ec1a Mon Sep 17 00:00:00 2001 From: Anders Frostad Pedersen Date: Wed, 8 Jan 2020 21:54:07 +0100 Subject: Allow zero stride For some pixel formats, stride has no meaning. Take this into account and use buffer width instead. Bug: 143470518 Change-Id: I728b40803e80c4e534504c5b9db55921bb5e7dbc Merged-In: I728b40803e80c4e534504c5b9db55921bb5e7dbc Test: android.graphics.cts.ImageDecoderTest#testConserveMemoryPlusHardware --- libs/hwui/hwui/Bitmap.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libs/hwui/hwui/Bitmap.cpp b/libs/hwui/hwui/Bitmap.cpp index 219d04055eae..c21bdca3db77 100644 --- a/libs/hwui/hwui/Bitmap.cpp +++ b/libs/hwui/hwui/Bitmap.cpp @@ -219,7 +219,7 @@ Bitmap::Bitmap(void* address, int fd, size_t mappedSize, const SkImageInfo& info Bitmap::Bitmap(GraphicBuffer* buffer, const SkImageInfo& info, BitmapPalette palette) : SkPixelRef(info.width(), info.height(), nullptr, - bytesPerPixel(buffer->getPixelFormat()) * buffer->getStride()) + bytesPerPixel(buffer->getPixelFormat()) * (buffer->getStride() > 0 ? buffer->getStride() : buffer->getWidth())) , mInfo(validateAlpha(info)) , mPixelStorageType(PixelStorageType::Hardware) , mPalette(palette) -- cgit v1.2.3-59-g8ed1b