diff options
author | 2017-12-13 09:26:37 -0500 | |
---|---|---|
committer | 2017-12-13 14:54:42 +0000 | |
commit | 76d917cef19aabfdc1247336f58237800bd71875 (patch) | |
tree | 6e6be4dc09150c4d9e8f74bb80c866f5062278ed /src/gpu/GrContext.cpp | |
parent | 1fbdb61f1389f01ce1cf1b7950e03a84811a9f38 (diff) |
Ensure we flush TextBlobCache message queue.
If we create and delete TextBlobs without actually renderering them,
their deletion messages can back up in the message queue. This adds
a routine to GrContext to ensure these messages get flushed.
Bug: 703297
Change-Id: Icc222373ac2a954dc3b77190cad79070ea562ba2
Reviewed-on: https://skia-review.googlesource.com/82686
Commit-Queue: Jim Van Verth <jvanverth@google.com>
Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/gpu/GrContext.cpp')
-rw-r--r-- | src/gpu/GrContext.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/gpu/GrContext.cpp b/src/gpu/GrContext.cpp index 388c9411b1..5cfe936766 100644 --- a/src/gpu/GrContext.cpp +++ b/src/gpu/GrContext.cpp @@ -330,9 +330,12 @@ void GrContext::freeGpuResources() { fResourceCache->purgeAllUnlocked(); } -void GrContext::purgeResourcesNotUsedInMs(std::chrono::milliseconds ms) { +void GrContext::performDeferredCleanup(std::chrono::milliseconds msNotUsed) { ASSERT_SINGLE_OWNER - fResourceCache->purgeResourcesNotUsedSince(GrStdSteadyClock::now() - ms); + fResourceCache->purgeAsNeeded(); + fResourceCache->purgeResourcesNotUsedSince(GrStdSteadyClock::now() - msNotUsed); + + fTextBlobCache->purgeStaleBlobs(); } void GrContext::purgeUnlockedResources(size_t bytesToPurge, bool preferScratchResources) { |