Add plumbing for the GrThreadSafeUniquelyKeyedProxyViewCache

This CL is also imperfect and incomplete but, although currently unused, it sketches in how the threadSafeProxyCache will be plumbed through the GrContexts and GrResourceCache.

Bug: 1108408
Change-Id: Idb012b6efd49291de69bd88e4b4c531458a3e553
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/317360
Reviewed-by: Adlai Holler <adlai@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Robert Phillips <robertphillips@google.com>
diff --git a/include/gpu/GrContextThreadSafeProxy.h b/include/gpu/GrContextThreadSafeProxy.h
index 3946a9c..04e49e4 100644
--- a/include/gpu/GrContextThreadSafeProxy.h
+++ b/include/gpu/GrContextThreadSafeProxy.h
@@ -19,6 +19,7 @@
 class GrCaps;
 class GrContextThreadSafeProxyPriv;
 class GrTextBlobCache;
+class GrThreadSafeUniquelyKeyedProxyViewCache;
 class SkSurfaceCharacterization;
 class SkSurfaceProps;
 
@@ -117,6 +118,7 @@
     const uint32_t                   fContextID;
     sk_sp<const GrCaps>              fCaps;
     std::unique_ptr<GrTextBlobCache> fTextBlobCache;
+    std::unique_ptr<GrThreadSafeUniquelyKeyedProxyViewCache> fThreadSafeViewCache;
     std::atomic<bool>                fAbandoned{false};
 };