diff options
author | Stan Iliev <stani@google.com> | 2017-08-23 12:41:41 -0400 |
---|---|---|
committer | Stan Iliev <stani@google.com> | 2017-08-25 10:25:11 -0400 |
commit | 6b894d77462e96fb655a2959017d3aef2a32a90e (patch) | |
tree | b63e20145abdf0c0b6f25249ee93b0c5b29ee11e /libs/hwui/renderthread/RenderProxy.cpp | |
parent | b18835d4533d054c7524d52062c5b52630574cf2 (diff) |
Release VectorDrawable cache surface on render thread
Release VectorDrawable cache surface on render thread.
This is fixing an assert in skia GrSingleOwner.h:33.
Test: Ran gmail before and after the change.
Bug: 64842607
Change-Id: I46e0c2557ac5b2fc3be2cc2d35abf96f6d6c9399
Diffstat (limited to 'libs/hwui/renderthread/RenderProxy.cpp')
-rw-r--r-- | libs/hwui/renderthread/RenderProxy.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/libs/hwui/renderthread/RenderProxy.cpp b/libs/hwui/renderthread/RenderProxy.cpp index 7fe966dde316..690474376bef 100644 --- a/libs/hwui/renderthread/RenderProxy.cpp +++ b/libs/hwui/renderthread/RenderProxy.cpp @@ -732,6 +732,18 @@ void RenderProxy::repackVectorDrawableAtlas() { thread.queue(task); } +CREATE_BRIDGE1(releaseVDAtlasEntries, RenderThread* thread) { + args->thread->cacheManager().acquireVectorDrawableAtlas()->delayedReleaseEntries(); + return nullptr; +} + +void RenderProxy::releaseVDAtlasEntries() { + RenderThread& thread = RenderThread::getInstance(); + SETUP_TASK(releaseVDAtlasEntries); + args->thread = &thread; + thread.queue(task); +} + void* RenderProxy::postAndWait(MethodInvokeRenderTask* task) { void* retval; task->setReturnPtr(&retval); |