Promote RenderProperties with an alpha to have a RenderLayer
bug:20254728
Change-Id: I0bd1d440fe46683b291d4c8ab07a630c34b2eadc
diff --git a/libs/hwui/RenderProperties.cpp b/libs/hwui/RenderProperties.cpp
index 9f1ceed..0ed3c47 100644
--- a/libs/hwui/RenderProperties.cpp
+++ b/libs/hwui/RenderProperties.cpp
@@ -144,27 +144,16 @@
}
}
- const bool isLayer = layerProperties().type() != LayerType::None;
+ const bool isLayer = effectiveLayerType() != LayerType::None;
int clipFlags = getClippingFlags();
if (mPrimitiveFields.mAlpha < 1) {
if (isLayer) {
clipFlags &= ~CLIP_TO_BOUNDS; // bounds clipping done by layer
ALOGD("%*sSetOverrideLayerAlpha %.2f", level * 2, "", mPrimitiveFields.mAlpha);
- } else if (!mPrimitiveFields.mHasOverlappingRendering) {
- ALOGD("%*sScaleAlpha %.2f", level * 2, "", mPrimitiveFields.mAlpha);
} else {
- Rect layerBounds(0, 0, getWidth(), getHeight());
- int saveFlags = SkCanvas::kHasAlphaLayer_SaveFlag;
- if (clipFlags) {
- saveFlags |= SkCanvas::kClipToLayer_SaveFlag;
- getClippingRectForFlags(clipFlags, &layerBounds);
- clipFlags = 0; // all clipping done by saveLayer
- }
-
- ALOGD("%*sSaveLayerAlpha %d, %d, %d, %d, %d, 0x%x", level * 2, "",
- (int)layerBounds.left, (int)layerBounds.top, (int)layerBounds.right, (int)layerBounds.bottom,
- (int)(mPrimitiveFields.mAlpha * 255), saveFlags);
+ LOG_ALWAYS_FATAL_IF(mPrimitiveFields.mHasOverlappingRendering);
+ ALOGD("%*sScaleAlpha %.2f", level * 2, "", mPrimitiveFields.mAlpha);
}
}
if (clipFlags) {