diff options
| author | 2014-03-28 18:00:02 +0000 | |
|---|---|---|
| committer | 2014-03-28 18:00:03 +0000 | |
| commit | 08c96b5515f061f61e13b348f6022ce7c586e4c4 (patch) | |
| tree | 1644ff53adbf7fc55aecc2720faa9727d9d0de43 /libs/hwui/OpenGLRenderer.cpp | |
| parent | 83ee4429f13896c82f3f29c8164888f1f6fe8309 (diff) | |
| parent | 024433f89684e1f9cb7b15ade7c480c9346fbe4d (diff) | |
Merge "Disable shadow overdraw avoidance in the inverse clip case"
Diffstat (limited to 'libs/hwui/OpenGLRenderer.cpp')
| -rw-r--r-- | libs/hwui/OpenGLRenderer.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libs/hwui/OpenGLRenderer.cpp b/libs/hwui/OpenGLRenderer.cpp index d8087355668d..619f331a5f92 100644 --- a/libs/hwui/OpenGLRenderer.cpp +++ b/libs/hwui/OpenGLRenderer.cpp @@ -3203,7 +3203,7 @@ static void mapPointFakeZ(Vector3& point, const mat4& transformXY, const mat4& t } status_t OpenGLRenderer::drawShadow(const mat4& casterTransformXY, const mat4& casterTransformZ, - float casterAlpha, const SkPath* casterPerimeter) { + float casterAlpha, bool casterUnclipped, const SkPath* casterPerimeter) { if (currentSnapshot()->isIgnored()) return DrawGlInfo::kStatusDone; // TODO: use quickRejectWithScissor. For now, always force enable scissor. @@ -3260,7 +3260,7 @@ status_t OpenGLRenderer::drawShadow(const mat4& casterTransformXY, const mat4& c Rect casterBounds(casterPerimeter->getBounds()); casterTransformXY.mapRect(casterBounds); - bool isCasterOpaque = (casterAlpha == 1.0f); + bool isCasterOpaque = (casterAlpha == 1.0f) && casterUnclipped; // draw caster's shadows if (mCaches.propertyAmbientShadowStrength > 0) { paint.setARGB(casterAlpha * mCaches.propertyAmbientShadowStrength, 0, 0, 0); |