diff options
author | John Reck <jreck@google.com> | 2014-07-16 22:01:36 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2014-07-16 02:20:34 +0000 |
commit | 514a8b88f7a57fd348dde193ee9ced0403deebd4 (patch) | |
tree | 6195fba62a46657d540162679ff671ce48b58473 /libs/hwui | |
parent | 7c673820d7fc981b7e30ae51cbcb767fab757796 (diff) | |
parent | 0a97330b98dd633b58dcfff405d94476c89e867d (diff) | |
download | frameworks_base-514a8b88f7a57fd348dde193ee9ced0403deebd4.zip frameworks_base-514a8b88f7a57fd348dde193ee9ced0403deebd4.tar.gz frameworks_base-514a8b88f7a57fd348dde193ee9ced0403deebd4.tar.bz2 |
Merge "Fix root RenderNode damage calculation" into lmp-dev
Diffstat (limited to 'libs/hwui')
-rw-r--r-- | libs/hwui/RenderNode.h | 4 | ||||
-rw-r--r-- | libs/hwui/renderthread/CanvasContext.cpp | 5 |
2 files changed, 6 insertions, 3 deletions
diff --git a/libs/hwui/RenderNode.h b/libs/hwui/RenderNode.h index 54fa143..8cc65b2 100644 --- a/libs/hwui/RenderNode.h +++ b/libs/hwui/RenderNode.h @@ -173,9 +173,6 @@ public: // UI thread only! ANDROID_API void addAnimator(const sp<BaseRenderNodeAnimator>& animator); -protected: - virtual void damageSelf(TreeInfo& info); - private: typedef key_value_pair_t<float, DrawRenderNodeOp*> ZDrawRenderNodeOpPair; @@ -250,6 +247,7 @@ private: void prepareLayer(TreeInfo& info); void pushLayerUpdate(TreeInfo& info); void deleteDisplayListData(); + void damageSelf(TreeInfo& info); void incParentRefCount() { mParentCount++; } void decParentRefCount(); diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp index 57279b7..a4ac262 100644 --- a/libs/hwui/renderthread/CanvasContext.cpp +++ b/libs/hwui/renderthread/CanvasContext.cpp @@ -185,6 +185,11 @@ void CanvasContext::draw() { } else if (!mDirtyRegionsEnabled || mHaveNewSurface) { dirty.setEmpty(); } else { + if (!dirty.intersect(0, 0, width, height)) { + ALOGW("Dirty " RECT_STRING " doesn't intersect with 0 0 %d %d ?", + SK_RECT_ARGS(dirty), width, height); + dirty.setEmpty(); + } profiler().unionDirty(&dirty); } |