Make the persistent cache utility functions operate on SkData

This avoids boilerplate at every call-site (and more are being added
soon) to set up the reader/writer objects.

Change-Id: Idc632932b5a9be8d3164d249abab7dccbb905ca3
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/207704
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
diff --git a/tools/gpu/MemoryCache.cpp b/tools/gpu/MemoryCache.cpp
index 771d1a1..beef9ed 100644
--- a/tools/gpu/MemoryCache.cpp
+++ b/tools/gpu/MemoryCache.cpp
@@ -89,10 +89,9 @@
         writer.appendS32(it->second.fHitCount);
         writer.endArray();
 
-        SkReader32 reader(it->second.fData->data(), it->second.fData->size());
         SkSL::Program::Inputs inputsIgnored;
         SkSL::String glsl[kGrShaderTypeCount];
-        GrPersistentCacheUtils::UnpackCachedGLSL(reader, &inputsIgnored, glsl);
+        GrPersistentCacheUtils::UnpackCachedGLSL(it->second.fData.get(), &inputsIgnored, glsl);
 
         SkString filename = SkStringPrintf("%s/%s.%s", path, md5.c_str(),
                                            extensions[kFragment_GrShaderType]);