summaryrefslogtreecommitdiff
path: root/libs/hwui/renderthread/RenderProxy.cpp
diff options
context:
space:
mode:
authorStan Iliev <stani@google.com>2017-08-23 12:41:41 -0400
committerStan Iliev <stani@google.com>2017-08-25 10:25:11 -0400
commit6b894d77462e96fb655a2959017d3aef2a32a90e (patch)
treeb63e20145abdf0c0b6f25249ee93b0c5b29ee11e /libs/hwui/renderthread/RenderProxy.cpp
parentb18835d4533d054c7524d52062c5b52630574cf2 (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.cpp12
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);