updateBackendTexture uses GrSurfaceContext to write pixmaps.

Bug: skia:11786

Change-Id: I1c70b7152a69b2bb976aec2ed1dc9d5f96cad7ab
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/348185
Commit-Queue: Brian Salomon <bsalomon@google.com>
Reviewed-by: Greg Daniel <egdaniel@google.com>
diff --git a/src/gpu/GrWritePixelsRenderTask.cpp b/src/gpu/GrWritePixelsRenderTask.cpp
index 01bee26..51901a0 100644
--- a/src/gpu/GrWritePixelsRenderTask.cpp
+++ b/src/gpu/GrWritePixelsRenderTask.cpp
@@ -17,14 +17,16 @@
                                             GrColorType srcColorType,
                                             GrColorType dstColorType,
                                             const GrMipLevel texels[],
-                                            int levelCount) {
+                                            int levelCount,
+                                            bool prepForSampling) {
     return sk_sp<GrRenderTask>(new GrWritePixelsTask(dm,
                                                      std::move(dst),
                                                      rect,
                                                      srcColorType,
                                                      dstColorType,
                                                      texels,
-                                                     levelCount));
+                                                     levelCount,
+                                                     prepForSampling));
 }
 
 GrWritePixelsTask::GrWritePixelsTask(GrDrawingManager* dm,
@@ -33,8 +35,12 @@
                                      GrColorType srcColorType,
                                      GrColorType dstColorType,
                                      const GrMipLevel texels[],
-                                     int levelCount)
-        : fRect(rect), fSrcColorType(srcColorType), fDstColorType(dstColorType) {
+                                     int levelCount,
+                                     bool prepForSampling)
+        : fRect(rect)
+        , fSrcColorType(srcColorType)
+        , fDstColorType(dstColorType)
+        , fPrepForSampling(prepForSampling) {
     this->addTarget(dm, std::move(dst));
     fLevels.reset(levelCount);
     std::copy_n(texels, levelCount, fLevels.get());
@@ -66,5 +72,6 @@
                                           fDstColorType,
                                           fSrcColorType,
                                           fLevels.get(),
-                                          fLevels.count());
+                                          fLevels.count(),
+                                          fPrepForSampling);
 }