diff options
author | Matt Sarett <msarett@google.com> | 2016-11-30 16:51:21 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2016-11-30 16:51:24 +0000 |
commit | 711b6aec9ae2ccc36d95cb5c3aa74b550fe6496f (patch) | |
tree | e725617de8074ba23a224e35495533ba5130abcf /libs/hwui/pipeline/skia/RenderNodeDrawable.cpp | |
parent | ffbaf9a06e7605f30ecc0644bd6c2c8785f5846f (diff) | |
parent | f58cc92066903b900396f640159ea3ea992fc67d (diff) |
Merge "Add overdraw debugging feature to Skia pipelines"
Diffstat (limited to 'libs/hwui/pipeline/skia/RenderNodeDrawable.cpp')
-rw-r--r-- | libs/hwui/pipeline/skia/RenderNodeDrawable.cpp | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp b/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp index da9002d01bb7..4b34c7c45c74 100644 --- a/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp +++ b/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp @@ -174,13 +174,22 @@ void RenderNodeDrawable::drawContent(SkCanvas* canvas) const { } renderNode->getLayerSurface()->draw(canvas, 0, 0, paint); - if (CC_UNLIKELY(Properties::debugLayersUpdates - && !renderNode->getSkiaLayer()->hasRenderedSinceRepaint)) { + if (!renderNode->getSkiaLayer()->hasRenderedSinceRepaint) { renderNode->getSkiaLayer()->hasRenderedSinceRepaint = true; - SkPaint layerPaint; - layerPaint.setColor(0x7f00ff00); - canvas->drawRect(bounds, layerPaint); + if (CC_UNLIKELY(Properties::debugLayersUpdates)) { + SkPaint layerPaint; + layerPaint.setColor(0x7f00ff00); + canvas->drawRect(bounds, layerPaint); + } else if (CC_UNLIKELY(Properties::debugOverdraw)) { + // Render transparent rect to increment overdraw for repaint area. + // This can be "else if" because flashing green on layer updates + // will also increment the overdraw if it happens to be turned on. + SkPaint transparentPaint; + transparentPaint.setColor(SK_ColorTRANSPARENT); + canvas->drawRect(bounds, transparentPaint); + } } + // composing a software layer with alpha } else if (properties.effectiveLayerType() == LayerType::Software) { SkPaint paint; |