diff --git a/src/effects/imagefilters/SkMagnifierImageFilter.cpp b/src/effects/imagefilters/SkMagnifierImageFilter.cpp
index 5fde84d..8e36093 100644
--- a/src/effects/imagefilters/SkMagnifierImageFilter.cpp
+++ b/src/effects/imagefilters/SkMagnifierImageFilter.cpp
@@ -131,9 +131,15 @@
         offset->fY = bounds.top();
         bounds.offset(-inputOffset);
 
+        // Map bounds and srcRect into the proxy space. Due to the zoom effect,
+        // it's not just an offset for fSrcRect.
+        bounds.offset(input->subset().x(), input->subset().y());
+        SkRect srcRect = fSrcRect.makeOffset((1.f - invXZoom) * input->subset().x(),
+                                             (1.f - invYZoom) * input->subset().y());
+
         auto fp = GrMagnifierEffect::Make(std::move(inputProxy),
                                           bounds,
-                                          fSrcRect,
+                                          srcRect,
                                           invXZoom,
                                           invYZoom,
                                           bounds.width() * invInset,
diff --git a/src/gpu/effects/GrMagnifierEffect.fp b/src/gpu/effects/GrMagnifierEffect.fp
index ea40cd1..e6a9aa2 100644
--- a/src/gpu/effects/GrMagnifierEffect.fp
+++ b/src/gpu/effects/GrMagnifierEffect.fp
@@ -56,15 +56,17 @@
 
     {
         SkScalar y = bounds.y() * invH;
+        SkScalar hSign = 1.f;
         if (srcProxy.origin() != kTopLeft_GrSurfaceOrigin) {
-            y = 1.0f - bounds.height() * invH;
+            y = 1.0f - bounds.y() * invH;
+            hSign = -1.f;
         }
 
         pdman.set4f(boundsUniform,
                     bounds.x() * invW,
                     y,
                     SkIntToScalar(src.width()) / bounds.width(),
-                    SkIntToScalar(src.height()) / bounds.height());
+                    hSign * SkIntToScalar(src.height()) / bounds.height());
     }
 }
 
diff --git a/src/gpu/effects/generated/GrMagnifierEffect.cpp b/src/gpu/effects/generated/GrMagnifierEffect.cpp
index 05f1602..0526e83 100644
--- a/src/gpu/effects/generated/GrMagnifierEffect.cpp
+++ b/src/gpu/effects/generated/GrMagnifierEffect.cpp
@@ -115,15 +115,17 @@
 
         {
             SkScalar y = bounds.y() * invH;
+            SkScalar hSign = 1.f;
             if (srcProxy.origin() != kTopLeft_GrSurfaceOrigin) {
-                y = 1.0f - bounds.height() * invH;
+                y = 1.0f - bounds.y() * invH;
+                hSign = -1.f;
             }
 
             pdman.set4f(boundsUniform,
                         bounds.x() * invW,
                         y,
                         SkIntToScalar(src.width()) / bounds.width(),
-                        SkIntToScalar(src.height()) / bounds.height());
+                        hSign * SkIntToScalar(src.height()) / bounds.height());
         }
     }
     UniformHandle boundsUniformVar;
