summaryrefslogtreecommitdiff
path: root/libs/hwui/FrameInfoVisualizer.cpp
diff options
context:
space:
mode:
authorMatt Sarett <msarett@google.com>2016-10-25 11:07:40 -0400
committerMatt Sarett <msarett@google.com>2016-10-25 17:44:55 -0400
commitde97307362c26b64e2376b21ccde8414088cdc8b (patch)
treede9191b92f6d2a003486ad265dc1c8c1420db315 /libs/hwui/FrameInfoVisualizer.cpp
parentd80812b8823ee62932d5da24417112c471468b8c (diff)
Make FrameInfoVisualizer use an IRenderPipeline to draw
Removing the direct uses of the BakedOpRenderer should make it easier for the SkiaGL pipeline to take advantage of these debugging features. Test: Verified that debug.hwui.show_dirty_regions and debug.hwui.profile still behave as expected. BUG:32370375 Change-Id: I2818bda4a18ec183c9c39ca080ad34a4dc89b5cd
Diffstat (limited to 'libs/hwui/FrameInfoVisualizer.cpp')
-rw-r--r--libs/hwui/FrameInfoVisualizer.cpp25
1 files changed, 13 insertions, 12 deletions
diff --git a/libs/hwui/FrameInfoVisualizer.cpp b/libs/hwui/FrameInfoVisualizer.cpp
index 570322dfb4eb..d3adc32da848 100644
--- a/libs/hwui/FrameInfoVisualizer.cpp
+++ b/libs/hwui/FrameInfoVisualizer.cpp
@@ -16,6 +16,7 @@
#include "FrameInfoVisualizer.h"
#include "BakedOpRenderer.h"
+#include "IProfileRenderer.h"
#include "utils/Color.h"
#include <cutils/compiler.h>
@@ -88,7 +89,7 @@ void FrameInfoVisualizer::unionDirty(SkRect* dirty) {
}
}
-void FrameInfoVisualizer::draw(ContentRenderer* renderer) {
+void FrameInfoVisualizer::draw(IProfileRenderer& renderer) {
RETURN_IF_DISABLED();
if (mShowDirtyRegions) {
@@ -96,8 +97,8 @@ void FrameInfoVisualizer::draw(ContentRenderer* renderer) {
if (mFlashToggle) {
SkPaint paint;
paint.setColor(0x7fff0000);
- renderer->drawRect(mDirtyRegion.fLeft, mDirtyRegion.fTop,
- mDirtyRegion.fRight, mDirtyRegion.fBottom, &paint);
+ renderer.drawRect(mDirtyRegion.fLeft, mDirtyRegion.fTop,
+ mDirtyRegion.fRight, mDirtyRegion.fBottom, paint);
}
}
@@ -111,7 +112,7 @@ void FrameInfoVisualizer::draw(ContentRenderer* renderer) {
info.markSwapBuffers();
info.markFrameCompleted();
- initializeRects(renderer->getViewportHeight(), renderer->getViewportWidth());
+ initializeRects(renderer.getViewportHeight(), renderer.getViewportWidth());
drawGraph(renderer);
drawThreshold(renderer);
}
@@ -194,26 +195,26 @@ void FrameInfoVisualizer::nextBarSegment(FrameInfoIndex start, FrameInfoIndex en
}
}
-void FrameInfoVisualizer::drawGraph(ContentRenderer* renderer) {
+void FrameInfoVisualizer::drawGraph(IProfileRenderer& renderer) {
SkPaint paint;
for (size_t i = 0; i < Bar.size(); i++) {
nextBarSegment(Bar[i].start, Bar[i].end);
paint.setColor(Bar[i].color & BAR_FAST_MASK);
- renderer->drawRects(mFastRects.get(), mNumFastRects * 4, &paint);
+ renderer.drawRects(mFastRects.get(), mNumFastRects * 4, paint);
paint.setColor(Bar[i].color & BAR_JANKY_MASK);
- renderer->drawRects(mJankyRects.get(), mNumJankyRects * 4, &paint);
+ renderer.drawRects(mJankyRects.get(), mNumJankyRects * 4, paint);
}
}
-void FrameInfoVisualizer::drawThreshold(ContentRenderer* renderer) {
+void FrameInfoVisualizer::drawThreshold(IProfileRenderer& renderer) {
SkPaint paint;
paint.setColor(THRESHOLD_COLOR);
- float yLocation = renderer->getViewportHeight() - (FRAME_THRESHOLD * mVerticalUnit);
- renderer->drawRect(0.0f,
+ float yLocation = renderer.getViewportHeight() - (FRAME_THRESHOLD * mVerticalUnit);
+ renderer.drawRect(0.0f,
yLocation - mThresholdStroke/2,
- renderer->getViewportWidth(),
+ renderer.getViewportWidth(),
yLocation + mThresholdStroke/2,
- &paint);
+ paint);
}
bool FrameInfoVisualizer::consumeProperties() {