Add option to LazyYUVImage to build mip maps

Fixes unexpected image changes to ducky_yuv_blend after
https://skia-review.googlesource.com/c/skia/+/306360

Change-Id: Ic517075883b301c3645059005c6f5d7417872c48
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/307016
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Auto-Submit: Brian Salomon <bsalomon@google.com>
diff --git a/tools/gpu/YUVUtils.cpp b/tools/gpu/YUVUtils.cpp
index 7b84250..143958d 100644
--- a/tools/gpu/YUVUtils.cpp
+++ b/tools/gpu/YUVUtils.cpp
@@ -15,9 +15,9 @@
 
 namespace sk_gpu_test {
 
-std::unique_ptr<LazyYUVImage> LazyYUVImage::Make(sk_sp<SkData> data) {
+std::unique_ptr<LazyYUVImage> LazyYUVImage::Make(sk_sp<SkData> data, GrMipmapped mipmapped) {
     std::unique_ptr<LazyYUVImage> image(new LazyYUVImage());
-    if (image->reset(std::move(data))) {
+    if (image->reset(std::move(data), mipmapped)) {
         return image;
     } else {
         return nullptr;
@@ -40,7 +40,8 @@
     }
 }
 
-bool LazyYUVImage::reset(sk_sp<SkData> data) {
+bool LazyYUVImage::reset(sk_sp<SkData> data, GrMipmapped mipmapped) {
+    fMipmapped = mipmapped;
     auto codec = SkCodecImageGenerator::MakeFromEncodedCodec(data);
     if (!codec) {
         return false;
@@ -86,7 +87,7 @@
                                              fComponents,
                                              fSizeInfo.fSizes[0],
                                              kTopLeft_GrSurfaceOrigin,
-                                             false,
+                                             static_cast<bool>(fMipmapped),
                                              false);
     return fYUVImage != nullptr;
 }