@@ -763,16 +763,17 @@ void DisplayList::outputViewProperties(OpenGLRenderer& renderer, char* indent) {
763763 }
764764 }
765765 if (mAlpha < 1 && !mCaching ) {
766- // TODO: should be able to store the size of a DL at record time and not
767- // have to pass it into this call. In fact, this information might be in the
768- // location/size info that we store with the new native transform data.
769- int flags = SkCanvas::kHasAlphaLayer_SaveFlag ;
770- if (mClipChildren ) {
771- flags |= SkCanvas::kClipToLayer_SaveFlag ;
766+ if (!mHasOverlappingRendering ) {
767+ ALOGD (" %s%s %.2f" , indent, " SetAlpha" , mAlpha );
768+ } else {
769+ int flags = SkCanvas::kHasAlphaLayer_SaveFlag ;
770+ if (mClipChildren ) {
771+ flags |= SkCanvas::kClipToLayer_SaveFlag ;
772+ }
773+ ALOGD (" %s%s %.2f, %.2f, %.2f, %.2f, %d, 0x%x" , indent, " SaveLayerAlpha" ,
774+ (float ) 0 , (float ) 0 , (float ) mRight - mLeft , (float ) mBottom - mTop ,
775+ mMultipliedAlpha , flags);
772776 }
773- ALOGD (" %s%s %.2f, %.2f, %.2f, %.2f, %d, 0x%x" , indent, " SaveLayerAlpha" ,
774- (float ) 0 , (float ) 0 , (float ) mRight - mLeft , (float ) mBottom - mTop ,
775- mMultipliedAlpha , flags);
776777 }
777778 if (mClipChildren ) {
778779 ALOGD (" %s%s %.2f, %.2f, %.2f, %.2f" , indent, " ClipRect" , 0 .0f , 0 .0f ,
0 commit comments