Use views throughout gpu blur code.

Bug: skia:9556
Change-Id: I3988c8112d72d5453cf93e58542eb68b16e67e1c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/267452
Commit-Queue: Greg Daniel <egdaniel@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
diff --git a/src/gpu/effects/GrGaussianConvolutionFragmentProcessor.cpp b/src/gpu/effects/GrGaussianConvolutionFragmentProcessor.cpp
index 35dfcd0..a318025 100644
--- a/src/gpu/effects/GrGaussianConvolutionFragmentProcessor.cpp
+++ b/src/gpu/effects/GrGaussianConvolutionFragmentProcessor.cpp
@@ -215,7 +215,7 @@
 }
 
 GrGaussianConvolutionFragmentProcessor::GrGaussianConvolutionFragmentProcessor(
-        sk_sp<GrSurfaceProxy> proxy,
+        GrSurfaceProxyView view,
         SkAlphaType alphaType,
         Direction direction,
         int radius,
@@ -224,8 +224,8 @@
         int bounds[2])
         : INHERITED(kGrGaussianConvolutionFragmentProcessor_ClassID,
                     ModulateForSamplerOptFlags(alphaType, mode == GrTextureDomain::kDecal_Mode))
-        , fCoordTransform(proxy.get())
-        , fTextureSampler(std::move(proxy))
+        , fCoordTransform(view.proxy())
+        , fTextureSampler(std::move(view))
         , fRadius(radius)
         , fDirection(direction)
         , fMode(mode) {
@@ -333,7 +333,11 @@
     int radius = d->fRandom->nextRangeU(1, kMaxKernelRadius);
     float sigma = radius / 3.f;
 
-    return GrGaussianConvolutionFragmentProcessor::Make(std::move(proxy), at, dir, radius, sigma,
+    GrSurfaceOrigin origin = proxy->origin();
+    GrSwizzle swizzle = proxy->textureSwizzle();
+    GrSurfaceProxyView view(std::move(proxy), origin, swizzle);
+
+    return GrGaussianConvolutionFragmentProcessor::Make(std::move(view), at, dir, radius, sigma,
                                                         static_cast<GrTextureDomain::Mode>(modeIdx),
                                                         bounds);
 }