diff --git a/src/gpu/GrOnFlushResourceProvider.cpp b/src/gpu/GrOnFlushResourceProvider.cpp
index 4ca773f..d5fd311 100644
--- a/src/gpu/GrOnFlushResourceProvider.cpp
+++ b/src/gpu/GrOnFlushResourceProvider.cpp
@@ -72,6 +72,22 @@
                                             data));
 }
 
+sk_sp<GrBuffer> GrOnFlushResourceProvider::findOrMakeStaticBuffer(const GrUniqueKey& key,
+                                                                  GrBufferType intendedType,
+                                                                  size_t size, const void* data) {
+    GrResourceProvider* rp = fDrawingMgr->getContext()->resourceProvider();
+    sk_sp<GrBuffer> buffer(rp->findAndRefTByUniqueKey<GrBuffer>(key));
+    if (!buffer) {
+        buffer.reset(rp->createBuffer(size, intendedType, kStatic_GrAccessPattern, 0, data));
+        if (!buffer) {
+            return nullptr;
+        }
+        SkASSERT(buffer->sizeInBytes() == size); // rp shouldn't bin and/or cache static buffers.
+        buffer->resourcePriv().setUniqueKey(key);
+    }
+    return buffer;
+}
+
 const GrCaps* GrOnFlushResourceProvider::caps() const {
     return fDrawingMgr->getContext()->caps();
 }
diff --git a/src/gpu/GrOnFlushResourceProvider.h b/src/gpu/GrOnFlushResourceProvider.h
index fdf34fe..e2c0b73 100644
--- a/src/gpu/GrOnFlushResourceProvider.h
+++ b/src/gpu/GrOnFlushResourceProvider.h
@@ -71,6 +71,10 @@
     // Creates a GPU buffer with a "dynamic" access pattern.
     sk_sp<GrBuffer> makeBuffer(GrBufferType, size_t, const void* data = nullptr);
 
+    // Either finds and refs, or creates a static GPU buffer with the given data.
+    sk_sp<GrBuffer> findOrMakeStaticBuffer(const GrUniqueKey&, GrBufferType,
+                                           size_t, const void* data);
+
     const GrCaps* caps() const;
 
 private:
