diff options
author | Teng-Hui Zhu <ztenghui@google.com> | 2015-10-01 16:49:16 -0700 |
---|---|---|
committer | The Android Automerger <android-build@google.com> | 2015-11-04 13:00:20 -0800 |
commit | 12412ce87025d41e3cd3ac3f93f8638c6dae1b32 (patch) | |
tree | 3a0c23d2cc4d451820cf961acc11563ee307b06e /libs/hwui/RenderNode.cpp | |
parent | 067470f063e87bcff7f8fb06220d1ed3f4eda5e8 (diff) | |
download | frameworks_base-12412ce87025d41e3cd3ac3f93f8638c6dae1b32.zip frameworks_base-12412ce87025d41e3cd3ac3f93f8638c6dae1b32.tar.gz frameworks_base-12412ce87025d41e3cd3ac3f93f8638c6dae1b32.tar.bz2 |
Early return when the scale is 0.
b/24534579
Change-Id: Ib3581ec99387ca70ca036026f64857a49657d94b
(cherry picked from commit 8d0ec389531d071529fb0a800f10733b057205d9)
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 0951fc1..642ec25 100644 --- a/libs/hwui/RenderNode.cpp +++ b/libs/hwui/RenderNode.cpp @@ -666,7 +666,9 @@ template <class T> void RenderNode::issueDrawShadowOperation(const Matrix4& transformFromParent, T& handler) { if (properties().getAlpha() <= 0.0f || properties().getOutline().getAlpha() <= 0.0f - || !properties().getOutline().getPath()) { + || !properties().getOutline().getPath() + || properties().getScaleX() == 0 + || properties().getScaleY() == 0) { // no shadow to draw return; } @@ -856,7 +858,10 @@ void RenderNode::issueOperations(OpenGLRenderer& renderer, T& handler) { const bool useViewProperties = (!mLayer || drawLayer); if (useViewProperties) { const Outline& outline = properties().getOutline(); - if (properties().getAlpha() <= 0 || (outline.getShouldClip() && outline.isEmpty())) { + if (properties().getAlpha() <= 0 + || (outline.getShouldClip() && outline.isEmpty()) + || properties().getScaleX() == 0 + || properties().getScaleY() == 0) { DISPLAY_LIST_LOGD("%*sRejected display list (%p, %s)", handler.level() * 2, "", this, getName()); return; |