diff options
author | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-07-15 01:07:10 +0000 |
---|---|---|
committer | Android Build Coastguard Worker <android-build-coastguard-worker@google.com> | 2021-07-15 01:07:10 +0000 |
commit | 0cf0aea05a722e3bec6fb3ea2077066edfd2fe57 (patch) | |
tree | d4b33148ad0c9b6e38e4b5cd4b312cb127996c0f /libs/hwui/Readback.cpp | |
parent | 05157a1f278ebf859a0ce17f7f8e1678f985de7e (diff) | |
parent | 6cc2381562e792f9033dd1b941d2737c52ccbdb7 (diff) |
Snap for 7550575 from 6cc2381562e792f9033dd1b941d2737c52ccbdb7 to sc-release
Change-Id: I76e52e2e53412650ee40e5092fed635e1f35f257
Diffstat (limited to 'libs/hwui/Readback.cpp')
-rw-r--r-- | libs/hwui/Readback.cpp | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/libs/hwui/Readback.cpp b/libs/hwui/Readback.cpp index d8735ce57b65..a743d30939d0 100644 --- a/libs/hwui/Readback.cpp +++ b/libs/hwui/Readback.cpp @@ -183,8 +183,10 @@ CopyResult Readback::copySurfaceInto(ANativeWindow* window, const Rect& inSrcRec SkPaint paint; paint.setAlpha(255); paint.setBlendMode(SkBlendMode::kSrc); - canvas->drawImageRect(image, imageSrcRect, imageDstRect, sampling, &paint, - SkCanvas::kFast_SrcRectConstraint); + const bool hasBufferCrop = cropRect.left < cropRect.right && cropRect.top < cropRect.bottom; + auto constraint = + hasBufferCrop ? SkCanvas::kStrict_SrcRectConstraint : SkCanvas::kFast_SrcRectConstraint; + canvas->drawImageRect(image, imageSrcRect, imageDstRect, sampling, &paint, constraint); canvas->restore(); if (!tmpSurface->readPixels(*bitmap, 0, 0)) { |