diff options
author | John Reck <jreck@google.com> | 2014-07-24 10:36:08 -0700 |
---|---|---|
committer | John Reck <jreck@google.com> | 2014-07-24 10:36:08 -0700 |
commit | 09d5cddf67b676018700bcc10a72242641cd7eec (patch) | |
tree | 92b8ab435be040a30ba9cb2d77246aaaca68e5a1 /libs/hwui/RenderNode.cpp | |
parent | 4f994eb2ddbe68b0eada89dcaae34c079df55c7e (diff) |
Add kModeSync
Bug: 16526750
Change-Id: I4c087160e80432739321172fd57880846c8de6e0
Diffstat (limited to 'libs/hwui/RenderNode.cpp')
-rw-r--r-- | libs/hwui/RenderNode.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp index 3eb779fdc509..32304dc9f7d7 100644 --- a/libs/hwui/RenderNode.cpp +++ b/libs/hwui/RenderNode.cpp @@ -78,7 +78,7 @@ void RenderNode::setStagingDisplayList(DisplayListData* data) { delete mStagingDisplayListData; mStagingDisplayListData = data; if (mStagingDisplayListData) { - Caches::getInstance().registerFunctors(mStagingDisplayListData->functorCount); + Caches::getInstance().registerFunctors(mStagingDisplayListData->functors.size()); } } @@ -254,6 +254,11 @@ void RenderNode::pushStagingDisplayListChanges(TreeInfo& info) { deleteDisplayListData(); mDisplayListData = mStagingDisplayListData; mStagingDisplayListData = NULL; + if (mDisplayListData) { + for (size_t i = 0; i < mDisplayListData->functors.size(); i++) { + (*mDisplayListData->functors[i])(DrawGlInfo::kModeSync, NULL); + } + } damageSelf(info); } } @@ -271,7 +276,7 @@ void RenderNode::deleteDisplayListData() { void RenderNode::prepareSubTree(TreeInfo& info, DisplayListData* subtree) { if (subtree) { TextureCache& cache = Caches::getInstance().textureCache; - info.out.hasFunctors |= subtree->functorCount; + info.out.hasFunctors |= subtree->functors.size(); // TODO: Fix ownedBitmapResources to not require disabling prepareTextures // and thus falling out of async drawing path. if (subtree->ownedBitmapResources.size()) { |