summaryrefslogtreecommitdiffstats
path: root/libs/hwui
diff options
context:
space:
mode:
authorJohn Reck <jreck@google.com>2014-07-16 22:01:36 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2014-07-16 02:20:34 +0000
commit514a8b88f7a57fd348dde193ee9ced0403deebd4 (patch)
tree6195fba62a46657d540162679ff671ce48b58473 /libs/hwui
parent7c673820d7fc981b7e30ae51cbcb767fab757796 (diff)
parent0a97330b98dd633b58dcfff405d94476c89e867d (diff)
downloadframeworks_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.h4
-rw-r--r--libs/hwui/renderthread/CanvasContext.cpp5
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);
}