diff options
| author | 2015-11-04 19:40:02 +0000 | |
|---|---|---|
| committer | 2015-11-04 19:40:02 +0000 | |
| commit | a853bb450ce7e6f06220a86dcc171a837d30511b (patch) | |
| tree | 3b6d833fa8c2bf07a16ab54749543cec260b4cf0 /libs/hwui/RenderNode.cpp | |
| parent | 1938c39f77a52c1058e7b2434bdc5d08ed9053b9 (diff) | |
| parent | 8b581e2bc797d3b470ad7ff3d362a998b42da4ea (diff) | |
Merge "Early return when the scale is 0." into mnc-dr-dev am: 10eb6ab94b
am: 8b581e2bc7
* commit '8b581e2bc797d3b470ad7ff3d362a998b42da4ea':
Early return when the scale is 0.
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 0951fc158ace..642ec25dfe83 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; |