summaryrefslogtreecommitdiffstats
path: root/libs
diff options
context:
space:
mode:
authorTeng-Hui Zhu <ztenghui@google.com>2015-11-04 16:57:53 -0800
committerAlexander Martinz <alexander.martinz@nameless-rom.org>2015-11-10 11:06:29 -0800
commit86b02d86695d057731e4c4c07617f98785f43bf9 (patch)
treea94a45517d197e603b3d15e63392c3368066818b /libs
parent1b62ba49d4174179d170493dd3c888f572eccda7 (diff)
downloadframeworks_base-86b02d86695d057731e4c4c07617f98785f43bf9.zip
frameworks_base-86b02d86695d057731e4c4c07617f98785f43bf9.tar.gz
frameworks_base-86b02d86695d057731e4c4c07617f98785f43bf9.tar.bz2
When the incoming light source is invalid, don't generate any shadow
b/25417885 Change-Id: I4b87e35ca68091fd0409cb9fe9b9400af860a507
Diffstat (limited to 'libs')
-rw-r--r--libs/hwui/ShadowTessellator.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/libs/hwui/ShadowTessellator.cpp b/libs/hwui/ShadowTessellator.cpp
index 09d1258..595c10c 100644
--- a/libs/hwui/ShadowTessellator.cpp
+++ b/libs/hwui/ShadowTessellator.cpp
@@ -80,6 +80,11 @@ void ShadowTessellator::tessellateSpotShadow(bool isCasterOpaque,
ALOGD("light center %f %f %f",
adjustedLightCenter.x, adjustedLightCenter.y, adjustedLightCenter.z);
#endif
+ if (isnan(adjustedLightCenter.x)
+ || isnan(adjustedLightCenter.y)
+ || isnan(adjustedLightCenter.z)) {
+ return;
+ }
// light position (because it's in local space) needs to compensate for receiver transform
// TODO: should apply to light orientation, not just position