move GrTextBlobCache to GrContextThreadSafeProxy
ninja -C out/Release -j 800 skpbench && ./out/Release/skpbench \
--config gl --ddl --src skps/desk_nytimes.skp \
--ddlTilingWidthHeight 3 --gpuThreads 0 \
--pr ~small ~nvpr --cachePathMasks false --comparableDDL
Reports:
with out cl:
1.949 1.842 3.979 1.802 29% 99 50 cpu ms gl desk_nytimes.skp
this cl:
1.476 1.388 3.342 1.365 34.2% 99 50 cpu ms gl desk_nytimes.skp
Non-ddl perf:
./out/Release/skpbench --config gl --ddl --src skps/desk_nytimes.skp \
--ddlTilingWidthHeight 3 --gpuThreads 0 --pr ~small ~nvpr \
--cachePathMasks false --comparableSKP
1.368 1.31 2.276 1.273 15.3% 99 50 cpu ms gl desk_nytimes.skp
Change-Id: I879f779e34b5c717ab5602f23374aedaff56f96b
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/299197
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Herb Derby <herb@google.com>
diff --git a/include/gpu/GrContextThreadSafeProxy.h b/include/gpu/GrContextThreadSafeProxy.h
index ca4cb31..8a92f8d 100644
--- a/include/gpu/GrContextThreadSafeProxy.h
+++ b/include/gpu/GrContextThreadSafeProxy.h
@@ -18,6 +18,7 @@
class GrBackendFormat;
class GrCaps;
class GrContextThreadSafeProxyPriv;
+class GrTextBlobCache;
class SkSurfaceCharacterization;
class SkSurfaceProps;
@@ -108,11 +109,12 @@
// `init` method on GrContext_Base).
void init(sk_sp<const GrCaps>);
- const GrBackendApi fBackend;
- const GrContextOptions fOptions;
- const uint32_t fContextID;
- sk_sp<const GrCaps> fCaps;
- std::atomic<bool> fAbandoned{false};
+ const GrBackendApi fBackend;
+ const GrContextOptions fOptions;
+ const uint32_t fContextID;
+ sk_sp<const GrCaps> fCaps;
+ std::unique_ptr<GrTextBlobCache> fTextBlobCache;
+ std::atomic<bool> fAbandoned{false};
};
#endif