From 26131368ecc2e16dfb4965b9165632ee3ca4f1d9 Mon Sep 17 00:00:00 2001 From: ztenghui Date: Mon, 1 Sep 2014 17:19:51 -0700 Subject: Fix the (0,0) vector case for extra vertices computation TODO: Figure out why we have collided vertices from input polygon. b/17340792 Change-Id: I6636ff957ef17514bd11cf290ccc0a2c302aca0b --- libs/hwui/AmbientShadow.cpp | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'libs/hwui/AmbientShadow.cpp') diff --git a/libs/hwui/AmbientShadow.cpp b/libs/hwui/AmbientShadow.cpp index 7834ef85c750..4873479fdf17 100644 --- a/libs/hwui/AmbientShadow.cpp +++ b/libs/hwui/AmbientShadow.cpp @@ -93,6 +93,10 @@ inline float getTransformedAlphaFromFactoredZ(float factoredZ) { inline int getExtraVertexNumber(const Vector2& vector1, const Vector2& vector2, float divisor) { + // When there is no distance difference, there is no need for extra vertices. + if (vector1.lengthSquared() == 0 || vector2.lengthSquared() == 0) { + return 0; + } // The formula is : // extraNumber = floor(acos(dot(n1, n2)) / (M_PI / EXTRA_VERTEX_PER_PI)) // The value ranges for each step are: -- cgit v1.2.3-59-g8ed1b