Merge "Add layer updates debugging feature to Skia pipelines"

This commit is contained in:
TreeHugger Robot
2016-11-16 22:13:41 +00:00
committed by Android (Google) Code Review
3 changed files with 10 additions and 0 deletions

View File

@@ -164,6 +164,14 @@ void RenderNodeDrawable::drawContent(SkCanvas* canvas) const {
paint = &tmpPaint;
}
renderNode->getLayerSurface()->draw(canvas, 0, 0, paint);
if (CC_UNLIKELY(Properties::debugLayersUpdates
&& !renderNode->getSkiaLayer()->hasRenderedSinceRepaint)) {
renderNode->getSkiaLayer()->hasRenderedSinceRepaint = true;
SkPaint layerPaint;
layerPaint.setColor(0x7f00ff00);
canvas->drawRect(bounds, layerPaint);
}
// composing a software layer with alpha
} else if (properties.effectiveLayerType() == LayerType::Software) {
SkPaint paint;

View File

@@ -30,6 +30,7 @@ struct SkiaLayer
{
sk_sp<SkSurface> layerSurface;
Matrix4 inverseTransformInWindow;
bool hasRenderedSinceRepaint = false;
};

View File

@@ -106,6 +106,7 @@ void SkiaPipeline::renderLayersImpl(const LayerUpdateQueue& layers, bool opaque)
return;
}
layerNode->getSkiaLayer()->hasRenderedSinceRepaint = false;
layerCanvas->clear(SK_ColorTRANSPARENT);
RenderNodeDrawable root(layerNode, layerCanvas, false);