Merge "Avoid sampling outside BQ crop rect"
This commit is contained in:
@@ -189,8 +189,10 @@ CopyResult Readback::copySurfaceInto(ANativeWindow* window, const Rect& inSrcRec
|
|||||||
if (srcRect.width() != bitmap->width() || srcRect.height() != bitmap->height()) {
|
if (srcRect.width() != bitmap->width() || srcRect.height() != bitmap->height()) {
|
||||||
paint.setFilterQuality(kLow_SkFilterQuality);
|
paint.setFilterQuality(kLow_SkFilterQuality);
|
||||||
}
|
}
|
||||||
canvas->drawImageRect(image, imageSrcRect, imageDstRect, &paint,
|
const bool hasBufferCrop = cropRect.left < cropRect.right && cropRect.top < cropRect.bottom;
|
||||||
SkCanvas::kFast_SrcRectConstraint);
|
auto constraint =
|
||||||
|
hasBufferCrop ? SkCanvas::kStrict_SrcRectConstraint : SkCanvas::kFast_SrcRectConstraint;
|
||||||
|
canvas->drawImageRect(image, imageSrcRect, imageDstRect, &paint, constraint);
|
||||||
canvas->restore();
|
canvas->restore();
|
||||||
|
|
||||||
if (!tmpSurface->readPixels(*bitmap, 0, 0)) {
|
if (!tmpSurface->readPixels(*bitmap, 0, 0)) {
|
||||||
|
|||||||
Reference in New Issue
Block a user