summaryrefslogtreecommitdiffstats
path: root/libs/hwui
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2014-03-25 17:46:18 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-03-25 17:46:18 +0000
commitbcad68ad80e5a44e5dc6988eddb8acabdc01a737 (patch)
tree58d875af72f19dca8891360fac86b139c0464217 /libs/hwui
parent632717e60990b900e6d20dddd3935a57dd6a8fa6 (diff)
parentbfb07a03777af424e99bca1dac4c903aaf44e99d (diff)
downloadframeworks_base-bcad68ad80e5a44e5dc6988eddb8acabdc01a737.zip
frameworks_base-bcad68ad80e5a44e5dc6988eddb8acabdc01a737.tar.gz
frameworks_base-bcad68ad80e5a44e5dc6988eddb8acabdc01a737.tar.bz2
Merge "Move where updateProperties is called"
Diffstat (limited to 'libs/hwui')
-rw-r--r--libs/hwui/DeferredLayerUpdater.cpp1
-rw-r--r--libs/hwui/Layer.cpp1
-rw-r--r--libs/hwui/OpenGLRenderer.cpp1
-rw-r--r--libs/hwui/RenderNode.h2
-rw-r--r--libs/hwui/renderthread/CanvasContext.cpp2
5 files changed, 4 insertions, 3 deletions
diff --git a/libs/hwui/DeferredLayerUpdater.cpp b/libs/hwui/DeferredLayerUpdater.cpp
index 7a83967..7380bbf 100644
--- a/libs/hwui/DeferredLayerUpdater.cpp
+++ b/libs/hwui/DeferredLayerUpdater.cpp
@@ -75,6 +75,7 @@ bool DeferredLayerUpdater::apply() {
success = LayerRenderer::resizeLayer(mLayer, mWidth, mHeight);
}
mLayer->setBlend(mBlend);
+ mDisplayList->updateProperties();
mLayer->updateDeferred(mRenderer, mDisplayList,
mDirtyRect.left, mDirtyRect.top, mDirtyRect.right, mDirtyRect.bottom);
mDirtyRect.setEmpty();
diff --git a/libs/hwui/Layer.cpp b/libs/hwui/Layer.cpp
index 3f6c7df..bd9bfe9 100644
--- a/libs/hwui/Layer.cpp
+++ b/libs/hwui/Layer.cpp
@@ -200,7 +200,6 @@ void Layer::defer() {
renderer->setupFrameState(dirtyRect.left, dirtyRect.top,
dirtyRect.right, dirtyRect.bottom, !isBlend());
- displayList->updateProperties();
displayList->computeOrdering();
displayList->defer(deferredState, 0);
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp
index 5ef8abb..cdd789d 100644
--- a/libs/hwui/OpenGLRenderer.cpp
+++ b/libs/hwui/OpenGLRenderer.cpp
@@ -1919,7 +1919,6 @@ status_t OpenGLRenderer::drawDisplayList(RenderNode* displayList, Rect& dirty,
// will be performed by the display list itself
if (displayList && displayList->isRenderable()) {
// compute 3d ordering
- displayList->updateProperties();
displayList->computeOrdering();
if (CC_UNLIKELY(mCaches.drawDeferDisabled)) {
status = startFrame();
diff --git a/libs/hwui/RenderNode.h b/libs/hwui/RenderNode.h
index 9a7f9b4..756c944 100644
--- a/libs/hwui/RenderNode.h
+++ b/libs/hwui/RenderNode.h
@@ -137,7 +137,7 @@ public:
return properties().getHeight();
}
- void updateProperties();
+ ANDROID_API void updateProperties();
private:
typedef key_value_pair_t<float, DrawDisplayListOp*> ZDrawDisplayListOpPair;
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp
index 8ebffc2..b3b4173 100644
--- a/libs/hwui/renderthread/CanvasContext.cpp
+++ b/libs/hwui/renderthread/CanvasContext.cpp
@@ -392,6 +392,8 @@ void CanvasContext::drawDisplayList(RenderNode* displayList, Rect* dirty) {
LOG_ALWAYS_FATAL_IF(!mCanvas || mEglSurface == EGL_NO_SURFACE,
"drawDisplayList called on a context with no canvas or surface!");
+ displayList->updateProperties();
+
EGLint width, height;
mGlobalContext->beginFrame(mEglSurface, &width, &height);
if (width != mCanvas->getViewportWidth() || height != mCanvas->getViewportHeight()) {