Fix gpuResourceCacheLimit implementation
We need to wait until there's a resourceCache to set the value on.
Bug: skia:10877
Change-Id: I1558af6c369e857fbafb450179d3b341250ad16a
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/397459
Auto-Submit: Adlai Holler <adlai@google.com>
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Adlai Holler <adlai@google.com>
diff --git a/src/gpu/GrDirectContext.cpp b/src/gpu/GrDirectContext.cpp
index 6435e7e..f402df0 100644
--- a/src/gpu/GrDirectContext.cpp
+++ b/src/gpu/GrDirectContext.cpp
@@ -65,11 +65,6 @@
GrDirectContext::GrDirectContext(GrBackendApi backend, const GrContextOptions& options)
: INHERITED(GrContextThreadSafeProxyPriv::Make(backend, options), false)
, fDirectContextID(DirectContextID::Next()) {
-#if GR_TEST_UTILS
- if (options.fResourceCacheLimitOverride != -1) {
- this->setResourceCacheLimit(options.fResourceCacheLimitOverride);
- }
-#endif
}
GrDirectContext::~GrDirectContext() {
@@ -221,6 +216,11 @@
this->contextID());
fResourceCache->setProxyProvider(this->proxyProvider());
fResourceCache->setThreadSafeCache(this->threadSafeCache());
+#if GR_TEST_UTILS
+ if (this->options().fResourceCacheLimitOverride != -1) {
+ this->setResourceCacheLimit(this->options().fResourceCacheLimitOverride);
+ }
+#endif
fResourceProvider = std::make_unique<GrResourceProvider>(fGpu.get(), fResourceCache.get(),
this->singleOwner());
fMappedBufferManager = std::make_unique<GrClientMappedBufferManager>(this->directContextID());