On GL some devices may not delete gpu memory immediately after calling
delete and instead will just queue it up. We must call glFinish to
make sure the memory is deleted when we want it.
More importantly Vulkan memory will not be freed until the GPU is done
with all the work. Thus we require an additional flush to make sure the
previous gpu work we submitted has finished and we can delete the
memory.
Test: manual testing on device
Bug: b/
130440975
Change-Id: I2a9202dd7d15d97b365120a8caf9e10b4100efc3
SkGraphics::SetFontCacheLimit(mMaxCpuFontCacheBytes);
break;
}
+
+ // We must sync the cpu to make sure deletions of resources still queued up on the GPU actually
+ // happen.
+ mGrContext->flush(kSyncCpu_GrFlushFlag, 0, nullptr);
}
void CacheManager::trimStaleResources() {