diff options
author | Teng-Hui Zhu <ztenghui@google.com> | 2015-11-04 16:57:53 -0800 |
---|---|---|
committer | Alexander Martinz <alexander.martinz@nameless-rom.org> | 2015-11-10 11:06:29 -0800 |
commit | 86b02d86695d057731e4c4c07617f98785f43bf9 (patch) | |
tree | a94a45517d197e603b3d15e63392c3368066818b | |
parent | 1b62ba49d4174179d170493dd3c888f572eccda7 (diff) | |
download | frameworks_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
-rw-r--r-- | libs/hwui/ShadowTessellator.cpp | 5 |
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 |