diff --git a/src/gpu/ops/GrTextureOp.cpp b/src/gpu/ops/GrTextureOp.cpp
index 0415d9d..92278d1 100644
--- a/src/gpu/ops/GrTextureOp.cpp
+++ b/src/gpu/ops/GrTextureOp.cpp
@@ -245,6 +245,13 @@
 
     const char* name() const override { return "TextureOp"; }
 
+    void visitProxies(VisitProxyFunc func) const override {
+        auto proxies = this->proxies();
+        for (int i = 0; i < fProxyCnt; ++i) {
+            func(proxies[i]);
+        }
+    }
+
     SkString dumpInfo() const override {
         SkString str;
         str.appendf("AllowSRGBInputs: %d\n", fAllowSRGBInputs);
@@ -482,6 +489,7 @@
             for (int i = 0; i < that->fProxyCnt; ++i) {
                 if (map[i] < 0) {
                     thatProxies[i]->addPendingRead();
+
                     thisProxies[-map[i]] = thatProxies[i];
                     thisFilters[-map[i]] = thatFilters[i];
                     map[i] = -map[i];
